Why Is My Website Down? 10 Causes and a Fix-It Checklist
Your site was fine this morning, and now it won't load. If you're asking "why is my website down?", the answer is almost always one of ten causes: an expired domain, a broken DNS record, an expired SSL certificate, a suspended hosting account, a crashed server, a full disk, a bad update, an overloaded database, a blocking firewall rule, or an outage at your host. This checklist finds the cause in the order that gets your site back fastest.
Short answer (what to do if your website is down): confirm the site is down for everyone, check what changed most recently, then work from the outside in: domain, DNS, SSL certificate, hosting account, server, and finally the application and database. Each step either finds the cause or rules it out in a few minutes.
Before you fix anything: is it really down?
Plenty of "outages" are really one person's connection: a stale DNS cache, a VPN, or a blocked IP. So test the site from outside your own network first. Paste the URL into our free instant website checker, which shows the HTTP status code, response time, and SSL details without an account. Then try your phone with Wi-Fi off.
If it loads everywhere except on your computer, the problem is local. Our guide on how to check if your website is down for everyone or just you covers those fixes. If it only fails for visitors in certain regions, read why a website stops working in other countries. If it's down from everywhere, the problem is on your side. Keep reading.
Why is my website down? Read the error first
The quickest way to check why your website is down is the error itself. Whether the site is not loading at all or shows an error page, the message narrows the cause to one or two layers:
| What you see | Most likely layer | Where to look first |
|---|---|---|
DNS_PROBE_FINISHED_NXDOMAIN or "server not found" |
Domain or DNS | Registrar (expiry), DNS records |
| A parking page full of ads | Domain | Registrar: the domain has probably expired |
| "Your connection is not private" | SSL certificate | Certificate expiry and hostname |
ERR_CONNECTION_TIMED_OUT |
Network, firewall, or server offline | Host dashboard, firewall rules |
ERR_CONNECTION_REFUSED |
Web server stopped | Web server service on the host |
| "Account suspended" page | Hosting account | Billing emails, host notices |
| 500 Internal Server Error | Application | Error logs, the most recent update |
| 502 Bad Gateway / 504 Gateway Timeout | App or database behind the proxy | App process, database, resources |
| 503 Service Unavailable | Overload, limits, or maintenance | Host status, resource limits, maintenance mode |
| "Error establishing a database connection" | Database | Database server, credentials |
For every code, see our HTTP status codes reference. A 503 with a "back soon" page may be planned work; here's how to tell maintenance from a real outage.
The website down troubleshooting checklist (10 steps)
My website is down, how do I fix it? Work through these steps in order. The early ones are quick and catch the most common causes.
1. Ask what changed
Most outages follow a change: a plugin or theme update, a code deploy, a DNS edit, a new firewall or CDN rule, a PHP upgrade, or a hosting migration. If something changed just before the site went down, undo it first and investigate afterwards. A two-minute rollback beats an hour of debugging while customers can't reach you.
2. Check that your domain hasn't expired
An expired domain is one of the most common reasons a website suddenly stops working. Check the expiry date at your registrar, or run a WHOIS lookup:
whois yoursite.com | grep -i expir
If it has lapsed, renew it right away; the site stays dark until the renewal goes through and DNS catches up. Our guide to monitoring domain expiration covers grace periods and how to make sure it never happens again.
3. Check your DNS records
If the domain is active but browsers say the server can't be found, check that it still points to the right place:
dig +short yoursite.com
dig +short www.yoursite.com
dig +short NS yoursite.com
You should see your host's IP address and the nameservers you expect. An empty answer, an old IP, or unfamiliar nameservers usually means a record was changed, often during a migration or a move to a CDN. Fix it at your DNS provider; changes can take a while to reach everyone, depending on the record's TTL.
4. Check the SSL certificate
When a certificate expires or doesn't match the domain, browsers show a full-page security warning, and to visitors the site looks broken. The instant checker shows the certificate details, and our guide on how to check when an SSL certificate expires covers the browser and command-line methods. If automatic renewal failed, renew the certificate, reload the web server, and find out why renewal broke. Here's why SSL expiry is such a costly silent outage.
5. Check your host's status page and your inbox
If your host or CDN has an incident, nothing you change will help. Check the provider's status page and your email (spam included) for incident or maintenance notices. Open a support ticket, note when the outage started, and focus on keeping your customers informed.
6. Check whether your hosting account is suspended
Hosts suspend accounts for unpaid invoices, an expired card, going over CPU or memory limits on shared plans, malware, or abuse complaints. The tell is usually an "account suspended" page or a 503 error. Check billing and warning emails in your hosting control panel. If it's resource limits, ask what triggered it: often a traffic spike, a runaway script, or bots hammering your login page.
7. Check that the server and web server are running
If you manage your own server or VPS, log in and confirm that the machine and its services are alive:
systemctl status nginx # or apache2, plus your app service
sudo ss -ltnp # is anything listening on ports 80 and 443?
"Connection refused" usually means the web server has stopped. Restart it and read the end of its log to see why. If SSH fails too, use your provider's web console; the machine may be frozen or off.
8. Check disk space, memory, and load
Resource exhaustion is a classic reason a website keeps going down. A full disk stops databases writing and apps starting, running out of memory gets processes killed, and a traffic spike or bot crawl can max out the CPU.
df -h # disk space
df -i # inodes (file slots), which can run out before space does
free -m # memory
uptime # load average
Clear old logs, backups, and cache files if the disk is full. If memory or CPU is maxed out, find the process responsible, or accept that the plan is too small.
9. Read the error logs and check the application
If the server returns a 500 error, the answer is in the logs (web server, application, or PHP error log). Look at the entries from the minute the site went down.
On WordPress, the usual suspects are a plugin or theme update, a corrupted .htaccess file, a PHP version mismatch, or a memory limit. Rename the plugins folder over FTP or in the file manager to disable every plugin at once; if the site comes back, re-enable them one at a time. Restoring last night's backup is also a valid fix.
10. Check the database and outside services
"Error establishing a database connection", 502 errors, and 504 timeouts often trace back to the database: the server stopped, the credentials changed, it hit its connection limit, or a slow query is locking tables. Check that the database service is running and that the credentials in your config file are correct.
Also check outside services you depend on, such as a payment provider or an API. If one is down, your pages can hang even though your server is healthy.
Once it's back: confirm, communicate, prevent
After a fix, re-test with the instant checker and make sure it returns 200 before you call it resolved. Then:
- Tell the people affected. A short message to your client or customers ("we found the problem and the site is back") builds trust.
- Write down the cause and the timeline. It shows whether the same cause keeps coming back.
- Fix the root cause. Turn on domain auto-renewal, fix certificate renewal, upgrade an undersized plan, or test updates on staging first.
Why does my website keep going down?
If outages keep repeating, look for a pattern. Downtime at the same time each day often points to a backup or scheduled job eating resources. Downtime at busy times points to an undersized plan or a struggling database. Downtime after every update points to the deploy process. Short, random outages on cheap shared hosting often mean resource limits or an unreliable host, and switching hosts can be the real fix. You can only spot the pattern if you have a record of each outage.
Stop finding out from your customers
Most outages start when nobody is looking. Uptime monitoring checks your site around the clock and alerts you the moment a check fails.
With ismysiteup, you add your URL and choose where alerts go: WhatsApp, Telegram, Slack, or email, on every plan, including Free. Each alert includes the status code and response time, which tells you where in this checklist to start, and you get a message when the site recovers. Checks run every 5 minutes on the Free plan, every minute on Pro, and every 30 seconds on Business. See the pricing page for current details and availability.
It also warns you ahead of time when your SSL certificate or domain is about to expire, catching two of the causes above early. Set up alerts with our guides for Telegram downtime alerts, WhatsApp alerts, or Slack alerts.
Start monitoring for free: five monitors, no credit card, and you're set up in about a minute.
FAQ
What do I do if my website is down?
Confirm it's down for everyone with an outside checker and your phone on mobile data. Then undo any recent change, check your domain, DNS, and SSL certificate, check your host's status page and billing, and finally the server, logs, and database.
Why is my website down but other sites work?
Something specific to your site has failed: usually an expired domain, a changed DNS record, an expired SSL certificate, a suspended hosting account, or a crashed application. If it works for others but not you, the problem is your connection, DNS cache, or a blocked IP.
Why does my website keep going down?
Usually resource limits (an undersized plan, traffic spikes, or bots), a scheduled job overloading the server, an unstable host, or updates that break things. Record when each outage happens to find the pattern.
How do I fix DNS_PROBE_FINISHED_NXDOMAIN on my website?
This error means the domain doesn't resolve to an address. Check that the domain hasn't expired, that the nameservers are correct, and that an A or CNAME record exists for both the bare domain and www. If you only see it on one device, flush that device's DNS cache.
Why is my WordPress website down?
The most common causes are a plugin or theme update, a corrupted .htaccess file, a PHP version change, a memory limit, or a database connection error. Disable all plugins by renaming the plugins folder, then turn them back on one at a time to find the culprit.
Why is my website not working without www?
The bare domain (yoursite.com) and the www version are separate DNS entries. If one is missing or points to the wrong place, only one version loads. Add the missing record and redirect one version to the other.
Monitor your websites for free
Get instant email, Telegram, and WhatsApp alerts when your sites go down. Check every 5 seconds. No credit card required.
Start Monitoring Free