[レベル: 中級]
robots.txt の取得にエラーが発生した際の Googlebot の挙動を説明する技術ドキュメントを Google は更新しました。
robots.txt が 5xx エラーを返す場合
具体的には、Googlebot による robots.txt の取得時に 5xx
エラーが返されたときの処理の説明が変わりました。
とはいえ、従来の処理から変更があったわけではありません。
説明が複数箇所に散らばっていてわかりにくかったため、一箇所にまとめました。
robots.txt が 5xx
のサーバーエラーを返した場合、Googlebot は次のように対応します。
- For the first 12 hours, Google stops crawling the site but keeps trying to fetch the robots.txt file.
- 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.
- 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.
この記事を書いている時点で日本語ドキュメントは未更新のため、僕が訳します。
- 最初の 12 時間は、サイトのクロールを停止しますが、robots.txt ファイルの取得は継続して試みます。
- 新しいバージョンを取得できない場合、その後 30 日間は、最後の有効なバージョンを使用し、引き続き新しいバージョンの取得を試みます。
503
(サービス利用不可)エラーが発生した場合、かなり頻繁に再試行されます。 キャッシュされたバージョンがない場合、Google はクロール制限がないものと見なします。- 30 日経ってもエラーが修正されない場合:
- サイトが Google で一般的に利用可能な場合、Google は robots.txt ファイルがないかのように動作します(ただし、引き続き新しいバージョンを確認します)。
- サイトに一般的な利用状況の問題がある場合、Google はサイトのクロールを停止しますが、robots.txt ファイルは定期的にリクエストします。
簡潔にまとめるとこうなります。
- 最初の 12 時間はサイト全体のクロールを停止
- (robots.txt を継続して取得できず)その後、30 日間:
- 最新のキャッシュの robots.txt があればそれを使用
- キャッシュした robots.txt がない場合は、制限なくクロール
- 30 日経過後:
- サイトの大部分がアクセス可能 → 制限なくクロール
- サイトの大部分がアクセス不可 → クロール停止
どの段階でも robots.txt の再取得は繰り返し試行されます。
「最初の 12 時間はサイト全体のクロールを停止」という処理は、どのドキュメントに記載されてたでしょうか?
僕は知らなかったです。
robots.txt が長期間エラーを返す場合は、通常のページの利用状況によってクロールするかしないかが分かれます。
“generally available” を「サイトの大部分」と僕は解釈しましたが、ゲイリーは「重要なページ (some other important pages)」と言っていました。
ここは、ちょっと曖昧です。
いずれにしても、robots.txt の取得がエラーを返すのは悪い状況です。
一刻も早く解消しなければなりません。