【解決】サーチコンソールの feed を除外する手順|WordPress

ソフトウエア

<景品表示法に基づく表記> 本サイトのコンテンツには、商品プロモーションが含まれている場合があります。

知りたいこと。解決できること
  • カバレッジでfeed が大量にインデックス未登録されている。対応方法が知りたい
  • カバレッジの除外の数値が大きくなっている。対応方法がしりたい。

この疑問に回答します。WordPressのサイトを長年運用しているとGoogle Search Consoleにエラーや警告などのネガティブ情報が記録されます。

ほとんどの場合はGoogleが正しく判断し影響を受けないように対応してくれるので放置で構いません。ただ例外もあります。

放置しているとサイトの評価が下がる場合もあるので正しく認識し、正しく対策を行う必要があります。

実は、Search Console の「クロール済み – インデックス未登録」に表示される「feed」は対策不要です。このページに辿り着いたユーザーには肩透かしの回答かもしれません。

しかし、Feedがインデックス未登録に表示されていると、低品質評価と判断された記事が埋没します。

Feedを除外したほうが有益なので対策を行いましょう。

サーチコンソールで feed(フィード) を確認する

カバレッジの確認

ウェブページを長年運用すると「カバレッジ」-「除外」-「クロール済み – インデックス未登録」に「feed」が大量に登録されていると思います。

サイトの状況を Google Search Console で確認します。

「カバレッジ」-「除外」-「クロール済み – インデックス未登録」
「カバレッジ」-「除外」-「クロール済み – インデックス未登録」

カバレッジ」-「除外」-「クロール済み – インデックス未登録」をクリックすると詳細にリストが表示されます。

「カバレッジ」-「除外」-「クロール済み – インデックス未登録」
「カバレッジ」-「除外」-「クロール済み – インデックス未登録」

詳細を確認すると、URLの最後が「feed」となっているページが大量に検出されています。

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」で制御します。

XMLとは?HTMLとよく似た構造なので、混同しがちです。違いを理解するのは難しいので、用途の違いと覚えてください。XMLは文章中の文字列を構造化しコンピューターが理解しやすいもの。HTMLは文章を構造化し人間が理解しやすいもの。
X-Robots-Tag: noindex による制御
X-Robots-Tag: noindex による制御

出典:robots メタタグ、data-nosnippet、X-Robots-Tag の仕様

X-Robots-Tag: noindex」を付与することでfeedにnoindexが設定されます。これで「クロール済み – インデックス未登録」に表示されなくなります。

プラグインを利用してnoindexを付ける

プラグインを利用することでnoindexを付与することが簡単にできます。しかし、feedにnoindexを付けるだけにプラグイン導入は間違っています。

すでに利用しているプラグインであれば、利用するぐらいのものです。

WordPressで多く利用されている「All in One SEO Pack」であれば、デフォルトでfeedにnoindexが入るようになっています。

X-Robots-Tag: noindex による制御
X-Robots-Tag: 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でブロックする設定を行ってみました。

Feedをrobots.txtでブロックするは間違い
Feedをrobots.txtでブロックするは間違い

Google Search Consoleのカバレッジにてエラーが出力されるようになりました。

そのため、Feedをrobots.txtでブロック設定を解除しましたが、エラーが消えるまで3,4カ月ほどかかりました。

robots.txt によりブロックされましたが、インデックスに登録しました

Feedをrobots.txtでブロックは実施しないことをお勧めします。

まとめ

サーチコンソールのカバレッジに表示される feed は対策をしなくても大丈夫です。

Googleがfeedは大切だから利用することを推奨しています。カバレッジにfeedが表示されますが自動的に判断して除外してくれます。

ただし、「クロール済み – インデックス未登録」に表示され続けます。結果、対策を行う必要があるコンテンツが埋もれてしまいます。

noindex設定が反映するのに時間が掛かります
noindex設定が反映するのに時間が掛かります

noindexを付けて検出されないように設定を行いましょう。設定が反映するのに時間が掛かりますが、徐々に減ってきます。

RSSフィードを robots.txt でブロックする手法は間違いです。ロボットにクロールさせてnoindexとして処理するようにしましょう。