Website is down

Your website is down. Find the cause in about ten minutes.

Down means half a dozen different faults that look identical in a browser. The error message you get is the biggest clue you have, so read it carefully before you call anyone.

Sixty-second checks

  • Load the site on a phone with Wi-Fi turned off. Different network, different DNS, different cache.
  • Try both the www and non-www versions, and both http and https.
  • Write down the exact error text. It is the single most useful piece of evidence you have.
  • Check whether your email is also down. Website plus email failing together points somewhere very specific.

Work down the stack in order

Each step rules out a layer. Do them in this order and you will not waste an hour on the wrong one.

  1. Rule out yourself

    Load the site from a device on a completely different network, ideally a phone on cell data. If it works there, the site is up and your problem is local: a browser cache, a DNS cache, an office firewall, or your own IP being blocked by the host security system after too many failed logins. The last one is more common than people expect and clears with a call to the host.

  2. Read the error, because they mean different things

    A connection error or "this site cannot be reached" means nothing answered at all, which points at DNS, the domain, or a server that is off. A certificate warning means the server answered and the certificate is wrong or expired. A 500 error means the server is running and the site code crashed. A 503 means the server is up but refusing work, often during maintenance or under load. A 403 means you are being blocked deliberately.

  3. Check whether the domain still resolves

    Use any online DNS lookup for your domain. If there are no A records and no nameservers, the problem is above the website entirely: an expired domain, a registrar hold, or DNS that was pointed somewhere that no longer exists. If it resolves to an IP address, DNS is fine and the problem is further down.

  4. Check the domain expiry date

    Look the domain up at lookup.icann.org. If website and email stopped on the same day with no other change, this is the first thing to check, and it is very often the answer. Renewing usually brings it back within hours, though it can take longer to propagate.

  5. Check the certificate

    If you are seeing a security warning rather than a blank failure, the site is up and the certificate is the problem. Run it through our SSL checker. Expired, or issued for the wrong name, or covering the bare domain but not www. This is a fix measured in minutes once you know it is the cause, and it is not a hack, although it looks alarming enough that people assume it is.

  6. Check the host status page and your account

    Most hosts publish a status page. Check it before you sit in a support queue. Then log in to the hosting account and look for a suspension notice: unpaid invoice, resource overage, or an abuse complaint will all take a site offline while everything else about it is perfectly healthy.

  7. If the server answers but the site errors, look at what changed

    A 500 error with a working server almost always follows a change: a plugin or theme update, a PHP version change made by the host, an edit to a configuration file, or a full disk. WordPress will email the site admin address a recovery link when a plugin causes a fatal error. Check that mailbox. If you can get to the files, renaming the plugins folder disables all plugins at once and tells you immediately whether a plugin is the cause.

The usual causes, and what each one looks like

Match the symptom to the row. The pairing of what the browser says with whether email still works narrows this down fast.

Common, and often missed

Expired domain

How to check: Website and email both stopped on the same day. DNS lookups return nothing. The ICANN lookup shows an expiry date in the past.

The fix: Renew at the registrar today. There is a grace period after expiry, then a redemption period with a much larger restore fee, then the name can be taken by anyone. Every day of delay makes this more expensive.

Common

Expired or mismatched SSL certificate

How to check: A browser security warning rather than a failure to connect. Often the site works at one address and warns at the other, because the certificate covers one name and not both.

The fix: Reissue the certificate and make sure it covers both the bare domain and www. If automatic renewal failed, the usual reason is that DNS was changed and the validation could not complete.

Common on WordPress

A plugin, theme, or update broke the site

How to check: A 500 error or a blank white page that started right after an update. The hosting control panel and other sites on the same account still work fine.

The fix: Check the admin mailbox for a WordPress recovery link. Otherwise, disable plugins from the file manager by renaming the plugins folder, confirm the site comes back, then re-enable them one at a time until it breaks again.

Common

Hosting account suspended

How to check: A host branded page rather than your site, or a 403. Check the hosting account for an unpaid invoice, a storage or bandwidth overage, or an abuse notice.

The fix: Pay the invoice or answer the notice. Suspensions usually lift quickly once the reason is resolved, but nobody will tell you about it if the billing email goes to an address nobody reads.

After any change

DNS pointing at nothing

How to check: The site went down within a day or two of someone editing DNS, changing nameservers, or moving hosts. Often the A record points at a server that no longer exists.

The fix: Point the record back at the correct IP address. Allow for propagation: many resolvers will still be serving the old answer for as long as the record time-to-live said they could.

Less common than blamed

The host itself is having an outage

How to check: The host status page says so, or several unrelated sites on the same host are down at the same time.

The fix: There is nothing to do but wait and keep customers informed. This is worth noting though: if it happens often, that is a hosting decision rather than an incident.

Feels like an outage

Your own IP address is blocked

How to check: The site works everywhere except your office. Often follows several failed login attempts, or a security plugin reacting to something ordinary.

The fix: Ask the host to unblock your IP, and check any security plugin for a lockout list. Nothing is actually wrong with the site.

While it is down, and when to escalate

A short outage handled well costs a lot less than a long one handled quietly.

  • Tell people. A note on your business profile or social page saying the site is down and giving a phone number keeps the calls coming while you fix it.
  • Do not start making changes you cannot undo. Editing files at speed during an outage is how a one-hour problem becomes a three-day one.
  • If the domain has expired, that is the emergency. Everything else can wait until it is renewed.
  • If the host says the account was suspended for abuse, treat that as a possible compromise, not just a billing issue.
  • If you have been down for more than a couple of hours and do not know why, hand it over. Diagnosis is the cheap part.
  • Once it is back, set up uptime monitoring so you are not learning about the next outage from a customer.

Questions during an outage

How do I tell if my website is down for everyone or just me?

Load it on a phone with Wi-Fi switched off. That gives you a different network, different DNS resolvers, and a different browser cache in one move. If it works there, the site is up and the problem is on your end.

What does a 500 error mean?

The server is running and reachable, and the code that builds your page crashed. On WordPress that is nearly always a plugin, a theme, or a PHP version change. It is not DNS and it is not your domain, which rules out a lot immediately.

My site and my email both stopped. What is that?

Check the domain expiry first. Website and email failing together on the same day is the classic signature of an expired domain, because both depend on DNS records that stop being served. A hosting failure usually takes down one and not the other.

How long does DNS take to update after I fix it?

Often minutes, but it can take up to 24 to 48 hours for every resolver to catch up, depending on the time-to-live values on the records and the caches in between. Your own computer may hold the old answer longest.

Can I get compensation for downtime?

Some hosts offer credit against an uptime commitment, and you generally have to ask for it. Read what the commitment actually covers first, because scheduled maintenance is usually excluded.

How do I stop being the last to know?

Uptime monitoring. Something that checks the site every few minutes from outside your network and messages you when it fails. It costs very little and it changes an outage from a customer complaint into a notification.

Still down and out of ideas? Send me the error.

The exact error text and the domain name are usually enough for me to tell you which layer has failed. If it is something I can fix quickly, I will say so.