
WordPressは、管理フォルダーを検索エンジンがインデックスしないように、デフォルトでrobots.txtでブロックする設定をしています。しかし、robots.txt でブロックしていても、インデックスされてしまうことがあります。ブロックしているURLが、インデックスされた場合は、Search Consoleのインデックス「対象範囲」(Index Coverage)に、有効(警告あり)に表示されます。
WordPress 管理フォルダー内のページがインデックスされてしまい警告となった場合の対処法
Google Search ConsoleのブロギングライフBLOGのプロパティに、「インデックス カバレッジ」の問題が新たに検出されましたと言う通知を受け取りました。警告の詳細は、『 robots.txt によりブロックされましたが、インデックスに登録しました。』です。警告の対象となったURLは、WordPressの管理を行うファイルが格納されている wp-admin フォルダー内のページです。
WordPressは、管理フォルダーを検索エンジンからインデックスされないようにrobots.txtで以下の様な設定(記述)を行っています。以下はWordPressデフォルトのrobots.txtの設定内容です。
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
全てのクローラーに対して、wp-admin以下は、admin-ajax.phpを除いてアクセスしないように指示を行なっています。Googleの検索クローラーはrobots.txtの指示に従ってブロックされているURLにクロールを行いません。しかし、robots.txtでブロックしていても、ページをインデックス することはあります。
Google では、robots.txt でブロックされているコンテンツをクロールしたりインデックスに登録したりすることはありませんが、ブロック対象の URL がウェブ上の他の場所からリンクされている場合、その URL を検出してインデックスに登録する可能性はあります。
robots.txt でブロックされたURLがインデックスされると、Search Consoleのインデックス対象範囲レポートで警告が表示されます。
対処の選択肢
robots.txt でブロックしているURLは、基本的にインデックスしてほしくないURLであるのが通常です。しかし、robots.txtの設定を誤ってブロックしてしまっている場合もあります。インデックスされる方が良い場合は、robots.txtの設定を変更します。
今回の場合は、WordPressの管理ディレクトリーの下のURLがインデックスされた警告です。WordPress 管理ディレクトリーの下のURLがインデックスされることは望ましいことではありません。しかし、インデックスされていても、検索結果に表示される可能性は極めて低いです。(限りなく0に近いです。)何も対処せずに無視することも選択肢の一つです。
Bloggerの場合は、カテゴリーに該当するラベルの一覧を表示するページは、検索機能を使用して表示する仕様になっています。Bloggerは、robots.txtで検索のディレクトリーへのクローラーのアクセスをブロックしています。そのため、ラベルの一覧ページがインデックスされて、警告が表示されることが比較的多く発生します。この場合の警告は、無視しても構わないと思います。対処した方が良いですが、対処法を誤るリスクもあります。(対処法についてBlogger101に投稿しています。)
警告を解消する対処法
robots.txtでブロックしているインデックスして欲しくないページがインデックスされてしまった場合、そのページに noindex ディレクティブを設置する必要があります。今回の場合、インデックスされたのは1ページですが、ディレクトリー以下の全てのページをnoindexに指定するほうが適切な対処です。
ディレクトリー以下の全てのページにnoindexディレクティブを設定する場合は、HTTP レスポンス ヘッダーにX-Robots-Tagを使用する方法が適しています。
HTTP レスポンスヘッダーに X-Robots-Tag を設置する方法
以下のコードを含めたテキストファイルを作成して、.htaccess の名前で保存します。
作成した .htaccess のファイルを、お好みのFTPツールなどを使用して、noindex ディレクティブを設定するディレクトリー(今回の場合は、/wp-admin/ にアップロードします。
ディレクトリーに一つの.htaccessを設置すれば、.htaccess が設置されたディレクトリー以下の全てのページ(ファイル)のHTTP レスポンスヘッダーにnoindexが設定されます。
robots.txtのブロックを解除する
noindexを設置した場合、クローラーがnoindexを読み取れるようにするために、robots.txtでブロックしているディレクトリーへのアクセスを解除する必要があります。
重要: noindex ディレクティブが有効に機能するようにするために、robots.txt ファイルでページをブロックしないでください。ページが robots.txt ファイルでブロックされると、クローラは noindex ディレクティブを認識しません。
WordPress デフォルトの場合、WordPressがバーチャル(仮想)robots.txtを作成しています。設定を変更する場合は、テキストエディターを使用して、以下の様なテキストを robots.txt の名前で保存します。(以下の設定は、全てのクローラーにサイト内のすべてのファイルへのアクセスを許可する設定です。)
Disallow:
作成した robots.txt ファイルを、FTPを使用して、サイトのルートディレクトリーに設置します。
レスポンスヘッダーにnoindex が設定するか確認する
レスポンスヘッダーの確認方法はいろいろありますが、ここではSearch Consoleを使用した方法を紹介します。新しいSearch Consoleではなく、以前のSearch Console にログインしてサイトのプロパティを選択します。メニュー項目の「クロール」から”Fetch as Google”を選択します。
URLの入力欄に ’wp-admin/” を入力して、「取得」ボタンを押します。取得操作のリストにFetch as Googleを行なったURLが追加されます。その行をクリックして、詳細を表示します。
Fetchができれば、「ダウンロードされたHTTP レスポンス:」の内容が表示されます。
表示されているHTTPS レスポンスヘッダーの中に、”X-Robots-Tag: noindex, nofollow” が含まれていることを確認します。含まれていれば、無事に Fetch したURLのHTTP レスポンスヘッダーに noindex ディレクティブが設定できています。
念のために、警告対象となったURLもFetch as Googleして確認することもお勧め致します。さらに通常ページなどもFetchしてみて、そこにはnoindexが設定されていないことを確認するのもより確実です。
Search Consoleで修正を検証 リクエストする
Search Consoleにログインし、「インデックス 対象範囲」に表示されている警告の詳細を表示して、「修正を検証」のボタンを押してリクエストを送信します。
リクエストすると、「検証:開始」が表示されます。
検証の結果が表示されるまでに、通常、1週間から10日程度かかります。不承認となった場合には、早く結果が表示されることもあります。
Search Consoleでの検証結果
検証のリクエストを送信して、1週間少し後に、Google Search Consoleから、検証の結果、Coverageの問題は解消したとの通知メールが届きました。Search Consoleの対象範囲(Index Coverage) のレポートに検証合格と表示され、警告が0になりました。
コメントを残す(承認後表示されます)