robots.txtが503エラーを返すとどうなる?→最初の12時間はクロール完全停止、その後は?

[レベル: 中級]

robots.txt の取得にエラーが発生した際の Googlebot の挙動を説明する技術ドキュメントを Google は更新しました。

robots.txt が 5xx エラーを返す場合

具体的には、Googlebot による robots.txt の取得時に 5xx エラーが返されたときの処理の説明が変わりました。
とはいえ、従来の処理から変更があったわけではありません。
説明が複数箇所に散らばっていてわかりにくかったため、一箇所にまとめました。

robots.txt が 5xx のサーバーエラーを返した場合、Googlebot は次のように対応します。

  1. For the first 12 hours, Google stops crawling the site but keeps trying to fetch the robots.txt file.
  2. If Google can’t fetch a new version, for the next 30 days Google will use the last good version, while still trying to fetch a new version. A 503 (service unavailable) error results in fairly frequent retrying. If there’s no cached version available, Google assumes there’s no crawl restrictions.
  3. If the errors are still not fixed after 30 days:
    • If the site is generally available to Google, Google will behave as if there is no robots.txt file (but still keep checking for a new version).
    • If the site has general availability problems, Google will stop crawling the site, while still periodically requesting a robots.txt file.

この記事を書いている時点で日本語ドキュメントは未更新のため、僕が訳します。

  1. 最初の 12 時間は、サイトのクロールを停止しますが、robots.txt ファイルの取得は継続して試みます。
  2. 新しいバージョンを取得できない場合、その後 30 日間は、最後の有効なバージョンを使用し、引き続き新しいバージョンの取得を試みます。 503(サービス利用不可)エラーが発生した場合、かなり頻繁に再試行されます。 キャッシュされたバージョンがない場合、Google はクロール制限がないものと見なします。
  3. 30 日経ってもエラーが修正されない場合:
    • サイトが Google で一般的に利用可能な場合、Google は robots.txt ファイルがないかのように動作します(ただし、引き続き新しいバージョンを確認します)。
    • サイトに一般的な利用状況の問題がある場合、Google はサイトのクロールを停止しますが、robots.txt ファイルは定期的にリクエストします。

簡潔にまとめるとこうなります。

  1. 最初の 12 時間はサイト全体のクロールを停止
  2. (robots.txt を継続して取得できず)その後、30 日間:
    • 最新のキャッシュの robots.txt があればそれを使用
    • キャッシュした robots.txt がない場合は、制限なくクロール
  3. 30 日経過後:
    • サイトの大部分がアクセス可能 → 制限なくクロール
    • サイトの大部分がアクセス不可 → クロール停止

どの段階でも robots.txt の再取得は繰り返し試行されます。

「最初の 12 時間はサイト全体のクロールを停止」という処理は、どのドキュメントに記載されてたでしょうか?
僕は知らなかったです。

robots.txt が長期間エラーを返す場合は、通常のページの利用状況によってクロールするかしないかが分かれます。
“generally available” を「サイトの大部分」と僕は解釈しましたが、ゲイリーは「重要なページ (some other important pages)」と言っていました。
ここは、ちょっと曖昧です。

いずれにしても、robots.txt の取得がエラーを返すのは悪い状況です。
一刻も早く解消しなければなりません。