【WP】Search Consoleで、/feed/が大量にインデックス未登録になる問題

  • 投稿 : 2020-02-05
  • 更新 : 2020-06-08
試す場合は、自己責任で!!
noindex属性を付与してるので、間違いがあると関係ないものまでインデックスされなくなります。

状況まとめ

・記事URL/feed/が大量にインデックス未登録になる =>正常動作で問題ない
・記事URL/feed/は、コメント欄があると生成される、コメントfeedだと思われる

おそらく、現状のままで問題ないとは思う。

参考:サーチコンソールの除外が大量に発生している件について - Search Console ヘルプ

※Wordpressの場合は、コメント欄をつけると、コメント欄用のRSS(FEED)ができるのでそのようなURLが存在する。

どうしようか?!

(1)除外 クロール済み - インデックス未登録
(2)除外 noindex タグによって除外されました

現状、サーチコンソールで(1)に分類されるので、記事数が大量にあると、インデックスもれを調べるのに、大量の/feed/のURLが邪魔なんですね。

そこで(2)に分類できないか?

解決方法

robots メタタグ、data-nosnippet、X-Robots-Tag の仕様  |  検索  |  Google Developers

HTTPヘッダーに X-Robots-Tag: noindex, followを追加すればOKのようです。

All In One SEO Pack
Yoast SEO

どうも、上記のWordpressのプラグインでは実現できてるようなので、プラグインを導入して設定すればOKかと思います。

ただし、個人的にはこの手のプラグインを入れたくないので、自前で実装することに

方法

 
add_action('template_redirect',function(){
    if ( is_feed() && headers_sent() === false ) {
         header( 'X-Robots-Tag: noindex, follow', true );
    }
    });

上記を、テーマファイルのfunction.phpに追記してください。

補足

all-in-one-seo-pack/public/front.phpの38行目のnoindex_follow_rssを参考にしました。

template_redirect | フック| WordPress開発者向けリソース
関数リファレンス/is feed - WordPress Codex 日本語版
PHP: headers_sent - Manual
PHP: header - Manual

上記あたりをみれば、何をやってるかは理解できると思います。
あと、PHPの無名関数を使ってます。

動作確認

wp-search-console-feed01.jpg

サーチコンソールで、該当するURLの1つを、URLテスト(ライブテスト)を行ってみて、上記のようになっていたら成功してると思います。

wp-search-console-feed02.jpg

あと、Chrome等のブラウザで直接httpヘッダーを確認してもよいかも。

その後の状況

wp-search-console-feed03.png

追記:2020/06/08

「X-Robots-Tag: noindex, follow」路線で、Search Consoleを数か月様子をみてると、記事URL/feed/が、「クロール済み - インデックス未登録」から「noindex タグによって除外されました」項目に徐々に移動していってました。

こちらが期待した動作をしているようです。

スポンサーリンク