自分のサイトの検索順位が下がっているのに気がついた時には、思わず肩を落としてしまうもの。Googleにクロールされなくなったページは、表示順位が低下し、訪問者やコンバージョンの減少を引き起こす可能性があります。
「robots.txtによりブロックされましたが、インデックスに登録しました」というエラーメッセージは、サイトでの検索エンジンのクロールに問題があると表示されます。つまり、このエラーに遭遇したら、Googleがクロールできないページをインデックスしていることを意味します。この問題は、robots.txtファイルを編集して、インデックスさせたいページとそうでないページを適切に指定すれば、解決可能です。
この記事では、「robots.txtによりブロックされましたが、インデックスに登録しました」というエラーメッセージの概要、そしてこのエラーの原因特定方法を見ていきます。その後、解決方法を2通りご紹介します。それでは、早速始めましょう!
「robots.txtによりブロックされましたが、インデックスに登録しました」エラーとは
Google Search Consoleは、サイト所有者が、さまざまな領域の重要なパフォーマンス分析を行うのに役立ちます。ページの表示速度、セキュリティ、そして「クローラビリティ」を監視することで、オンラインプレゼンスを最適化することができます。
例えば、Search Consoleのインデックスカバレッジレポートは、サイトの検索エンジン最適化(SEO)の強化に有用です。このレポートは、Googleがオンラインコンテンツをどのようにインデックスしているかを分析し、今回の「robots.txtによりブロックされましたが、インデックスに登録しました」という警告など、一般的なエラーに関する情報を返します。
このエラーについて掘り下げる前に、まずはrobots.txtファイルについて。robots.txtファイルとは、基本的には、検索エンジンのクローラーに、サイトのどのファイルをインデックスさせるか(そしてさせないか)を伝えるものです。正しく設定することで、大切なウェブページだけを確実にクロールさせることができます。
「robots.txtによりブロックされましたが、インデックスに登録しました」というエラー警告は、Googleのクローラーがそのページを見つけたが、robots.txtファイルでブロックされていることを認識し、そのページをインデックスするべきかどうかがわからない、という状態を示します。
この結果、そのページが検索結果に表示されることがあり、その際、説明文は表示されません。また、画像や動画、PDF、非HTMLファイルも除外されてしまいます。このような情報を適切に検索結果に表示させるには、robots.txtファイルの修正が必要です。
ページのインデックス登録に関する懸念
robots.txtにディレクティブ(ルール)を加えて、クローラーをブロックすることも可能ですが、時に検索結果からページが完全に非表示にならないことがあります。例えば、外部サイトがそのページにリンクしている場合は、このエラーが発生することがあります。
Google(および他の検索エンジン)は、ページの正確な順位付けにインデックスを作成します。関連性の高いコンテンツだけを検索結果に表示するには、この仕組みをよく理解することが重要です。
あるページがインデックスされているはずなのに、されていないという場合は、以下のような原因が考えられます。
- robots.txtファイル内のディレクティブがインデックスの作成を妨げている
- リンク切れやリダイレクトチェーン
- HTMLヘッダー内のcanonicalタグ
反対に、インデックスしたくないページがインデックスされてしまうことも。これには、以下のような理由が挙げられます。
- 不正確なnoindexディレクティブ
- 他のサイトからの外部リンク
- Googleのインデックスにある古いURL
- robots.txtファイルが存在しない
インデックスされているページが多すぎると、Googleのクローラーによってサーバーに負荷がかかる恐れがあります。加えて、Googleが無関係なページのインデックスに無駄に時間をかけてしまうことも考えられます。そのため、robots.txtファイルを正しく作成し、編集することが重要です。
「robots.txtによりブロックされましたが、インデックスに登録しました」エラーの原因特定
ページのインデックスに関する問題の特定には、Google Search Consoleが役立ちます。サイト所有権の確認後、サイトのパフォーマスに関するレポートを閲覧することができます。’
「カバレッジ」画面の「有効(警告あり)」タブをクリックすると、「robots.txtによりブロックされましたが、インデックスに登録しました」エラーを含む、インデックス関連の問題が一覧で表示されます。ここに何も表示されない場合は、おそらく特に問題はありません。
または、Googleのrobots.txtテスターを使用することもできます。このツールでは、robots.txtファイルをスキャンして、構文などのエラーを確認できます。
ページ下部に特定のURLを貼り付け、ブロックされているかどうかを確認します。ドロップダウンメニューからユーザーエージェントを選択し、「テスト」をクリックします。
すでにrobots.txtファイルを持っている場合は、domain.com/robots.txtに移動して表示することも可能です。
次に、disallowの行を見つけます。サイト管理者は、特定のファイルやページへのアクセスの許可/拒否をクローラーに伝える構文を記述することができます。
すべての検索エンジンをブロックしたい場合は、以下のように記述します。
Disallow: /
また、特定のユーザーエージェントをブロックすることも可能です。
User-agent: *
Disallow: /
上記いずれかの方法で、ページのインデックスに関する問題を特定した後は、robots.txtファイルを編集していきます。
「robots.txtによりブロックされましたが、インデックスに登録しました」エラーの解決方法
robots.txtファイルの概要、またrobots.txtファイルがインデックスの作成にどのように影響するかを理解したところで、本題の「robots.txtによりブロックされましたが、インデックスに登録しました」エラーを解決していきましょう。ただし、解決策を実践する前に、ブロックされたページをインデックスする必要があるかを確認してください。
方法1. robots.txtを直接編集する
WordPressでウェブサイトを運営している場合は、仮想robots.txtファイルが自動生成されているはずです。ブラウザで「domain.com/robots.txt(domain.comはドメイン名に置き換え)」を検索すると、このファイルにアクセス可能です。ただし、この仮想ファイルでは、編集を行うことはできません。
robots.txtの編集には、サーバー上にファイルを作成しなければなりません。テキストエディターで新規ファイルを作成します。ファイル名は「robots.txt」とします。
次に、SFTPクライアントに接続します。Kinstaをご利用の場合は、MyKinstaにログイン後、「サイト」>(サイト名)>「情報」に移動します。
「SFTP/SSH」セクションで、ユーザー名、パスワード、ホスト、ポート番号を確認します。次に、FileZillaなどのSFTPクライアントをダウンロードし、SFTPのログイン認証情報を入力後、「Quickconnect」をクリックしてください。
最後に、robots.txtファイルをルートディレクトリ(WordPressサイトの場合は「public_html」)にアップロードしてください。これで、ファイルを開いて編集を行うことができます。
allowとdisallowの構文を使って、インデックス作成の設定を編集することができます。例えば、フォルダ全体をインデックスせず、特定のファイルだけをクロールさせたい場合には、以下のようなコードを使用します。
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
なお、この時「robots.txtによりブロックされましたが、インデックスに登録しました」エラーが発生したページに関する設定をお忘れなく。クロールの許可または拒否を必ず指定してください。
編集を終えたら、変更を保存します。その後、Google Search Consoleに戻って、エラーが解決されているかを確認しましょう。
方法2. SEOプラグインを使用する
SEOプラグインを利用している場合は、robots.txtファイルを新規作成する必要はありません。通常、SEOツールによってrobots.txtファイルが生成します。さらにプラグインによっては、WordPressの管理画面上でファイルを編集することも可能です。
Yoast SEO
人気の高いSEOプラグインと言えば、Yoast SEO。検索エンジンのインデックス設定を変更するツールや、オンページSEO分析機能があります。
robots.txtファイルの編集するには、WordPress管理画面で、「Yoast SEO」>「ツール」に移動し、ツール一覧から「ファイルエディタ」を選択します。
Yoast SEOでは、robots.txtファイルは自動生成されないため、ファイルがない場合は「Create robots.txt file」をクリックします。
すると、新規作成されたrobots.txtファイルのテキストエディターが開かれます。上でご紹介した方法と同様に、allowを使ってインデックスさせたいページを記述します。また、インデックスさせないURLは、disallowで指定します。
編集を終えたら、ファイルを保存します。すると、robots.txtファイル更新の通知が表示されます。
Rank Math
Rank Mathは、robots.txtファイルのエディターを搭載したフリーミアムプラグインです。WordPressで有効化したら、「Rank Math」>「General Settings」>「Edit robots.txt」に進みます。
コードエディターには、サイトマップなどいくつかデフォルトのルールが表示されます。コードを貼り付けたり、削除したりして設定を編集していきます。
編集にあたって以下の点に注意してください。
- 複数のルールを含んだ1つまたは複数のグループを作成する
- 各グループはユーザーエージェントから初めて、その後に特定のディレクトリまたはファイルを記述する
- disallowで指定しないページやファイルは、インデックス作成を許可すると見做される
なお、この方法は、このルートディレクトリにrobots.txtファイルがない場合にのみ有効です。robots.txtが存在する場合は、SFTPクライアントを使用してrobots.txtファイルを直接編集するか、既存のファイルを削除してから、Rank Mathのエディターを使用してください。
robots.txtでインデックスの作成を拒否したら、noindexディレクティブを追加します。これによって、Googleの検索結果でページを非表示にすることができます。これを行うには、「Rank Math」>「Title & Meta」>「Posts」に移動します。
「Post Robots Meta」のトグルスイッチをクリックして有効化し、その下の「No Index」を選択します。
最後に、変更を保存して完了です。Google Search Consoleで、「robots.txtによりブロックされましたが、インデックスに登録しました」エラーを見つけて、「修正を検証」をクリックします。これで、Googleによって指定したURLが再スクロールされ、エラーが解消されるはず。
Squirrly SEO
Squirrly SEOでも、同様にrobots.txtの編集が可能です。「Squirrly SEO」>「SEO Configuration」に移動すると、「Tweaks」と「Sitemap」の設定が表示されます。
左側に表示される「Robots File」タブを選択します。すると、他のプラグインと似たようなrobots.txtファイルのエディターが開きます。
テキストエディターにallowまたはdisallowを使ってページやファイルを指定し、必要に応じてルールを記述してください。編集を終えたら、「Save Settings」をクリックして終了です。
また、このプラグインでは、特定の投稿タイプにnoindexルールを指定することも可能です。これは、「Automation」タブにある「Let Google Index It」の設定を無効にするだけでOKです(デフォルトは有効)。
まとめ
通常、Googleはウェブページを検出・クロールして、インデックスを作成することで、検索結果を表示します。しかし、robots.txtファイルが適切に設定されていないと、ページをクロールすべきなのかがわからず、エラーが生じることが。サイトのSEOを強化するには、クロールの指示を明確に伝えなければなりません。
robots.txtファイルは、FileZillaなどのSFTPクライアント経由で直接編集可能です。または、Yoast SEOやRank Math、Squirrly SEOなどのプラグインを使用して、内蔵のrobots.txtエディターから変更を加える手もあります。いずれの方法でも、検索エンジンがコンテンツを正しくインデックスできる様、クロールの許可または拒否を指示してください。
ウェブサイトを検索結果の上位に表示させるには、SEOに強いホスティングサービスを利用するのが得策です。KinstaのWordPress専用マネージドホスティングなら、稼働状況監視、無料で使えるSSL証明書、リダイレクト設定などのSEOツールが付帯しています。Kinstaのホスティングプランをぜひ一度お試しください。