WordPress site down: a runbook for the first hour
What to do, in order, when your WordPress site stops loading. Confirm it is down for everyone, write down what the screen says, find the layer at fault, and choose the smallest change that brings the site back.
- By
- WP Ministry
- Published
In short
- Look at the site from a second device on another network before you touch anything.
- Copy the exact message on the screen. It names the layer that failed.
- Check the host's status page, your invoices and the domain's expiry date before you look inside WordPress.
- Undo the last change first. Restore a backup last, because a restore loses everything added since.
- Try one fix at a time and write down what you did.
Your site is not loading and you need it back. This runbook puts the first hour in order: confirm what is failing, write down what you see, find the layer at fault, then make the smallest change that brings the site back. Start by looking at the site from a second device on a different network.
In the first few minutes
Step 1: Look at the site from somewhere else
Open the site on a phone using mobile data, not your Wi-Fi. The site health check also asks for your page from outside and shows whether it answers. If the site loads elsewhere, the fault is on your device or network and nothing on the server needs touching. Write down the time and where it fails.
Step 2: Copy exactly what the screen says
Take a screenshot and copy the message word for word, with any code on it. Then open
/wp-adminand see whether it shows the same thing. The message is your best evidence of which layer failed, and it can change once you start trying things. Write down both.Step 3: Check your host's status page and your inbox
Open the host's status page, then search your email for the host and for the company your domain is registered with. An outage at the host, a suspended account, an unpaid invoice or an expired domain cannot be fixed inside WordPress. Look for mail from your own site too: on a critical error, WordPress tells you to check the site admin's inbox for instructions. Write down anything dated this week.
Step 4: Write down what changed last
List what changed in the last day or two, with who did it and when: an update, a new plugin, an edited file, a DNS record, a move to another host. Ask everyone else who has a login. If the outage followed a change, that change is the first suspect and the first thing you will undo.
Step 5: Pause what sends people to the site
Pause any ads that are running and any email campaign about to go out. They cost money and deliver people to an error page. Write down what you paused.
Find out what happened
What the screen says points at one layer. Find your message in the table.
| What you see | Where the fault is | Where to go |
|---|---|---|
The browser cannot find the address. Chrome shows ERR_NAME_NOT_RESOLVED. | The domain or its DNS | Your registrar. Check that the domain has not expired and that its DNS records still point at your host. |
| A full-page warning, "Your connection is not private" | The certificate | Fix "Your connection is not private" |
The browser waits and gives up (ERR_CONNECTION_TIMED_OUT), or is turned away (ERR_CONNECTION_REFUSED) | The server | Your host's status page, then its support |
| A page from the host saying the account is suspended, or a page that is not your site | The hosting account or the domain | Your host's billing screen, then your registrar |
| A plain page with the number 502, 503 or 504 | The server | Your host's support |
| "500 Internal Server Error" | The server's configuration, or PHP | Fix the 500 Internal Server Error |
| "Error establishing a database connection" | The database | Fix the database connection error |
| A blank page, or "There has been a critical error on this website." | PHP, in a plugin or the theme | Fix the white screen of death |
| "Briefly unavailable for scheduled maintenance" | WordPress, part-way through an update | Clear the maintenance message |
A 503 means the server is not ready to handle requests, commonly because it is overloaded or down for maintenance. A 502 or a 504 comes from a server that passes requests on to another and got a bad answer, or none in time.
For a message that is not in the table, or a line from an error log, use the error message decoder or the full list of error fixes.
Bring it back
Take these routes in order. Each risks more than the one before.
- Wait, renew or pay. If the host reports an outage, the fix is theirs, and anything you change in WordPress meanwhile is a second fault to find later. If the domain or the hosting plan has lapsed, renew it. Under ICANN's rules a domain can still be redeemed during a 30-day Redemption Grace Period.
- Undo the last change. Switch off the plugin that was updated, put back the file that was edited, or return the DNS record to what it was. If the outage began with an update, follow the runbook for a failed update.
- Repair in place. Follow the fix for the message you copied, one step at a time, and look at the site after each.
- Restore a backup. Do this last, when the others have failed. First download the site as it is now, files and database. A restore loses every order, comment and form entry added since the backup, so on a store try routes two and three first.
The table decides. Where it sends you to your host or registrar, take the first route. Where it names a fix, take the second and third.
Who to tell
- Your host. Send the exact message, when it began, what changed last and what you have ruled out.
- Everyone else with a login. Ask them to change nothing. Two people fixing one site undo each other's work.
- Your customers, if the outage lasts. Post a short note where they will look. Say what is affected and how to reach you. Do not promise a time.
- Your payment provider's dashboard, for a store. Compare the payments taken around the outage with the orders the store recorded.
If you find pages you did not write, or visitors being sent to another site, this is a break-in and not a fault. Switch to the runbook for a hacked site.
Afterwards
- Write a short record: when it began, what the screen said, the cause and the fix.
- Turn on automatic renewal for the domain and the hosting plan, and send renewal notices to a mailbox someone reads. ICANN requires registrars to send reminders about a month and about a week before a domain expires, and again within five days after.
- Keep backups you can reach without the site. WordPress's documentation suggests at least three to five recent ones, with copies in different places.
- Change one thing at a time. How to safely update WordPress has the order.
When to hand it over
Get help when:
- you cannot reach the site's files, because you have no hosting login or the panel will not load;
- the host says the server is fine and the message matches no fix;
- the site comes back and then fails again;
- you have tried two fixes and understand the fault less than when you began;
- every hour down costs orders or bookings.
Our emergency support is a one-time fix for a WordPress site that is down or a checkout that has stopped taking orders, and it starts with a free diagnosis.
Common questions
Has my content been lost?
None of the messages on this page says so. They are about reaching the site or building a page, not about what the site holds. Your posts and pages are in the database and your images are in the uploads folder. A page that fails to load removes neither.
How do I tell whether it is my host or my site?
Look at who wrote the message. A message from the browser, a page with the host's name on it, or an outage on the host's status page is about the domain, the certificate or the server, so start outside WordPress. A message in WordPress's own words means the server answered and the fault is in the site.
Will the outage hurt my search ranking?
A short one is unlikely to. Google's documentation says that server errors make its crawlers slow down for a while, and that pages already in its index are kept, but eventually dropped. An outage that runs for days is the one to worry about.
- GuideWordPress site not showing up on Google: what to check, in order
- Guideadmin-ajax.php high CPU usage in WordPress: how to find what is calling it
- Error fix"Alternate page with proper canonical tag" in Search Console: what it means on a WordPress site
- Error fix"Blocked by robots.txt" in Search Console: when it is fine, and how to find the rule on WordPress
- Error fix"Blocked due to other 4xx issue" in Search Console: what it means on WordPress and what to do
- Error fix"Crawled - currently not indexed" on a WordPress site: what to leave and what to check

