Search Consoleで「robots.txtでブロックされているがインデックスされている」と表示されたときの対処法

SEO

この記事はAhrefs公式ブログの日本語訳です。
原文:How to Fix “indexed, though blocked by robots.txt” in GSC
(著者:Patrick Stox / 原文の最終更新日:January 28, 2021)

「robots.txtでブロックされているが、インデックスされている」は、Googleがクロールを許可していないURLをインデックスした場合に、Google Search Console(GSC)に表示されるものです。

ほとんどの場合、robots.txtファイルでクロールをブロックしているという、わかりやすい問題です。しかし、この問題の引き金となる追加の条件がいくつかあります。できるだけ早めに解決するために、以下の項目を実行しましょう。

まず、Googleにそのページをインデックスさせたいかどうかで対応が分かれます。

URLをGoogleにインデックスさせたくない場合は……

URLをGoogleにインデックスさせたくない場合には、該当ページの中にnoindex meta robotsタグを追加し、クロールを許可するようにしましょう。

そもそも、クロールとインデックスは別のものなので、ページをクロールされないようにブロックした場合でも、Googleがそのページをインデックスすることがあります。Googleがページをクロールできる限り、noindex metaタグは表示されず、リンクがあるためインデックスされる可能性があります。

※フルスピード註:該当ページをインデックスさせたくないのにインデックスされている場合は、もう一度noindex meta robotsタグを追加し、そのタグを読んでもらうためにクロールにかけましょう。

URLが他のページに正規化されている場合、noindex meta robotsタグを追加する必要はありません。正規化されたページのcanonicalタグを含め、正規化シグナルが適切に設定されていることを確認し、クロールを許可してシグナルが正しく通過し、統合されるようにすることのみです。

URLをインデックスさせたい場合は……

GoogleがそのURLをクロールできない原因を突き止め、ブロックを解除する必要があります。

最も可能性が高いのは、robots.txtでクロールをブロックされていることです。しかし、ブロックされているというメッセージが表示される可能性のある理由は、他にもいくつかあります。その場合、下記の順番で見ていきましょう。

  1. robots.txtにクロールをブロックする記述がないか確認する
  2. 断続的なブロックのチェック
  3. ユーザーエージェントがブロックされていないか
  4. IPブロックのチェック

robots.txtにクロールをブロックする記述がないか確認する

こちらは、GSC の robots.txt テスター(Googleアカウントへのログインが必要)で、ブロックルールのフラグを立てることで確認できます。

何を探しているか分かっている場合、またはGSCにアクセスできない場合は、domain.com/robots.txtに移動してそのファイルを見つけることができます。robots.txt の記事に詳しい情報がありますが、おそらく次のような disallow文を探しているのでしょう。

Disallow: /

特定のユーザーエージェントが記載されている場合もあれば、すべての人をブロックしている場合もあります。あなたのサイトが新しいか、最近開設されたものである場合は、探してみるとよいでしょう。

User-agent: *
Disallow: /

問題が見つからない場合
あなたが問題を調査する前の時点で、(サイト管理チームの)誰かがすでにrobots.txtのブロックを修正して問題を解決している可能性があります。しかし、問題が解決したように見えても、その直後に再び現れる場合は、断続的なブロックが発生している可能性があります。

修正方法

ブロックの原因となっている disallow ステータスを削除する必要があります。この方法は、使用しているツールによって異なります。

WordPress

Webサイト全体に影響がある場合、最も考えられる原因は、WordPressの設定でインデックスを無効にする設定にチェックが入っていることです。このミスは、新しいWebサイトやWebサイトの移行後によく見られます。以下の手順で確認してください。

  1. 「設定」をクリック
  2. 「リーディング」をクリック
  3. 「検索エンジン表示」のチェックが外れていることを確認します。

Yoastを使用したWordPress

Yoast SEOプラグインを使用している場合、robots.txt ファイルを直接編集してブロックの記述を削除することができます。

  1. 「Yoast SEO」をクリックします。
  2. 「ツール」をクリック
  3. 「ファイルエディタ」をクリック

WordPressでRank Mathを利用する

Yoastと同様、Rank Mathではrobots.txtファイルを直接編集することができます。

  1. 「Rank Math」をクリックする
  2. 「General Settings」をクリックします。
  3. 「Edit robots.txt」をクリック

FTPまたはホスティング

サイトにFTPでアクセスできる場合は、robots.txtファイルを直接編集して、問題の原因となっているdisallowステートメントを削除することができます。ホスティングプロバイダーは、robots.txtファイルに直接アクセスできるファイルマネージャーへのアクセスを提供している場合もあります。

