What is the correct HTTP status code to send when a site is down for maintenance?

HttpHttp Response-Codes

Http Problem Overview


Is there a HTTP status code to tell Google (and others) to go away, index me again later?

Basically, one that semantically tells clients that the site is down for maintenance?

The ones I have considered are

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

I'm leaning towards the last one, but was just curious as to which one was proper choice.

Http Solutions


Solution 1 - Http

HTTP 503 - Service Unavailable would be the most appropriate.

> The Web server (running the Web site) is currently unable to handle the HTTP request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay.

This post on the Google Webmaster Central Forum is also relevant:

> Yes - a 503 is the correct server response for "We're closed". If you substitute a normal HTML page saying "We're closed" and serve a 200 it's very likely to get indexed by Google. > > If you give the Googlebot a 503, it will just go away and come back later without indexing what you give it.


UPDATE:

As for the php implementation, you may be interested in checking out the following article:

Also notice the retry-after header, where you can specify after how many seconds another request should be re-attempted.

Solution 2 - Http

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

503 (Service unavailable) The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.

Solution 3 - Http

I'd consider the 503 to be most appropriate, since the 5xx-group is meant for server errors in general.

Solution 4 - Http

503 Service Unavailable

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionalexView Question on Stackoverflow
Solution 1 - HttpDaniel VassalloView Answer on Stackoverflow
Solution 2 - HttpLeeView Answer on Stackoverflow
Solution 3 - HttpHam VockeView Answer on Stackoverflow
Solution 4 - Httpdan04View Answer on Stackoverflow