什么是正确的HTTP状态代码,当一个网站停机维护发送?

是否有一个HTTP状态代码告诉谷歌(和其他人) 走开,稍后索引我

基本上,这是一个语义上告诉客户,该网站停机维修?

我考虑的是

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

我倾向于最后一个,但只是好奇哪一个是适当的select。

HTTP 503将是最合适的:

Web服务器(运行Web站点)当前无法处理HTTP请求,因为服务器暂时过载或维护。 这意味着这是一个暂时的情况,经过一段时间后会缓解。

谷歌网站pipe理员中心论坛上的这篇文章也是相关的:

  • 我可以限制Google在一周的特定一天内抓取我的网站吗?

是的 – 503是“我们已closures”的正确服务器响应。 如果你用一个普通的HTML页面来replace“我们已经closures”并且服务于一个200,那么它很可能会被Google索引。

如果您给Googlebot一个503,它就会消失,稍后再回来,而无需编制索引。


更新:

至于PHP的实现,你可能有兴趣看看下面的文章:

  • 持有页面和503状态码

还要注意retry-after标题,您可以在多less秒后指定另一个请求重试。

http://www.google.com/support/webmasters/bin/answer.py?hl=zh-CN&answer=40132

503(服务不可用)服务器当前不可用(因为服务器过载或停机维护)。 一般来说,这是一个暂时的状态。

我认为503是最合适的,因为5xx组一般用于服务器错误。

503服务不可用