A website that won't load
When a website won't load, the error message tells you which step failed. Work through the checks below in order: each one rules out a part of the chain from the visitor's browser to your hosting.
Start with what the browser says
| What you see | Where to look |
|---|---|
"This site can't be reached", DNS_PROBE_FINISHED_NXDOMAIN, ERR_NAME_NOT_RESOLVED or "server not found" | The domain and DNS |
| "Connection timed out" or "refused to connect" | The server |
| "Your connection is not private" or another certificate warning | The SSL certificate |
| An error page with a number, such as 403, 404, 500 or 503 | HTTP error codes |
| The old version of the site, or another site entirely | Caches and old records |
Check whether it is only you
- Open the site in a private browser window.
- Try another device, such as a phone on mobile data rather than your Wi-Fi.
- If the site works elsewhere, the problem is local: clear your browser cache, restart your router, and see Why DNS changes take time for how to clear your device's DNS cache.
If it fails everywhere, carry on with the checks below.
Check the domain and DNS
Is the domain still registered and active? An expired domain stops working, usually with a DNS error. Check the expiry date in the account where you registered it, and look for renewal emails.
Does DNS point to the right place? Look up the domain's address and compare it with the one your hosting provider gave you:
dig +short example.com A
dig +short www.example.com
dig +short example.com NS
On Windows, use nslookup example.com instead.
- No answer for the domain: the A record is missing, or the nameservers are wrong or not responding.
- A different address from the one your host gave you: update the A record, or check whether the domain uses the nameservers you think it does.
wwwworks but the domain does not, or the other way round: one of the two records is missing. See Connect a domain to a website.
If you changed DNS recently, the old answer may still be cached. That is normal until the old TTL passes.
Check the server
If DNS gives the right address but the connection times out or is refused:
- Check your hosting provider's status page or notices for an outage.
- Check that your hosting account is active and not suspended, for example because of an unpaid invoice or a resource limit.
- On a VPS or cloud server, check that the server is running, that the web server software is started, and that the firewall allows ports 80 (HTTP) and 443 (HTTPS).
Check the SSL certificate
Click the warning details in the browser to see the reason. The most common causes are an expired certificate, a certificate that does not include this exact name (often www or a subdomain), and a missing intermediate certificate. SSL certificates explained has the fix for each.
Never ask visitors to ignore a certificate warning. Fix the certificate instead: the warning is there to protect them from impostor sites.
HTTP error codes
If you see an error page, the server was reached and answered with a problem.
| Code | What it means | Things to check |
|---|---|---|
| 403 Forbidden | The server refuses to show the page | File and folder permissions, a missing index file, or a security rule blocking the request |
| 404 Not Found | The page does not exist at that address | The link, recently changed addresses, or files uploaded to the wrong folder |
| 500 Internal Server Error | The website's code or configuration failed | The site's error log, a recent plugin or theme update, or a mistake in .htaccess |
| 502 Bad Gateway or 504 Gateway Timeout | A server in the chain did not get a valid or timely answer | Slow or stuck website processes, or a server under heavy load |
| 503 Service Unavailable | The server is temporarily unable to handle the request | Maintenance mode, resource limits or an overloaded server |
After a 500 error, the quickest test is often to undo the last change: restore the previous version of a plugin, theme or configuration file, or restore a backup from before the change.
The old site still shows
If you moved your site and still see the old one:
- Wait for the old DNS TTL to pass, then check the address DNS returns.
- Check your computer's hosts file for a line you added while testing, and remove it.
- Clear your browser's cache, or try a private window.
- If the site uses a caching or CDN service, clear its cache too.
Still stuck?
Note down the exact error message, the address you tried, when it started and anything that changed shortly before. That information makes any support request much quicker to solve.