X-Robots-Tagを使い feed に noindex を設定する方法

WordPressサイトの RSS フィードや Atom フィードに対して、検索エンジンにインデックスさせたくない場合、X-Robots-Tag ヘッダーを使って noindex を設定する方法を解説します。

1 実装のポイント

  • functions.php にコードを追加して feed のヘッダーを制御
  • RSS/Atom feed のみを対象に noindex を付与

2 functions.php に追加するコード


//-------------------------------------------
// feed に対して X-Robots-Tag を追加
//-------------------------------------------
function add_feed_noindex_header() {
    if (is_feed()) {
        header('X-Robots-Tag: noindex, follow', true);
    }
}
add_action('send_headers', 'add_feed_noindex_header');
  
補足:
① このコードは functions.php の末尾に追加してください。
② RSS や Atom フィードにアクセスした際、検索エンジンにインデックスされないように X-Robots-Tag: noindex ヘッダーを送信します。
③ feed のみを対象にしているため、通常のページや投稿には影響しません。

3 使い方の例

必要に応じて、記事や固定ページに「このフィードは noindex です」と表示したい場合は、以下のようにショートコード [feed_noindex_message] で メッセージを表示可能です:


function feed_noindex_message_shortcode() {
    return <div class="feed-noindex-message">このフィードは検索エンジンにインデックスされません。</div>;
}
add_shortcode('feed_noindex_message', 'feed_noindex_message_shortcode');
  

記事内で表示する場合:


[feed_noindex_message]
  

4 関連記事リンク

WordPressサイトでrobots.txtの最適化とGoogleクロール対策の方法

wp-sitemap.xmlとsitemap.xmlの違いとは?【WordPressユーザー必見】

5 まとめ

  • functions.php に X-Robots-Tag を追加するだけで feed に noindex を付与可能
  • 通常の投稿やページには影響せず、RSS/Atom のみを対象に制御
  • ショートコードを使えば、ユーザーに表示メッセージも簡単に出せる

この方法を使えば、feed のインデックス制御を安全かつ簡単に実装できます。