How to Handle Planned Down Time

I often receive notifications from various online entities informing me of scheduled downtime for their site.  Surprisingly, many of the sites simply 404 or 403 their pages while their site is down.  I was amazed by the large sites that were 404ing during maintenance.  It just goes to show that many webmasters are actually webamatures.  A client recently asked me for a best-practice recommendation on website maintenance which brought this topic back to mind and made me decide to write this post.

Choosing a Maintenance Time
The first thing you need to consider when choosing when to take your site down for maintenance is during your lowest volume hours.  The easiest way to do tell, if you don’t know already, is to look at both your sales volume and your analytics data.  Both should clearly point to period that should be off-limits to downtime.  When you look for an appropriate time of day, be sure to examine the same day that you plan on taking the site down.  If it’s going down on a Saturday, look at the previous Saturday’s data.

Choose when to take your site down
Google Analytics Report Showing Traffic by Hour – It’s pretty plain that low tide happens from midnight – 5am.

When Do Search Engines Come?
It’s very important you don’t take your site down during your heaviest indexing time.  Google indexes each site a bit differently and the best way to tell when they are the most active on your site is to pull a raw log file for a week and use a program like Sawmill (my personal favorite) to analyze the log file and show you when Google is most active on your site.  Below is a screenshot of a Sawmill report on Googlebot’s hourly activity crawling a website. (The actual report is far more detailed than the line graph below)  Google’s spidering drops off during the same non-peak hours as human traffic does, and interestingly enough, Google’s 9:00pm spike in traffic coincides with an actual spike in user traffic.  Keep in mind that Googlebot and other search spiders do not execute javascript so they will not fire the analytics tracking code.  Your server’s raw log file is the best way to see their activity.

Sawmill report on Googlebot activity
Sawmill report on Googlebot’s hourly activity.

Server Side / NOC Processes
If your server is scheduled to be backed up at a particular time of day, every day, it’s important to either stop, pause, or postpone your backup if possible.  You don’t want your backup file corrupted when you take your server down.  Also, if your downtime is for a rather extended period, you don’t want your backup to pick back up during high-traffic and bog down your machine.

Website Maintenance Notification for Users
No matter how well you plan, you will probably still have some people visit your site during your downtime.  The best thing you can do is serve up a page notifying them of the maintenance in progress asking their patience and give an indication to when the site will be back up.  I’ve seen some maintenance notifications that put up a counter that counts down to when the site is expected to be live again.  A growing trend is to place an amusing graphic for users who happen to show up.  I saw the placeholder below on a site once and grabbed a screenshot.  It might not be appropriate for your website, but an amusing message can go a long way to bringing a customer back who otherwise might try a new company.

Amusing Maint Message
I can’t remember where I saw this maintenance message, but it made me smile.

Website Maintenance Notification for Search Spiders
One visitor you definitely don’t want to ignore is a search bot.   You don’t want them to think even for a minute that your site is broken.  Sure, they are understanding, but imagine if you had to take your site down several times in the same week.  Not good.  I rarely allow a client to serve a 404, even when they remove pages.  404s mean BROKEN.  What’s worse than a 404?  Serving up a temporary holding page for every requested URL with the server returning a 200 OK.  I see this a lot.  It’s really not good.  When your site goes down for work, you need to return a 503 server response.

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.

Google’s own Webmaster Central Blog says that they prefer to receive a 503 response instead of a 200 or a 404.

Configure a 503 Response
Unfortunately configuring a 503 response isn’t as straight forward as flipping a switch.  There are several different methods of implementation depending on your server technology and version. I recommend a little bit of research and testing before D-Day.  Setup a single page to 503 and then test the server’s response using a response header checker.  Be sure your 503 response specifies the time you expect to have your site back up and running.

Back it Up Before You Take it Down!
Enough said.

To sum up, a little bit of knowledge and research will go a long way to retaining your rankings and customers during a planned site outage.

Feel free to bookmark this post and reference it again in the future when planning required website or server maintenance.