Tuesday, January 25, 2011
Once in a while we get asked whether a site's visibility in Google's search results can be impacted in a negative way if it's unavailable when Googlebot tries to crawl it. Sometimes downtime is unavoidable: a site owner might decide to take a site down due to ongoing site maintenance, or legal or cultural requirements. Outages that are not clearly marked as such can negatively affect a site's reputation. While we cannot guarantee any crawling, indexing or ranking, there are methods to deal with planned website downtime in a way that will generally not negatively affect your site's visibility in the search results.
For example, instead of returning an HTTP result code  404 (Not Found) 
 
or showing an error page with the status code 200 (OK) 
when a page is requested,
  it's better to return a 503 
HTTP result code (Service Unavailable) which tells search
  engine crawlers that the downtime is temporary. Moreover, it allows site owners to provide
  visitors and bots with an estimated time when the site will be up and running again. If known, the
  length of the downtime in seconds or the estimated date and time when the downtime will be
  complete can be specified in an optional  Retry-After 
header 
,
  which Googlebot may use to determine when to recrawl the URL.
Returning a 503 
HTTP result code can be a great solution for a number of other
  situations. We encounter a lot of problems with sites that return 200 (OK) 
result
  codes for server errors, downtime, bandwidth-overruns or for temporary placeholder pages
  ("Under Construction"). The 503 
HTTP result code is the site owner's solution of
  choice for all these situations. As for planned server downtime like hardware maintenance, it's a
  good idea to have a separate server available to actually return the 503 
HTTP result
  code. It is important, however, to not treat 503 
as a permanent solution: lasting 503 
HTTP result codes can eventually be seen as a sign that the server is now
  permanently unavailable and can result in us removing URLs from Google's index.
If you set up a 503 (Service Unavailable) 
response, the header information might look
  like this when using PHP:
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Retry-After: Sat, 8 Oct 2011 18:27:00 GMT'); 
Similar to how you can make 404 
pages more useful to users 
,
  it's also a good idea to provide a customized 503 
message explaining the situation to
  users and letting them know when the site will be available again. For further information
  regarding HTTP result codes, please see RFC 2616 
.

