Let's say that theoretically you run a ecommerce shop. There may be times, once a year, that you need to take the site down to update product information or to do some maintenance.

What would happen to your page rankings? I would assume that we would direct any page hit to the maintenance page.


Here's how I've managed this in the past w/Apache (with no apparent change to ranking):

1. Create a maintenance page with a defined open/close for the maintenance window - make the maintenance window about twice the amount of time you anticipate maintenance to last so you can roll-back if necessary

2. Rewrite rule to direct traffic to maintenance page:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4
RewriteCond %{REQUEST_URI} !maintenance\.html$
RewriteRule .* /maintenance.html [L,R=307]

(Where 1\.2\.3\.4 is a regexp for your IP)

3. Complete maintenance and testing, comment out rewrite directives

The 307 Temporary redirect is, to the best of my knowledge, the proper response header for a maintenance situation, I've never seen any problems with maintenance lasting 1-3 hours on moderately busy sites (i.e. 100-500 users/hour).


Per John Mueller's comments, you should also configure your webserver to throw a 503 error with a Retry-After timeframe to indicate that spiders should not cache the contents of the maintenance page.

To this end, you could follow AskApache's 503/Retry-After HowTo.

  • Yep. 307 is exactly what you want. – John Conde Oct 28 '10 at 3:49
  • 3
    Also make absolutely sure that your maintenance page is returning a 503 HTTP result code. Without the 503, search engines might assume that you want to have that content indexed (which is probably not the case). – John Mueller Oct 28 '10 at 12:49
  • 1
    @John Mueller - Ah, you're right - I forgot to mention the <meta name="robots" content="noindex" /> tag on the maintenance page - will add that – danlefree Oct 28 '10 at 12:52
  • 1
    Almost :) - the 503 is important because crawlers won't read the contents of the page at all and instead just retry later. The noindex meta tag would be incorrect, since it would basically tell search engines to remove the contents from the index (it would remove both the maintenance page and potentially the original URL from the index). I would not recommend using noindex on a maintenance page. – John Mueller Oct 29 '10 at 20:31
  • 1
    @John_Mueller - Not something I noticed over the course of performing maintenance though, to be fair, maintenance rarely took more than 30 minutes and the site wasn't generating enough new content to warrant constant spidering so I'll defer to your experience. – danlefree Oct 29 '10 at 20:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.