• robots.txtテスターではURLを遮断する指定を見つけ、サーバー上のファイルを直す

robots.txtテスターではURLを遮断する指定を見つけ、サーバー上のファイルを直す

公開日: 執筆:佐藤

Googleウェブマスターツールのrobots.txtテスターは、調べたいURLがクロールを許可されているかを確認し、遮断の判断に使われた指定を見つける道具です。編集欄でrobots.txtを直して試すこともできます。

ただし、テスター内の編集だけでは公開中のrobots.txtは変わりません。試験で直ったことを確認した後、修正したファイルをサーバーへ置き、公開URLから取得できる内容をもう一度確かめます。

調べるURLを先に決める

robots.txt全体を眺めても、どの指定がどのページへ作用するかは分かりにくいものです。先に、検索で見つけてもらう必要があるURLを一つ選びます。

たとえば、次のようにページの役割を分けます。

URLの種類 確認する理由
会社や店舗の案内 検索から見つけてもらう代表ページか
商品やサービスの説明 公開した内容をGooglebotが取得できるか
CSSやJavaScript 本文や画面構成の表示に必要か
管理画面や作業用URL 公開ページと同じ扱いにしていないか

最初から全URLを試す必要はありません。代表的な公開ページを一つ、そのページの表示に必要なCSSまたはJavaScriptを一つ選べば、指定の影響を具体的に追えます。

遮断した指定まで確認する

Googleのrobots.txtテスターの案内によると、ウェブマスターツールのクロール欄では、Googleが取得しているrobots.txtを表示し、新しいURLがクロールを拒否されるか試せます。拒否の判断につながった指定も強調表示されます。

確認結果は、許可または遮断だけを記録して終えません。

  1. 試した完全なURL
  2. 期待する結果
  3. テスターの判定
  4. 判定に使われた指定

この四点を一組で残します。たとえば公開ページを許可するつもりなのに遮断されたなら、強調されたDisallowの範囲とURLのpathを比べます。

User-agent: *
Disallow: /assets/

この仮例では、/assets/以下をまとめて遮断します。公開ページの表示に必要なCSSやJavaScriptも同じdirectoryへ置いていれば、それらまで対象になります。directory名だけで削除を決めず、実際にどのURLが必要かを確認します。

編集欄の試験と公開ファイルの変更を分ける

robots.txtテスターでは、表示された内容を編集し、変更後の判定を試せます。しかし、その編集は試験用です。サーバー上の/robots.txtを自動では書き換えません。

作業は次の順に分けます。

  1. 公開中の内容で対象URLを試す
  2. 遮断に使われた指定を特定する
  3. テスター内で必要最小限の修正を試す
  4. 許可したいURLと遮断したいURLを両方試す
  5. 修正したrobots.txtをサーバーへ置く
  6. https://example.jp/robots.txtから公開内容を取得する
  7. ウェブマスターツールでもう一度確認する

四番目が重要です。許可したいURLだけを見て指定を広げると、管理用として遮断するつもりだったURLまで許可する場合があります。変更前に、許可する代表URLと遮断する代表URLを対にして決めます。

制作会社へ変更を依頼する場合も、依頼内容を「robots.txtを直す」だけにしません。対象URL、期待する判定、変更する指定、サーバー上のファイル、公開後の確認者まで伝えます。ファイル更新を委託しても、どのURLを検索へ出したいかを決める責任は事業者側に残ります。

古い版と取得エラーも確認する

robots.txtテスターでは、Googleが確認した以前の版と、取得を妨げた問題も調べられます。今のファイルに遮断指定が見つからない場合は、以前の版にその指定がなかったかを確認します。

また、robots.txtを取得するときにserver errorが起きれば、指定内容とは別の問題になります。Googleは、robots.txtに対して500 server errorを受け取った場合、通常はサイトのcrawlを一時停止すると案内しています。

したがって、調査を二つに分けます。

問題 調べる対象
URLが意図せず遮断される User-agentとDisallowなどの指定
robots.txt自体を取得できない HTTP status、server、redirect、応答時間

指定を直しても、robots.txtが500を返していれば解決しません。反対に、robots.txtを200で返せても、必要なURLを遮断する指定が残っていれば、内容の修正が必要です。

Fetch and renderと役割を分ける

robots.txtテスターが答えるのは、指定したURLをrobots.txtが許可するかどうかです。ページのHTMLを取得できるか、CSSやJavaScriptを使ってどのように表示されるかまでは、この判定だけでは分かりません。

公開ページと必要なresourceを許可した後は、Fetch as GoogleのFetch and renderで表示を確認します。そこでblocked URLが見つかったら、robots.txtテスターへ戻り、どの指定が遮断したかを調べます。

この二つは、次の順でつながります。

  1. Fetch and renderで欠けたページやresourceを見つける
  2. robots.txtテスターで遮断した指定を特定する
  3. テスター内で修正を試す
  4. サーバー上のファイルを更新する
  5. Fetch and renderで表示を再確認する

テスト画面で許可になったことは、検索順位やindex登録を保証しません。robots.txtによる遮断がなくなったことと、Googlebotが取得できること、内容がindexされること、検索結果で評価されることは別の段階です。

最初の一手は、検索から見つけてもらう必要がある代表URLを一つ、robots.txtテスターへ入れることです。遮断されていたら、強調された指定を記録し、編集欄で必要最小限の変更を試します。

戻る