Skip to content
AlertPing

Guides

What causes website downtime, and how to catch each cause

| Guides | 8 min read

Most website downtime traces back to a short list of causes: traffic spikes that outrun capacity, bad deploys, expired SSL certificates, DNS mistakes, hosting or server failures, database overload, failing third-party dependencies, and DDoS attacks. Human error, usually a botched change, is behind a large share of outages. The common thread is that almost all of them are catchable in seconds with monitoring, long before a customer notices.

Knowing the causes matters because it changes how you defend against them. You cannot prevent every outage, but you can recognize the usual suspects, harden the ones you can, and set up detection for the rest so the clock starts the moment something breaks rather than when the first complaint lands.

What causes website downtime?

Website downtime happens when something between your visitor and your content fails: the server, the code, the certificate, the DNS, the network or a service you depend on. Here are the eight causes behind most outages, what triggers each, and how you catch it.

Cause What triggers it How to catch it
Traffic spikeA campaign, launch or viral moment overloads capacityResponse-time and error alerts
Bad deployA code or config change ships a breakUptime check right after each release
Expired SSL certificateA cert lapses and browsers block the siteCertificate expiry monitoring
DNS errorA misconfigured or expired DNS recordChecks from multiple regions
Server or host failureHardware, provider outage or a full diskUptime and port checks
Database overloadConnection exhaustion or a slow query stormError-rate and timeout alerts
Dependency failureA third-party API or service goes downAPI checks with assertions
DDoS or attackMalicious traffic overwhelms the siteAvailability alerts from outside your network

What is the most common cause of website downtime?

Human error, most often a bad deploy or configuration change, is the single most common cause. A release goes out with a broken migration, a wrong environment variable, or a change that works locally but not in production, and the site falls over minutes later. This is also the most preventable category, because you control the timing: ship during business hours, keep changes small, and check the site immediately after every deploy so you catch the break in seconds rather than when traffic reveals it.

Traffic spikes run a close second, and they are trickier because the trigger is often good news. A feature on a popular newsletter, a launch, a seasonal rush, and load exceeds what the servers can handle. The site slows, then times out, then errors. Autoscaling and caching help, but the first defense is knowing it is happening, which is where response-time alerting earns its place.

The causes you do not control

Plenty of outages start outside your own code. A hosting provider has a regional incident. A DNS change propagates wrong. And modern sites lean on a web of external services: a payment gateway, an email provider, or a data integration that connects your apps and APIs can go dark and take a feature down with it, even though your servers are perfectly healthy. These are the failures you cannot fix by writing better code, only by detecting fast and having a fallback.

Expired SSL certificates deserve a special mention because they are entirely avoidable and still catch teams constantly. A certificate lapses, browsers throw a full-page security warning, and to a visitor the site is down even though the server is fine. The fix is trivial once you know, which is exactly why advance warning matters: see SSL monitoring for how to get alerted weeks before a certificate expires.

alertping

You cannot fix an outage you have not noticed

AlertPing checks your site every 30 seconds from three regions and sends a down alert by SMS, email, Slack or webhook the moment something fails, whatever the cause. SMS on every plan, flat from $19 a month.

How do you prevent website downtime?

You cannot eliminate downtime, but you can shrink both how often it happens and how long it lasts. On prevention: keep deploys small and reversible, ship during hours when someone is watching, put a CDN and caching in front of the origin to absorb spikes, and automate certificate renewal so SSL never lapses. Build in redundancy for the pieces you can, so one failed server or region does not take everything down.

On recovery, which matters just as much, the biggest lever is detection speed. Most of the time between a site breaking and a site being fixed is time before anyone noticed. Cut that to seconds and you cut the whole outage short. Pair fast detection with clear runbooks and a known on-call rotation, and the same failure that used to cost an hour costs a few minutes.

How do you know if your website is down?

Do not rely on noticing yourself or on customers telling you, because both are slow and the second is embarrassing. Use an uptime monitor that checks your site continuously from outside your own network and alerts you the moment a check fails. Checking from multiple regions matters, because it separates a real outage from a local network blip and cuts false alarms.

AlertPing checks every 30 seconds from three regions, confirms an outage is real before it pages you, and sends a website down alert by SMS, email, Slack or webhook within seconds, whatever the underlying cause. For the fuller picture of continuous coverage, see website monitoring, and to compare the options, the best uptime monitoring tools roundup. The cause of an outage varies; the way you find out about it should not.

keep reading

More from the blog

· SLAs

Error budget: what it is and how to use one

8 min read

· Playbooks

Runbook template for incident response that gets used

8 min read

· Playbooks

Incident postmortem template that teams actually use

8 min read

· Playbooks

On-call rotation best practices that keep engineers sane

8 min read

· SLAs

MTTR (mean time to recovery): what it is and how to cut it

7 min read

· Guides

Heartbeat monitoring: what it is and how it works

7 min read

· Guides

Status page examples and what the good ones get right

7 min read

· Guides

API uptime SLA: what a good one looks like

8 min read

· Guides

How to create a status page in 6 steps

7 min read

· Guides

SLA service credits: what they are and how they work

8 min read

· Guides

Synthetic monitoring vs uptime monitoring: the difference

8 min read

· Guides

What is a status page?

6 min read

· Guides

Status page vs uptime monitoring: what is the difference?

6 min read

· Guides

What does 99.9% uptime mean?

6 min read

· Guides

What is five nines (99.999%) uptime?

8 min read

· Guides

How to calculate uptime percentage

7 min read

· Guides

SLA vs SLO vs SLI: what is the difference?

7 min read

· Guides

How to get alerts when your website goes down

7 min read

· Guides

How to monitor an online store for downtime

9 min read

· Guides

Why is my Shopify store unavailable?

8 min read

· Comparisons

How much does Site24x7 cost?

8 min read

· Guides

What is a dead man's switch in monitoring?

9 min read

· Guides

Why is my WordPress site down?

9 min read

· Guides

How to monitor WooCommerce uptime and checkout

8 min read

· Guides

How to monitor an API for errors, not just uptime

8 min read

· Economics

How much does website downtime cost?

8 min read

· Guides

How to monitor a cron job

9 min read

· Comparisons

Synthetic monitoring vs real user monitoring

8 min read

· Benchmarks

What is a good uptime percentage?

7 min read

· SLAs

99.99 uptime meaning: SLAs and the real cost of each nine

8 min read

· Guides

How to monitor website uptime

8 min read

· Playbooks

Incident communication best practices

6 min read

Know the second your site goes down

Checks every 30 seconds, confirmed from 3 regions, alerts on every channel. Running in under a minute.

See pricing