断続的なブロックのチェック

断続的な問題は、ブロックの原因となる条件が常に存在するとは限らないため、トラブルシューティングがより困難になる場合があります。

私がお勧めするのは、robots.txtファイルの履歴を確認することです。例えば、GSC robots.txt testerでは、ドロップダウンをクリックすると、過去のバージョンのファイルが表示されるので、それをクリックして内容を確認することができます。

archive.orgのWayback Machineには、クロールしたWebサイトのrobots.txtファイルの履歴もあります。データがある日付をクリックすると、その日のファイルの内容を見ることができます。

また、2つの異なるバージョン間のコンテンツの変更を簡単に確認できる、ベータ版の変更点レポートを使用することもできます。

修正方法

断続的なブロックの修正方法は、問題の原因によって異なります。例の一つとして、テスト環境と本番環境の間でキャッシュを共有していることが原因の場合もあります。テスト環境のキャッシュが有効な場合、robots.txt ファイルにブロック指令が含まれることがあります。そして、本番環境のキャッシュが有効な場合、サイトはクロール可能になる可能性があります。この場合、キャッシュを分割するか、テスト環境のキャッシュから.txtファイルを除外するようにしましょう。

ユーザーエージェントがブロックされていないか

ユーザーエージェントブロックとは、サイトがGooglebotやAhrefsBotのような特定のユーザーエージェントをブロックすることです。つまり、サイトが特定のボットを検知して、対応するユーザーエージェントをブロックしているのです。

通常のブラウザでは問題なく閲覧できるページが、ユーザーエージェントを変更するとブロックされる場合、入力した特定のユーザーエージェントがブロックされていることを意味します。

Chromeのdevtoolsを使えば、特定のユーザーエージェントを指定することができます。また、このようなユーザーエージェントを変更するためのブラウザ拡張機能を使用する方法もあります。

また、cURLコマンドを使用してユーザーエージェントブロックを確認することもできます。以下は、Windowsでの方法です。

  1. Windows+Rキーを押して、「ファイル名を指定して実行」ボックスを表示します。
  2. Windows+Rキーを押して、「ファイル名を指定して実行」ボックスを開きます。
  3. 次のようなcURLコマンドを入力します。
curl -A “user-agent-name-here” -Lv [URL]curl -A “Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)” -Lv https://ahrefs.com

修正方法

こちらもブロックされた場所によって対処法が異なります。 .htaccess、サーバー設定、ファイアウォール、CDN、あるいはホスティングプロバイダーが管理する見えない部分など、多くの異なるシステムがbotをブロックする可能性があります。最善の方法は、ホスティングプロバイダやCDNに連絡して、ブロックの原因と解決方法を聞くことかもしれません。

例えば、.htaccessでユーザーエージェントをブロックする方法として、以下の2つが挙げられますので、探してみてください。

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Googlebot [NC]RewriteRule .* - [F,L]

あるいはこちらで……

BrowserMatchNoCase "Googlebot" bots
Order Allow,Deny
Allow from ALL
Deny from env=bots

IPブロックのチェック

robots.txtでブロックされていないことを確認し、ユーザーエージェントのブロックを除外した場合、IPブロックの可能性が高いです。

修正方法

IPブロックは、追跡が困難な問題です。ユーザーエージェント・ブロックと同様に、ホスティング・プロバイダーまたはCDNに連絡して、ブロックがどこから来ているのか、どうすれば解決できるのかを尋ねるのが最善の方法かもしれません。

以下は、.htaccess で探しているものの一例です。

deny from 123.123.123.123

まとめ

ほとんどの場合、「robots.txtでブロックされていますが、インデックスされています」という警告は、robots.txtでのブロックに起因しています。このガイドが、問題を発見し修正するのに役立つことを願っています。

ご質問はありますか?Twitterで教えてください。


著者:パトリック・ストックス(Patrick Stox)
パトリック・ストックスはAhrefsのプロダクトアドバイザー、テクニカルSEO、ブランドアンバサダーです。Raleigh SEO Meetup、Raleigh SEO Conference、Beer & SEO Meetup、Findability Conferenceのオーガナイザーであり、/r/TechSEOではモデレーターを務めています。

私たちのコンテンツが気に入りましたか?私たちと一緒に記事を書きませんか
※Ahrefs社公式ブログへ遷移します。

タイトルとURLをコピーしました