views:

803

answers:

6

In a situation when you are doing a major code release and/or database schema change to a production environment is it detrimental to SEO to put up a "Gone Fishin'" page while the upgrade happening?

Assume that using the old code/database schema during the upgrade could put the post-upgrade DB into an undesirable/unknown state.

+1  A: 

How long will the “Site Down for Maintenance” page be live? If only a day, then it would be fine.

Joe R
+9  A: 

No, not if you make sure to send the proper HTTP-headers. Do not send 200 OK, as this will make the search engines index your error message.

I would suggest sending "503 Service Unavailable" together with a text explaining why and how long you will be down..

rebra
If the maintenance page is there for a month it doesn't matter what you put in the headers...
Joe R
Well, if deployment takes a month, that is probably the least of your problems. :-)
rebra
That's true... :)
Joe R
A: 

Typically this is done for short periods of time (under 6-12 hours). I have never noticed a situation where this is an issue, as the google bot sees the dramatic change in content and it appears to essentially come back later like visitors. Now this isn't an official remark, just what I have noticed on my sites.

Mitchel Sellers
A: 

It would either have to:

  • be a really long upgrade, or
  • you'd be seriously unlucky to have a spider try your site while upgrading

But if you are going to be longer than half a day to a day, consider this:

I would seriously suggest chucking out something other than a 200 response code. If the spider hits and your server blerts out a 503 (service unavailable) code, chances are it will come back later on or another day.

If it gets a 200 it might assume your site has changed and change its index.

Oli
+2  A: 

For a list of HTTP status codes see:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Specially for maintenance:

10.5.4 503 Service Unavailable

The server is currently unable to handle the 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. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response.

rebra
A: 

Like others said, return an appropriate error code. Either return a 40x (not 404) or 50x code. Don't redirect to a "maintenance" page, or return a 200 with a static maintenance page.

I've seen a few pages from time to time on Google which are cached as "down for maintenance" or something.

MarkR