スキップしてメイン コンテンツに移動

Search Consoleのrobots.txtテスターでサイトのrobots.txtをしっかり確認しておく

サイトのrobots.txtは検索エンジンがサイト内容を把握する検索ロボットのクローラーをブロックするために主に使われるファイルだ。

robots.txtで除外されたページは検索エンジンに読み込まれないので、検索結果に出ない場合が多い。検索避けとは少し違ってどこかにリンクがあるとURLだけでもクローラーに読み取られて検索結果に出る場合もないわけではないので、完全な検索避けとは混同しないように注意して使わなくてはならない。

一般的にログインページなどの検索結果に出すべきではないURLを対象にして設定される。

しかしサイトの検索エンジンからのアクセスアップのSEO(検索エンジン最適化)対策にも役立つ。

というのは検索エンジンのクローラーはサイトにやって来ていつも全てのページを巡回するわけではないし、ページ毎に一度でコンテンツを隅々まで把握するわけでもないらしくて検索結果に不要なページを予め除外しておくと検索エンジンのクローラーがサイトを効率的に巡回しながらページ毎のサイト内容も多めに把握できるためなんだ。

サイトに検索結果に不要なページがなければSEO対策でrobots.txtを付けても仕様がないけれども少しでもあれば付けるにかぎると考える。

robots.txtは記述(robots.txt の仕様)を間違えると検索エンジンからのアクセスアップを求めて止まないページが除外されて反対の結果になるから使う際には細心の注意を怠ってはならない。

僕は分かっていてブログに取り入れた最初は大丈夫だったけど、ところが二回目の設定で記述が変わったのに注意が足りなかったせいで、Google検索でのサイトのデータを種々と収集できるSearch Consoleで数日後にrobots.txtについて警告が表示されてしまったんだ。

Search Consoleのプロパティの健全性の確認を開いたホームの画面
ホーム via Search Console

管理画面を開くと「プロパティの健全性に重大な問題が発見されました」と出て来て直ぐに気付く。そして「プロパティの健全性の確認」のリンクを開くと「robots.txtが重要なページをブロックしているかどうかをチェック」が黄色のマークになっている。リンクを開くとrobots.txtテスターで、実際に記述されたrobots.txtの内容が表示される。

Search Consoleの警告が表示されたサイトマップの詳細の画面
サイトマップの詳細 via Search Console

サイトマップにも「重要なページ」が入っていて警告が出される。検索エンジンにページへのクロールを促進するために登録するのがサイトマップなので、そこにrobots.txtが付いて検索エンジンのクロールを除外するページが入っているのは矛盾している。Search Consoleでは警告が出されて修正しなくてはならないと分かる。

慌てて記事のインデックスを調べたら大丈夫だった。robots.txtの警告が出ても検索エンジンからのアクセスアップが直ぐに途絶えるわけではなさそうだ。放っておくとインデックスを失って検索結果に出なくなるから余計なrobots.txtを急いで記事から外した。

どうすればrobots.txtの失敗を未然に防げたのだろう

SEO対策で検索エンジンからのアクセスアップを望んでいるページが誤ってクローラーをブロックしないように記述するべきだけど、上手く行っているかどうかをちゃんと確認しないと依然として危ないのは変わらない。

Search Consoleのクロールのrobots.txtテスターを使う

Search Consoleのrobots.txtテスターのサイトのrobots.txtが表示された画面
robots.txt テスター via Search Console

サイトで作成したrobots.txtが実際にどのように動作しているか、想定外のページに誤って付いてしまって警告が出るという失敗を未然に防ぐための注意としてSearch Consoleのクロールのrobots.txtテスターを使って確認するのが大切だと思う。

サーバーへアップロードするrobots.txtの内容を目視するだけでは注意を怠らないとはかぎらないし、Search Consoleのクロールのrobots.txtテスターの使い方も細かく覚えておかないとサイトのページ毎の見落としが出てしまい兼ねないんだ。

robots.txtテスターの使い方の基本的な四つの手順

  1. 送信ボタンでSearch Consoleに読み込ませる
  2. 画面をリロードして最新バージョンを表示する
  3. クローラーをブロックしたいURLを確認する
  4. robots.txtの対象外のページのURLを確認する

事前にサイトでrobots.txtを作成してサーバーへアップロードしてからSearch Consoleのクロールのrobots.txtテスターで動作確認を行うと良いと思う。

基本的な四つの手順は何れも簡単だし、幾らか時間がかかっても面倒がらずにしっかり完了するべきだ。

最初に送信ボタンを押してダイアローグを開くと三つの項目が載っている。

Search Consoleのrobots.txtテスターの送信ボタンを押した後の三つの項目が並んだダイアローグの画面
robots.txt テスター via Search Console

