ある日いきなり、「送信された URL が robots.txt によってブロックされました」というエラーが出て、新規追加されたページがGoogleにインデックスされないという事象が発生しました。
「送信された URL が robots.txt によってブロックされました」このエラーメッセージだとなんのこっちゃという感じなので、この対処法を徹底解説したいと思います。
私もプラグイン更新などでいつの間にか、このエラー「送信された URL が robots.txt によってブロックされました」が出て、Googleにインデックスされない現象が発生しましたが、以下の対処法で解決することができました。
Contents
原因1. WordPressの設定で、Googleのインデックスをしないようにしている
ページがGoogleにインデックスされない理由の一つとしてあげられるのは、Wordpressの設定でインデックスされない設定になっていることです。
この設定を気づかず変更してしまっていないかまず確認しましょう。
設定 > 表示設定 > 検索エンジンでの表示設定
この設定にチェックが入っていないことを確認しましょう。この設定はGoogleのクローラーがウェブサイトにアクセスしないようにする設定です。
クローラーとは、ウェブページを巡回し、情報を収集してデータベースに登録(インデックス)するプログラムのことを指します。このロボットが定期的に、サイトの新しいページや更新された箇所を読み、検索結果ページに最新データを反映していきます。そのため、クロールされなければインデックスされることもなく、更新した情報も反映されません。
原因2. robots.txtの設定で該当するページへのクロールを許可していない場合
サイトのrobots.txtにクロールを拒否する設定が入っている場合も、Googleにインデックスされません。
そもそもGoogleにページがインデックスされているか確認したい場合
そもそもページがGoogleにインデックスされているかは、Google Search Consoleから調べることができます。調べ方は以下の通りです。
Google Search ConsoleのヘッダーのURL入力欄に調べたいページのURLを入力する
ちゃんとインデックスされている場合は、以下のようになりますが、
ちゃんとインデックスされていない場合は、以下のようにエラーになります。
robots.txtによってブロックされていますとエラーになっていますね。
robots.txtの設定の確認方法
WordPressでの現状のrobots.txtの設定は、以下から確認できます。変更する場合は、テキストボックス内部を変更して、「変更」を保存ボタンを押下すれば、robots.txtを変更できます。
設定 > 表示設定 > robots.txt
robots.txtは簡単にいうと「サイト内の特定のページに対して、検索エンジンがクロールを行わない様に指定できる設定ファイル」です。
項目は大きく分けて以下のようになっています。細かくは説明しませんが、今回確認すべきなのは、「Disallow」の項目です。
項目 | 説明 |
User-agent | 命令を与えるクローラーを「ユーザーエージェント」を使って指定する |
Disallow | クロールをブロックするディレクトリやページを記入する |
Allow | クロールを許可するディレクトリやページを記入する(基本的に使用しない) |
Sitemap | sitemap.xmlのURLを記入する事で、sitemapの場所をクローラーに知らせる |
robots.txtのDisallowが「Disallow: /」になっているとサイト全体へのアクセスを拒否している設定になっています。この設定項目を削除すれば、クローラーがアクセスできるようになり、Googleにインデックスされるようになります。
robots.txtの変更がGoogleに反映されるのは、基本的に数日かかります。
ですが、Search Consoleから即日反映させることもできます。
robots.txtの設定の即日反映方法
1. 上記ページにアクセス
2. 以下の「送信」ボタンを押下
3. Google に更新をリクエストの「送信」ボタンを押下
こちらで数日待つと私はページが無事インデックス登録されるようになりました。