First: is it down for everyone?
If your website is down, the cause is almost always one of five things: your own connection, the domain, DNS, the hosting server, or the site's code, often WordPress after an update.
The error message on screen usually tells you which, and that in turn tells you who can fix it: you, your registrar, your host or your developer. Before any of that, spend two minutes proving the site is really down.
- Switch networks. Turn off Wi-Fi on your phone and load the site on mobile data. If it works there, the problem is your office network, its DNS or a firewall, not the website.
- Try a private window. A stale cache or a browser extension can make a healthy site look broken.
- Use a down-checker. Free services test your address from several countries and tell you whether it responds.
- Ask someone elsewhere. A colleague at home or a friend in another province is a quick second opinion.
If the site loads everywhere except your office, restart the router and ask whoever manages the network whether your IP was blocked by the host's firewall after too many failed logins. If it fails everywhere, read the error.
Read the error message
The words on the screen are the fastest clue you have. Take a screenshot before you refresh, because some errors change or vanish. The table below matches the messages people actually see with their usual cause and the person best placed to fix them. If the page shows a Cloudflare-branded error with a code in the 520s, the problem sits between Cloudflare and your server, which usually points to the host.
| What you see | Usual meaning | Who fixes it |
|---|---|---|
| This site can't be reached / DNS_PROBE_FINISHED_NXDOMAIN | The domain does not resolve: expired domain or broken DNS records | You or your registrar |
| 500 Internal Server Error | The server hit an error running the site's code | Developer or host |
| 502 Bad Gateway / 504 Gateway Timeout | A proxy or CDN got no valid or timely answer from the server | Host |
| 503 Service Unavailable | Server overloaded, in maintenance, or out of resources | Host, sometimes developer |
| 403 Forbidden | Permissions, a security rule, or a blocked IP | Host or developer |
| Your connection is not private | SSL certificate expired or does not match the domain | Host or developer |
| Account suspended | The host disabled the account: unpaid bill, malware or overuse | You, then host |
| Blank white page | A PHP fatal error with error display turned off | Developer |
| Cloudflare 520 to 526 | Cloudflare cannot get a valid response or certificate from the origin | Host |
Domain and DNS problems
An expired domain
It is a frequent cause of a sudden, total outage, and the easiest to prevent. Renewal reminders go to whoever registered the domain, often a former staff member or an old agency, and the card on file has expired. Log in to your registrar and check the expiry date.
For .com and other generic domains, ICANN's expired registration recovery policy gives registrants a window after expiry to renew, usually at the normal price at first and then with a redemption fee. For .co.th and other .th domains, THNIC sets its own rules, so check with your registrar straight away rather than waiting.
Recent DNS changes
If someone changed nameservers, A records or moved email in the last day or two, the site may be pointing to the wrong server or to nothing. DNS changes spread gradually as caches expire, so different people see different results for a while. Ask what was changed and when, and compare the records with what your host says they should be. If email moved as well, check its MX, SPF and DKIM records too, as our guide to email deliverability with SPF and DKIM explains. If the change was part of moving to a new host, the old server may already be switched off.
Hosting problems
When the domain resolves but you get 502, 503 or 504 errors, or pages crawl before failing, look at the server.
- Outage at the host. Check the host's status page and support channels. If others report the same, you can only wait and ask for an estimate.
- Resource limits. Shared plans cap CPU, memory and processes. A traffic spike, a bot crawl or a heavy plugin can hit the ceiling and the host throttles the account.
- Unpaid invoice. A failed card payment for hosting leads to suspension after the host's notices go unread. Pay first, then ask support to restore.
- Malware suspension. Hosts disable accounts that send spam or serve malicious files. If this is the reason, see our guide on cleaning a hacked WordPress site before asking for reactivation.
If outages keep repeating, the plan may simply be too small. Our notes on picking hosting for a Thai business website explain what to compare.
SSL certificate errors
A warning such as "Your connection is not private" or "NET::ERR_CERT_DATE_INVALID" means the browser does not trust the certificate. The site may be running fine behind it, but most visitors will not click through a full-screen warning, so treat it as an outage.
- Expired certificate. Free certificates renew automatically every few months. If renewal fails, often after a DNS or hosting change, the old one lapses. Ask the host to reissue it.
- Wrong name. The certificate covers example.com but not www.example.com, or the other way round.
- Wrong device clock. If only one computer shows the error, check its date and time.
Choosing the right certificate type is a separate topic, covered in our guide to SSL certificates and HTTPS.
WordPress errors after an update
If the site broke right after a plugin, theme or core update, that update is the prime suspect. Since version 5.2, WordPress detects many fatal errors, shows a message that the site is experiencing technical difficulties, and emails the admin address a special recovery-mode link. Open that link, log in, and WordPress lets you deactivate the plugin or theme that failed.
If no email arrives, check spam, or whether the admin address still belongs to someone at your company. Without the email, a developer can rename the faulty plugin's folder over SFTP or the host's file manager, which disables it, or restore the last backup. A blank white screen with no message is usually the same kind of fatal error with display turned off.
Rolling back fixes today. Preventing tomorrow's repeat means testing updates on a copy first; our explainer on how staging sites work covers the approach.
What should you send your host or developer?
A vague "the website is broken" message starts a slow back-and-forth. Send these facts in the first message and the person helping you can start work immediately.
- The exact addressInclude whether it is www or not, and which pages fail.
- A screenshot of the errorTaken before refreshing, with the browser's address bar visible.
- When it startedThe time in Bangkok, and whether it is constant or on and off.
- What changed recentlyUpdates, new plugins, DNS edits, a new hosting plan, a payment that failed.
- Where you testedOffice Wi-Fi, mobile data, a down-checker, other devices.
- Account accessWho holds the registrar, hosting and WordPress logins, shared through a password manager, never in plain chat.
How do you stop the next outage?
Many outages in this guide are preventable with a few habits.
- Uptime monitoring. A free or low-cost monitor checks your site every few minutes and alerts you by email or chat app, so you hear about downtime before customers do.
- A renewals calendar. List the domain, hosting and any paid plugins with expiry dates, and set auto-renew on a card that someone checks.
- Current admin emails. Registrar, host and WordPress admin addresses should reach someone who still works for you.
- Backups and staging. Tested backups and a staging copy turn a bad update into a short rollback.
These tasks are what ongoing care is for. Our article on what website maintenance involves and why it matters explains the idea, and the practical monthly maintenance checklist lists the jobs. If you would rather hand them over, we offer ongoing WordPress maintenance for sites after launch, priced per site on request. See how maintenance pricing works, or WhatsApp or call +66 93 004 4098, every day from 10:00 to 19:00 Bangkok time.
Keep reading
Sources
- MDN Web Docs: HTTP response status codes
- Make WordPress Core: fatal error recovery mode in WordPress 5.2
- Cloudflare Docs: HTTP status codes and 5xx errors
- ICANN: Expired Registration Recovery Policy
- THNIC: .th domain registry

