ある日、「Google Search Console Team」から1通のメールを受け取りました。
タイトルは、『サイト https://○○○/ で「インデックス カバレッジ」の問題が新たに検出されました』となっています。
(その後、別のサイトに届いたメールには、『サイトhttps://○○○/ で「対象範囲」の問題が新たに検出されました』となっており、現在は、対象範囲という文言が使用されているのかもしれません。)
メール本文を読んでみますと、以下のような文面でした。
Search Console により、貴サイトに影響する「インデックス カバレッジ」関連の問題が新たに 1 件検出されました。 「インデックス カバレッジ」は Google 検索結果で悪影響を受ける可能性がございます。 この問題をご確認のうえ、修正することをご検討ください。
新たに検出された問題:
robots.txt によりブロックされましたが、インデックスに登録しました
確かに、対象サイトは、Wordpressサイトであり、カテゴリーページなどインデックスされたくないページは、robots.txtで弾いているのですが、文面によると、robots.txtで弾いているページがインデックスされているという警告のようです。
早速、メール本文下部にある青いボタンをクリックしてみると、以下のようになっていました。
この新しいSearch Consoleによる「選択範囲」を見てみますと、いくつかの除外と警告とがあります。
除外項目を点検してみますと、いずれも対処済みなので、まだそれがSearch Consoleに反映されていないという状態でした。
問題は、「選択範囲」の『robots.txt によりブロックされましたが、インデックスに登録しました』という項目に対し、警告を受けているようです。
各警告の内容は、下記Googleのインデックスカバレッジレポートのヘルプページに説明されています。
https://support.google.com/webmasters/answer/7440203?hl=ja
インデックスカバレッジレポートのヘルプページには、警告について、以下のように説明されています。
警告
ステータスが警告であるページには対応が必要となることがあります。特定の結果に応じて、インデックスに登録されなかった可能性があります。
そして、『robots.txt によりブロックされましたが、インデックスに登録しました』という警告については、
robots.txt によりブロックされましたが、インデックスに登録しました: このページは robots.txt によりブロックされましたが、インデックスに登録されています(Google では、常に robots.txt を使用して登録しますが、他のユーザーがこのページにリンクしている場合、robots.txt は使用されません)。このページを検索結果からブロックしてもよいかどうかわからないため、警告としました。このページをブロックしたい場合、robots.txt ではインデックス登録を回避できません。 インデックスに登録されないようにするには、「noindex」を使用するか、認証を使ってページへの匿名アクセスを禁止してください。このページをブロックするルールについては、robots.txt テスターをご利用ください。robots.txt のため、このページに対し表示されるスニペットは最適化されない可能性があります。このページをブロックしたくない場合は、ページのブロックを解除するよう robots.txt ファイルを更新してください。
このヘルプページの解説文に記載されいるように、どうやら、今回、警告の対象となっているページは、確かにrobots.txtによりブロックしているのですが、そのページが他のサイトからリンクされている場合、robots.txtでブロックしていてもインデックスされてしまうということのようです。
インデックスカバレッジ「対象範囲」の警告に対する対処
しかし、今回インデックスカバレッジ「対象範囲」の警告の対象となったサイトは、過去、数年にわたりrobots.txtでブロックしていたのにもかかわらず、何の警告も受けたことがありません。
おそらく、新しいSearch Console移行にあたり、新たに「対象範囲」という項目が設けられ、監視も厳しくなったのでしょうか。
いずれにしましても、対象範囲の警告を受けている以上、このまま放置した場合、サイトのインデックスや検索結果にも影響が及ぶ可能性がありますので、何らかの対応をしなければなりません。
今回、いろいろ調べた結果、以下の対応策で、警告を解除することができましたので、以下、その手順をまとめてみたいと思います。
①対象ページのrobots.txtでのブロックを解除
②ブロックしたいページをnoindexタグで個別にブロック
③Search Console上でrobots.txtを更新
④問題修正の検証をリクエスト
対象ページのrobots.txtでのブロックを解除
WordPressの性質上、同じ内容で異なるURLのページやあまり意味のないページが勝手に自動生成されていまい、そうしたページがインデックスされてしまうということがよくありますよね。
なので、不要なページをrobots.txtでブロックしていました。
しかし、今回の対象範囲の問題からもわかるとおり、不要なページをいくらrobots.txtでブロックしていても、場合によってはインデックスされてしまう、つまり完全ではないということですので、robots.txtでブロックする意味がありません。
よって、今回、対象範囲で警告を受けているページをrobots.txtから削除することにしました。
今回の対象範囲で警告を受けているページは、おもにカテゴリーページでしたので、robots.txtに記述していた下記記述を削除し、クロールを許可しました。
Disallow: /cate/
ブロックしたいページをnoindexタグで個別にブロック
上述のように、まがりなりにもrobots.txtでブロックしていたものを解除しクロールを許可したら、当然、こちらがインデックスしてほしくないページが、以降は普通にインデックスされてしまいます。
なので、今度はインデックスしてほしくないページに対し、個別でブロックをしなければなりません。
私の場合、今回、対象範囲で警告を受けているのは、カテゴリーページであり、なおかつ、カテゴリーページはインデックスしてほしくありません。
よって、サイトのカテゴリーページすべてに対し、ヘッダー内にnoindexタグを設置し個別にブロックすることにしました。
しかし、対象となるWordPressサイトは、テーマヘッダー(header.php)は、カテゴリーページ以外のページとも共用しており、そのままヘッダー内にnoindexタグを記述してしまうと、他の関係のないページもインデックスされなくなってしまいます。
そこで、下記コードをheader.phpに記述し、カテゴリーページのみnoindexタグを吐き出すようにしました。
<?php if(is_category()): ?> <meta name="robots" content="noindex" /> <?php endif; ?>
これで、カテゴリーページは、robots.txtでブロックしなくても、直接noindexタグを記述できるようになり、インデックスされなくなりました。
Search Console上でrobots.txtを更新
以上の修正を今度はGoogleに認識してもらわなければなりません。
robots.txtでカテゴリーページをブロックしていたものを解除し、クロールを許可したことを認識させるため、まず、修正したrobots.txtをサーバーにアップロードします。
そして、Search Console上の[robots.txt テスター]開き、[送信]ボタンを押します。
これで、修正後のrobots.txtを更新できました。
問題修正の検証をリクエスト
最後に、以上の作業で修正したということをGoogleに報告し、対象範囲で警告を受けたことに対する問題修正の検証をリクエストします。
検証のリクエストは、新しいSearch Consolの[対象範囲]をクリックし、指摘されている箇所に検証をリクエストするボタンがありますので、そのボタンをクリックします。
robots.txtの更新が反映されるまで少し時間がかかるようなので、少し間を空けてリクエストしてもいいのかもしれません。
私の場合、リクエストから約2週間後に、下記のようなメールを受け取り、警告が消えていることを確認しました。
インデックスカバレッジ「対象範囲」の警告に対する対処のまとめ
新しいSearch Consoleへの移行に伴い、新たに「対象範囲」という項目が設けられました。
これにより、robots.txtでブロックしていたページが、インデックスされてしまった場合、警告が発せられるようになったようです。
なお、その後、同サイトに対し、今度は「「モバイル ユーザビリティ」の問題が新たに検出されました」という新たな通知がGoogleから届きました。
結果としては、同様にrobots.txtでWordPressの「wp-content/」フォルダをブロックしていたことにより、そのフォルダの中のCSSファイルのレンダリングをブロックしていた形になり、それが原因で警告を受けたようです。
詳しくは当サイト⇒「モバイルユーザビリティエラーの原因はrobots.txtだった」を参照ください。
こうしたこともあり、これからは、robots.txtでは何もブロックしないで、すべてのクロールを許可する設定にし、インデックスしてほしくないページは、個別にnoindexタグでブロックするようにということなのかなと思いました。