My website is down. Now what? Part 1 – Overview

This is part of a series on diagnosing your website outage issues. This is part one; links to the other parts are here.

Website down! Aoooogah! Aoooogah!

Google Chrome showing a DNS error “ERR_NAME_NOT_RESOLVED”

We’ve all had that feeling – you go to your website and it’s not there. It’s down. There may or may not be an error message giving you some clue what happened and now you’ve got to figure out what to do.

First thing’s first – focus on figuring out where the break is. Don’t revert immediately into victim mode and start opening angry support tickets at every person who has ever touched your website in an all-consuming witch hunt. It’s your site, take control.

Understand your architecture

Everyone who owns a website has their stuff set up differently. Domains are purchased from somewhere, sometimes years ago; a web hosting service hosts your website somewhere; some company handles your name servers (Domain Name Service) and you may have other steps along the way such as a Content Distribution Network (CDN) or firewall. Only you know all this stuff, so bring that information to the table.

Understand the problem

“Down” is not a useful description of a website’s condition. If your website is not displaying, it’s useful to be more specific.

Does your web browser just show a blank white page with nothing on it? Is there an error message somewhere on the page that explains what has happened? Does your website load partially, but have some missing elements? Define what “down” means because the particular symptoms you’re seeing will lead to better investigations into the root cause.

Get a sense of scope

Is your website down for the entire world or is this just some local problem that is causing problems for just you? Maybe it’s just one network? Do some investigation.

To get a sense of whether your site is only down for you, a site like GeoPeeker is invaluable. It will check your site from six different locations around the world so you can get a quick sense of how widespread the problems is.

If it is just you, try to determine if it is just one of your networks. Most of us have a cell phone, so turn the wifi off on it and try to reach your site. By shutting off the wifi your phone will now use your cellular provider’s network which is different from your wifi network. If the site comes up on your phone, but not your computer, that’s a further clue that the issue is local to you and not widespread.

Understand the flow of traffic

In order for your website to show up in your browser, an amazingly long list of things have to occur just so.

  1. Your Internet Service Provider (ISP) must be functioning and must have up-to-date DNS cache.
  2. Your computer has to determine the proper IP address for your website. For that seemingly simply thing to happen, your domain has to be registered, it has to have proper nameservers configured at the domain registrar, and those nameservers must have correct records for your domain.
  3. The Internet is much like a series of roads. There are many ways to get from point A to point B. If a road is closed, you can usually go another route to get where you want to go. However, some days, you simply can’t; you have to sit in a traffic jam because there is just no other way to get out of where you are at the moment. Internet traffic is the same way, so another pitfall is that the route between your computer and your web site must be clear.
  4. The IP address that is returned in step 2 may point to a CDN, a firewall, or your web host depending on your architecture. These different things are referred to as ‘layers’ and the more layers in your architecture, the more places that need to be investigated to identify the location of the break
  5. The respective layers must perform their tasks properly in order for your site to load. If your DNS records point directly to your web host then the job becomes easier because there are less places to look. If your DNS records point to some other layer, such as a CDN or firewall, each needs to supply the bits it is supposed to supply and also properly pass along the bits it is supposed to pass on to the next layer.

If all that comes together, then you are rewarded with your website appearing in your browser.

Let’s start with DNS issues in part two.