views:

177

answers:

4

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.

Thanks

Update

Is this the correct way to send it with PHP?

header('Status: 503 Service Unavailable');
+10  A: 

HTTP 503 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.

Daniel Vassallo
+2  A: 

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

Ham
+2  A: 

503 Service Unavailable

dan04
+3  A: 

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.

Lee