Какой правильный код состояния HTTP нужно отправить, когда сайт закрыт на техническое обслуживание? - PullRequest
74 голосов
/ 07 мая 2010

Есть ли код состояния HTTP, чтобы сообщить Google (и другим), что исчезнет, ​​добавьте меня снова позже ?

В основном, тот, который семантически сообщает клиентам, что сайт закрыт на техническое обслуживание?

Те, которые я рассмотрел,

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

Я склоняюсь к последнему, но мне было просто любопытно, какой из них был правильным выбором.

Ответы [ 4 ]

99 голосов
/ 07 мая 2010

HTTP 503 - служба недоступна будет наиболее подходящим.

Веб-сервер (работающий на веб-сайте) в настоящее время не может обработать HTTP-запрос из-за временной перегрузки или обслуживания сервера. Подразумевается, что это временное состояние, которое будет смягчено после некоторой задержки.

Этот пост на Центральном форуме Google для веб-мастеров также актуален:

Да - 503 - это правильный ответ сервера для «Мы закрыты». Если вы замените обычную HTML-страницу с надписью «Мы закрыты» и дадите 200, это очень вероятно будет проиндексировано Google.

Если вы дадите роботу Google 503, он просто уйдет и вернется позже без индексации того, что вы ему даете.


UPDATE:

Что касается реализации php, вас может заинтересовать следующая статья:

Также обратите внимание на заголовок retry-after, в котором вы можете указать, через сколько секунд следует повторить другой запрос.

7 голосов
/ 07 мая 2010

С http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=40132

503 (служба недоступна) Сервер в данный момент недоступен (так как он перегружен или отключен для обслуживания). Обычно это временное состояние.

3 голосов
/ 07 мая 2010

503 Сервис недоступен

3 голосов
/ 07 мая 2010

Я бы назвал 503 наиболее подходящим, поскольку группа 5xx предназначена для общих ошибок сервера.

...