robots.txtの5xxエラーは30日を境にクロールの処理が変わる

[レベル: 上級]

REP のインターネット標準化に伴い、Google が公開している robots.txt の技術ドキュメントに更新が入りました。
※この記事を公開した時点では、日本語ページは未更新。

robots.txt が 500 番台のエラーを返すときの処理が変わりました。

30 日まではクロールしない、30日を超えるとクロールを再開することも

30 日間まではクロールを完全停止

robots.txt が 5xx エラーを返す場合、30 日間まではそのサイトのクロールを完全に停止します。
言い換えると、サイトのクロールが完全に拒否されていると検索エンジンはみなします(503 エラーを返す場合は、robots.txt 取得のための再試行はほかの 5xx エラーよりも頻繁になる)。

robots.txt が 5xx エラーを返すと、検索結果からサイト全体が消えることもあるので注意が必要です。

30 日を超えるとクロールを再開

robots.txt が 5xx エラーを返す期間が 30 日を超えると、つまり 31 日目からはクロールを再開します。

ただしこれにもパターンが 2 つあります。

  • robots.txt のキャッシュがある場合
    robots.txt のキャッシュを Google が保持している場合は、そのキャッシュされた robots.txt に従ってクロールします。通常は、robots.txt のキャッシュ期間は最長で 1 日です。
    キャッシュ robots.txt で、どの URL もブロックされていなければサイト全体をクロールするし、ブロックされている URL があればその URL はクロールしません。
  • robots.txt のキャッシュがない場合
    robots.txt のキャッシュを Google が保持していない場合は、そのサイト全体のクロールを再開します。
    robots.txt は存在しないもの、つまりどの URL もブロックされていないものとして処理します。

robots.txt が 5xx エラーを返す期間が 30 日を超えると、インデックスに復活する可能性が高いでしょう。

robots.txt が 5xx エラーを返すときはいずれクロールが再開されるようになりました。
とはいえ、一時的であってもクロールが停止するのは好ましいことではありません。
robots.txt が 5xx エラーを返さないように気を付けましょう。

なお robots.txt が存在せず 404 を返すことに問題はありません。
クロールを拒否する URL がないものとして検索エンジンはみなし、サイト全体をクロールします。
404 に限らず、401 や 403 などほかの 4xx エラーも同様の扱いです。