web-dev-qa-db-ja.com

サイトがメンテナンスのためにダウンしているときに送信する正しいHTTPステータスコードは何ですか?

Google(など)に離れて、後でもう一度インデックスを作成するを伝えるHTTPステータスコードはありますか?

基本的に、サイトがメンテナンスのためダウンしていることをクライアントに意味的に伝えるものですか?

私が検討したものは

304 => Not modified
307 => Temporary redirect
410 => Gone
503 => Service Unavailable

私は最後の1つに傾いていますが、どちらがproper選択であるかについて興味がありました。

76
alex

HTTP 503-Service Unavailable が最も適切です。

(Webサイトを実行している)Webサーバーは、サーバーの一時的な過負荷またはメンテナンスのため、現在HTTP要求を処理できません。これは、これが一時的な状態であり、しばらくすると緩和されることを意味します。

Googleウェブマスターセントラルフォーラムのこの投稿も関連性があります。

はい-503は「We're closed」に対する正しいサーバー応答です。 「私たちは閉じています」という通常のHTMLページに置き換えて200を提供すると、Googleによってインデックスが作成される可能性が非常に高くなります。

Googlebotに503を指定すると、指定したものをインデックスに登録せずに、Googlebotが消えて後で戻ります。


UPDATE:

PHPの実装については、次の記事をご覧ください。

retry-after ヘッダー。何秒後に別のリクエストを再試行するかを指定できます。

102
Daniel Vassallo

から http://www.google.com/support/webmasters/bin/answer.py?hl=ja&answer=40132

503(サービスが利用できません)サーバーは現在利用できません(メンテナンスのために過負荷またはダウンしているため)。通常、これは一時的な状態です。

8
Lee

5xxグループは一般的なサーバーエラーを対象としているため、503が最も適切であると考えています。

3
Ham Vocke

503サービス利用不可

3
dan04