[レベル: 上級]
Google 検索では、503
の HTTP ステータスコードが 404
のステータスコードとして扱われる場合があります。
503
は、サーバーメンテナンスや処理できないほどのアクセス集中のためにサービス提供を停止していることを意味します。503
のステータスコードが返された場合、アクセスできないとしてもそのページのインデックス状態に Google は変更を加えません。
503 が 404 扱いされるケース
ところが、503
を返していても 404
のように扱われるケースがあります。
つまり、インデックスから削除されるケースです。
誤って 503 を返している
ページを削除したときは、本来ならば 404
(もしくは 410
)を返します。
それなのに、構成ミスにより 404
ではなく 503
を返していると Google が判断した場合は、その URL を 404
ページとして Google は扱います。
たとえば、「お探しのページは見つかりませんでした」というエラーページを表示しているのに、HTTP ステータスコードでは 503
が返っているような状況です。
この処理に関しては、HTTP ステータスコードの技術ドキュメントで言及されています。
Google は、サイトが誤って構成されているためにページ不明の
404
ではなく5xx
が返されていると判断できる場合、そのサイトからの5xx
エラーを404
エラーとして扱います。たとえば、
5xx
ステータス コードを返すページのエラー メッセージが「ページが見つかりません」の場合、Google はそのステータス コードを404 (not found)
と解釈します。
長期に渡って 503 を返し続けている
長い期間に渡って 503
を返す状態が継続した場合も、その URL を Google は 404
相当に扱い、インデックスから削除します。
長い期間と書きましたが、503
が数日も続けば Google 検索ではインデックスから消え始めるかもしれません。
一般的には、一時的なサービス停止に 503
は用いられます。
📝すずき補足: Retry-After
ヘッダーでサービス再開までの時間を指定可能
503
をずっと返していてインデックスから削除されたのを僕は実際に体験しました。
ついでに言うと、429
を返すページも状態が継続するとインデックスから消えます。
📝すずき補足: 429
は “Too Many Requests”
を意味し、一定期間に一定回数以上アクセスした相手に、サーバーが応答の継続を拒否する目的で使われる
ということで、503
を構成する必要に迫られたときは、Google による処理を正しく理解して使いましょう。
なお、503
に限らず 500
番台の HTTP ステータスコードは Google 検索ではすべて同様に扱われます。
[H/T] Praveen Sharma & Gary Illyes