一番目の更新されたコードをダウンロード」と二番目の「アップロードされたバージョンを確認」はrobots.txtを作成するためのツールで、Search Consoleに表示されたファイルを編集してダウンロードすると直ぐに修正できたり、サーバーへアップロードしたらSearch Consoleから直ぐに確認できたりするのが便利なんだ。robots.txtテスターには使わなくても構わなくて欠かせないのは三番目の「Googleに更新をリクエスト」だけだ。新しいファイルが読み込まれないとさらにページのURLと照合して動作が大丈夫かどうかを確認できないので、Search Consoleに更新するようにリクエストを行う。何もしなくてもGoogle検索のクローラーがサイトを訪問すればrobots.txtも読み込まれてSearch Consoleでも更新して表示されるけれども送信ボタンで直ぐに新しいファイルを伝えてrobots.txtテスターを使えるようになっている。

そして画面をリロードすると修正済みのrobots.txtの画面に切り替わる。上手く行かない場合もあるので、本当に新しいファイルが反映しているかどうかを確認しなくてはならない。以前の記述と何も変わらないければ画面を再びリロードする。尚も駄目な場合がないわけではなくて送信ボタンからやり直すと初めて画面が切り替わるかも知れない。

Search Consoleのrobots.txtテスターでブロック済みの赤の帯文字が現れた画面
robots.txt テスター via Search Console

次いでクローラーをブロックしたいURLを確認して成功すれば該当するDisallowの項目が赤になる。

robots.txtの画面の下にURLをルートドメインの直後のアドレスから入力してクローラーの種類を決めて――デフォルトで選択済みのGooglebotがGoogle検索のクローラーだ――テストボタンを押す。

赤のDisallowが表示されて決定ボタンにも「ブロック済み」と表示されるとrobots.txtの記述が間違いなく、Google検索のクローラーに検出されていると分かるし、ページが読み込まれなくなっている。

Search Consoleのrobots.txtテスターで許可済みの緑の帯文字が現れた画面
robots.txt テスター via Search Console

さらにrobots.txtの対象外のページのURLを確認するのもなるべくやっておきたい。成功すればURLの該当するAllowの項目が緑になるし、テストボタンにも「許可済み」と表示されてGoogle検索のクローラーがブロックされずにページの読み込みが可能になっていると分かる。

robots.txtテスターはクローラーをブロックしたいURLだけを確認すれば事足りるかも知れないけど、しかし場合によって他のページが同様に含まれてしまう危険性もあるんだ。

僕が失敗したのもそのせいだった。robots.txtでブロックしたいURLに記述した文字が他のページで重なれば想定外にブロックされる危険性があるし、クローラーに対象外として検出されるかどうかを十分に確認しなくてはならないと思う。ところが文字が重ならなくてもブロックしたいURLにブロックしたくない他のページが含まれてしまわないとはかぎらない。記述する仕方によって付けたrobots.txtのかかりが変わり得るせいで、文字のみから対象外のURLまで判断するのは控えるべきだった。

要するにrobots.txtの記述はURLの文字の他に「.」や「/」や「?」などの区切りと専用の「*」や「$」などの識別も影響するので、もしかするとブロックしたくないページに所定の文字が含まれなくてもブロックされる憂き目に遭わされる。

robots.txtを変更する際には検索エンジンに出て欲しいページが対象外になっているのを文字とその他の区切りと識別を併せて判断しながらSearch Consoleのrobots.txtテスターで幾らか多めに確認するのが良いと思う。

ブログで全記事がrobots.txtでクローラーをブロックして警告が出たのは記述した文字以外のところで、不幸にも同様に検出されていたから修正してしっかり確認すると共に元に戻した。

robots.txtの対象外のページのURLは大量にあるとrobots.txtテスターで一つずつ確認するのは非常に厳しいと感じる。

URLの文字が重なれば個別に確認するべきだけど、その他の区切りと識別についてはURLのパターンで捉えてクローラーをブロックしたくないページの種類毎に一つだけ確認しても大丈夫だ。

Search Consoleで警告が出るのではSEO対策にrobots.txtを取り入れても何にもならない。加えて放っておいてインデックスから除外されると全くの逆効果でしかなくなるから本当に嘆かわしい。細心の注意を払って使わなくてはならない。検索エンジンからのアクセスアップへ的確に使うためにはrobots.txtテスターで設定通りにかかっているかどうかを確認する手間を惜しんではならない。

コメント

些細な日常の人気の投稿

Imgurで画像URLと埋め込みコードを取得する方法

MOTOROLAのMoto G5 Plusを使い出してのスマホレビュー

PlayストアでAndroidアプリのダウンロードが非常に遅い場合の打開策