Jump to content

  • Log in with Facebook Log in with Twitter Log In with Google      Sign In   
  • Create Account

Subscribe to HRA Now!


Are you a Google Analytics enthusiast?

Share and download Custom Google Analytics Reports, dashboards and advanced segments--for FREE! 




From the folks who brought you High Rankings!

- - - - -

Handling Site Downtime

  • Please log in to reply
7 replies to this topic



    HR 1

  • Members
  • Pip
  • 2 posts

Posted 25 March 2010 - 12:47 AM

Hoping I'm posting this in the correct area...

I do work for a company that is doing maintenance on the server(s) that host their website. The DNS is pointed to these boxes (that are company-owned).

The window for downtime is 12 hours, but may be extended. To be completely protected, what provisions, if any, should we be considering to make sure that the site isn't crawled by any of the major engines during this time? Presumably, a failed crawl could mess up our rankings.

Excluding the entire site via robots.txt won't work, as the site will be completely inaccessible at this time.

The window is pretty small, so I'm not sure we'd want to 302 redirecting, especially if we don't have another location to temporarily host.

I appreciate any and all feedback!
~ M

#2 qwerty


    HR 10

  • Moderator
  • 8,695 posts
  • Location:Somerville, MA

Posted 25 March 2010 - 10:05 AM

I've never dealt with this issue, so please treat this response as more of a question than a recommendation. I wonder if it might be worthwhile to point DNS to a new server during the downtime, with the new server hosting nothing but a robots.txt file disallowing all user-agents and a single HTML page telling people the site is temporarily down.

DNS changes propagate pretty quickly these days, so if you time the change right, you shouldn't have many people or spiders hitting the wrong server, either before or after the work is done.

#3 Mhoram


    HR 4

  • Active Members
  • PipPipPipPip
  • 114 posts
  • Location:Quincy, Illinois, USA

Posted 25 March 2010 - 10:16 AM

I'd question whether 12+ hours of downtime is really necessary, perhaps getting a second opinion from an outside contractor on that. I can't think of any hardware or software maintenance that would require sites to actually be down for that length of time; I usually plan for minutes (and hope for seconds), not hours. But if it's truly necessary, like Qwerty said, it's not a big deal to point the domain to another server that can give out 'temporarily down' messages for a while.

One tip when changing DNS back and forth: ahead of time, set the TTL value very low, as low as a minute or two. TTLs often default to an hour or more, and people who hit your site right before you change its IP will continue hitting the old IP until the TTL expires. Setting the TTL low will make them lookup the IP more often, so when you change it, it propagates more quickly. Just don't forget to set it back up to something reasonable when you're all done.

#4 Scottie


    Psycho Mom

  • Admin
  • 6,294 posts
  • Location:Columbia, SC

Posted 25 March 2010 - 11:10 AM

I've had sites down for more than 12 hours (unplanned, of course) and while it's not ideal, it didn't affect search engine rankings once it was back online. Do what you can to warn customers/visitors and give them an estimate of when you'll be back but don't worry too much about search engines.

#5 Randy


    Convert Me!

  • Moderator
  • 17,540 posts

Posted 25 March 2010 - 11:12 AM

We have a bit of a different situation judging by the question. This doesn't appear to be a typical shared hosting server that are sitting in some datacenter 2,000 miles away, but actual company owned boxes sitting right there in the building with the techs who will be applying updates. That changes my answer a little bit, since you should have a bit more control than would be the case in a typical shared hosting environment where the hosting company controlled the router and to which server traffic was being routed.

The general answer for everyone is to deliver a 503 Service Temporarily Unavailable header status (and message) if possible. This is what all of the search engine recommend and is really the perfect solution because it means exactly what it says. That there is a temporary situation, so please come back later. You can even send a Retry-After time with the 503 header that tells them to try back in an hour, 30 minutes, 12 hours or whatever. Remember that the Retry-After number is in Seconds, not minute or hours. So for 12 hours it would be Retry-After: 43200

Back to the specific situation, and a question first.

Do you have an actual router that all traffic comes through before it gets sent on to a server?

If so you should be able to temporarily reconfigure the router to deliver your 503 status message, meaning you can have all of the actual servers down at once. There should be a configuration setting for your specific router that allows you to tell it to send a 503 message for all incoming traffic, and should give you the ability to customize the 503 error message. So if you control the router (not usually the case with remotely hosted server plans) getting the right message out there is usually a bit easier.

If you do not control the router then you're usually left with doing a temporary DNS change to point the domains all to a single server that will remain up during the down time. You've already gotten good info about doing this. Especially mhoram's tip about tweaking the TTL settings to be very low before the switch is thrown. In this case if you can forward them all to one location (I would personally do it to an IP number, not a domain name) you can set up a little PHP script there to deliver your 503 status message for every site. An example of this type of php error page would look something like:

header("HTTP/1.1 503 Service Temporarily Unavailable");
header("Status: 503 Service Temporarily Unavailable");
header("Retry-After: 43200");
<title>Servers Temporarily Offline</title>
<h1>Down for Maintenance</h1>
<p>Our servers are temporarily down for maintenance.  We apologize for any inconvenience.</p>
<p>The maintenance window is expected to be ~12 hours, beginning at 8am on March 25, 2010.  Please try again later.</p>

Reality is even a 12 hour window should not harm your rankings. The search engines are usually not going to remove a site from their index for such short windows. It usually takes a day or two of downtime to see anything start affecting what shows up in their index, which gets corrected quickly after the server comes back up and the site is re-spidered.

But even though they're pretty lenient with such things it is still best to try to tell them exactly what's happening if you can. And a 503 message is the best one to send them if it is possible.

#6 Mooro


    HR 4

  • Active Members
  • PipPipPipPip
  • 157 posts
  • Location:Loughborough, Leicestershire

Posted 25 March 2010 - 01:52 PM

@randy - nice, thanks for the retry-after header. When my site does it's big weekly database switchover I send a "Gone for a cuppa - back in 10 seconds" page with a 503 header and meta reload after 10 seconds.

This now includes the retry-after header which is a welcome addition!


#7 Scottie


    Psycho Mom

  • Admin
  • 6,294 posts
  • Location:Columbia, SC

Posted 25 March 2010 - 07:44 PM

That's pretty cool- I'll have to remember that!



    HR 1

  • Members
  • Pip
  • 2 posts

Posted 26 March 2010 - 12:30 AM

Thank you for the feedback! It really sounds like the 503 redirecting is the way to go, given the nature of the inquiry.

Again, very much appreciate the help on this. Cheers! Matt

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

We are now a read-only forum.
No new posts or registrations allowed.