Stay organized with collections
Save and categorize content based on your preferences.
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.
Posted by Tomer Honen and
Kaspar Szymanski,
Search Quality Team, Dublin
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],[],[[["\u003cp\u003eWebsite downtime can negatively impact search engine visibility if not handled properly.\u003c/p\u003e\n"],["\u003cp\u003eUsing a 503 HTTP result code during downtime informs search engines that the issue is temporary, helping to maintain your site's ranking.\u003c/p\u003e\n"],["\u003cp\u003eProvide an estimated time of service restoration in the \u003ccode\u003eRetry-After\u003c/code\u003e header or within a custom 503 page for both users and search engines.\u003c/p\u003e\n"],["\u003cp\u003eAvoid using 200 (OK) status codes for errors or temporary pages; instead utilize 503 for server issues, maintenance, or bandwidth overloads.\u003c/p\u003e\n"],["\u003cp\u003eWhile helpful for temporary issues, prolonged use of 503 can lead to URL removal from search engine indexes, so address the underlying problem promptly.\u003c/p\u003e\n"]]],["During planned website downtime, use a `503 (Service Unavailable)` HTTP result code instead of `404` or `200`. This signals to search engines that the downtime is temporary. Additionally, implement a `Retry-After` header to specify the downtime's duration or expected completion time. Avoid using `503` as a permanent solution, as extended use may cause URL removal from search indexes. Customize the `503` message to inform users about the situation.\n"],null,["# How to deal with planned site downtime\n\nTuesday, January 25, 2011\n| It's been a while since we published this blog post. Some of the information may be outdated (for example, some images may be missing, and some links may not work anymore). Check out our [best practices for temporarily disabling a site](/search/docs/crawling-indexing/pause-online-business#best-practices-disabling-site).\n\n\nOnce in a while we get asked whether a site's visibility in Google's search results can be impacted\nin a negative way if it's unavailable when Googlebot tries to crawl it. Sometimes downtime is\nunavoidable: a site owner might decide to take a site down due to ongoing site maintenance, or\nlegal or cultural requirements. Outages that are not clearly marked as such can negatively affect\na site's reputation. While we cannot guarantee any crawling, indexing or ranking, there are\nmethods to deal with planned website downtime in a way that will generally not negatively affect\nyour site's visibility in the search results.\n\n\nFor example, instead of returning an HTTP result code\n[`404 (Not Found)`](https://en.wikipedia.org/wiki/HTTP_404)\nor showing an error page with the status code `200 (OK)` when a page is requested,\nit's better to return a `503` HTTP result code (Service Unavailable) which tells search\nengine crawlers that the downtime is temporary. Moreover, it allows site owners to provide\nvisitors and bots with an estimated time when the site will be up and running again. If known, the\nlength of the downtime in seconds or the estimated date and time when the downtime will be\ncomplete can be specified in an optional\n[`Retry-After` header](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.37),\nwhich Googlebot may use to determine when to recrawl the URL.\n\n\nReturning a `503` HTTP result code can be a great solution for a number of other\nsituations. We encounter a lot of problems with sites that return `200 (OK)` result\ncodes for server errors, downtime, bandwidth-overruns or for temporary placeholder pages\n(\"Under Construction\"). The `503` HTTP result code is the site owner's solution of\nchoice for all these situations. As for planned server downtime like hardware maintenance, it's a\ngood idea to have a separate server available to actually return the `503` HTTP result\ncode. It is important, however, to not treat `503` as a permanent solution: lasting\n`503` HTTP result codes can eventually be seen as a sign that the server is now\npermanently unavailable and can result in us removing URLs from Google's index.\n\n\nIf you set up a `503 (Service Unavailable)` response, the header information might look\nlike this when using PHP: \n\n```\nheader('HTTP/1.1 503 Service Temporarily Unavailable');\nheader('Retry-After: Sat, 8 Oct 2011 18:27:00 GMT');\n```\n\n\nSimilar to how you can\n[make `404` pages more useful to users](/search/docs/crawling-indexing/http-network-errors#pagegone),\nit's also a good idea to provide a customized `503` message explaining the situation to\nusers and letting them know when the site will be available again. For further information\nregarding HTTP result codes, please see\n[RFC 2616](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10).\n\n\nPosted by Tomer Honen and\n[Kaspar Szymanski](https://plus.google.com/105501965108087246894/about),\nSearch Quality Team, Dublin"]]