- カバレッジでfeed が大量にインデックス未登録されている。対応方法が知りたい
- カバレッジの除外の数値が大きくなっている。対応方法がしりたい。
この疑問に回答します。WordPressのサイトを長年運用しているとGoogle Search Consoleにエラーや警告などのネガティブ情報が記録されます。
ほとんどの場合はGoogleが正しく判断し影響を受けないように対応してくれるので放置で構いません。ただ例外もあります。
放置しているとサイトの評価が下がる場合もあるので正しく認識し、正しく対策を行う必要があります。
実は、Search Console の「クロール済み – インデックス未登録」に表示される「feed」は対策不要です。このページに辿り着いたユーザーには肩透かしの回答かもしれません。
しかし、Feedがインデックス未登録に表示されていると、低品質評価と判断された記事が埋没します。
Feedを除外したほうが有益なので対策を行いましょう。
サーチコンソールで feed(フィード) を確認する
カバレッジの確認
ウェブページを長年運用すると「カバレッジ」-「除外」-「クロール済み – インデックス未登録」に「feed」が大量に登録されていると思います。
サイトの状況を Google Search Console で確認します。
「カバレッジ」-「除外」-「クロール済み – インデックス未登録」をクリックすると詳細にリストが表示されます。
詳細を確認すると、URLの最後が「feed」となっているページが大量に検出されています。
WordPressは、Feedページを自動的に作成します。記事ページ以外にもカテゴリ、タグなどにも自動作成しています。
- 記事ページ feed
- カテゴリー feed
- タグ feed
「クロール済み – インデックス未登録」は、低品質コンテンツと判断されるので注意が必要です。
「クロール済み – インデックス未登録」は低品質コンテンツ?
「クロール済み – インデックス未登録」に分類されたら全てが「低品質コンテンツ」ではないことを理解してください。
内容を見極める条件を把握すれば怖いものではありません。
- 記事コンテンツ
- カテゴリーページ
- タグページ
「クロール済み – インデックス未登録」に表示され低品質コンテンツと見なされている場合の対策は次の通りです。
- 記事を再編集し高品質に改善
- 記事を削除
- noindexを設定しインデックスから除外
- feed(フィード)ページ
- 分割ページ
低品質コンテンツと認識されないページは、基本的に対策をしなくても大丈夫です。何もしなくてもプラスにもマイナスにも働かないってことです。
feedページへの対策 | 何もしない
Feedページは低品質コンテンツと見なされないので対策不要です。ただし、リストに表示され続けるので邪魔です。noindexを付ける対策を行ったほうがよいと思います。
noindex でインデックスさせない
Feedは重要なページだとGoogleが説明しています。「feedを作らない」という間違った判断は行わないようにしてください。
最適なクロールのために、XMLサイトマップとRSS / Atomフィードの両方を使用することをお勧めします。
Google Feeds Team:Best practices for XML sitemaps & RSS/Atom feeds
Google Search Consoleの「クロール済み – インデックス未登録」にfeedが大量に出力されていると、本当に改善が必要なコンテンツが埋もれてしまいます。
必要が無いものは表示されないようにnoindexを付与して表示されないようにしましょう。
FeedページはXMLで記述されています。HTMLのようにヘッダーにメタ情報を付与することができません。「X-Robots-Tag」で制御します。
出典:robots メタタグ、data-nosnippet、X-Robots-Tag の仕様
「X-Robots-Tag: noindex」を付与することでfeedにnoindexが設定されます。これで「クロール済み – インデックス未登録」に表示されなくなります。
プラグインを利用してnoindexを付ける
プラグインを利用することでnoindexを付与することが簡単にできます。しかし、feedにnoindexを付けるだけにプラグイン導入は間違っています。
すでに利用しているプラグインであれば、利用するぐらいのものです。
WordPressで多く利用されている「All in One SEO Pack」であれば、デフォルトでfeedにnoindexが入るようになっています。
functions.phpを利用してnoindexを付ける
プラグイン無しでnoindexを付けたい場合は多いと思います。私もそうです。noindex設定を追加する場合は、functions.php
にコードを追加することで対応が可能です。
// X-Robots-Tagを利用して feed に noindex を付与する add_action('template_redirect', function(){ if ( is_feed() && headers_sent() === false ) { header( 'X-Robots-Tag: noindex, follow', true ); } });
コピペするだけで利用できます。
robots.txt でブロックするは間違い
Feedは重要なページだとGoogleが説明しています。「feedをブロック」という間違った判断は行わないようにしてください。
最適なクロールのために、XMLサイトマップとRSS / Atomフィードの両方を使用することをお勧めします。
Google Feeds Team:Best practices for XML sitemaps & RSS/Atom feeds
feedページはクロール対象にするべきです。
robots.txtでブロックする手順が解説されていますが実施しないでください。
robots.txt
を修正する。
User-Agent: * Disallow: /feed$ Disallow: /*/feed$
このように解説したサイトを見かけます。詳しく記述されていませんが「$」の意味はわかりますか?
「$」は正規表現で「行末」って意味です。
試しにFeedをrobots.txtでブロックする設定を行ってみました。
Google Search Consoleのカバレッジにてエラーが出力されるようになりました。
そのため、Feedをrobots.txtでブロック設定を解除しましたが、エラーが消えるまで3,4カ月ほどかかりました。
robots.txt によりブロックされましたが、インデックスに登録しました
Feedをrobots.txtでブロックは実施しないことをお勧めします。
まとめ
サーチコンソールのカバレッジに表示される feed は対策をしなくても大丈夫です。
Googleがfeedは大切だから利用することを推奨しています。カバレッジにfeedが表示されますが自動的に判断して除外してくれます。
ただし、「クロール済み – インデックス未登録」に表示され続けます。結果、対策を行う必要があるコンテンツが埋もれてしまいます。
noindexを付けて検出されないように設定を行いましょう。設定が反映するのに時間が掛かりますが、徐々に減ってきます。
RSSフィードを robots.txt でブロックする手法は間違いです。ロボットにクロールさせてnoindexとして処理するようにしましょう。