Skip to main content
web60

Web60 Features

WordPress Error Messages Explained: Read the Screen, Then Ring the Right Person

Graeme Conkie··18 min read
Flat illustration of a cream window shape carrying a small warning triangle, with a magnifying lens held over it, on a teal background

Almost every WordPress error your customers will ever see should be fixed with a phone call, not a forum thread. The internet disagrees. Search any of the messages below and you get pages of confident instructions to edit configuration files, rename server files over FTP and raise PHP memory limits, written by developers for developers, often for a server you are not even running. Following them on a production site, in the evening, with customers arriving, is how a twenty-minute outage becomes a lost day.

An owner needs something narrower and far more useful. Read the screen, work out which layer failed, and get it to the person who can actually see that layer. The message usually does most of that work for you.

That skill is worth having because these screens are everywhere. WordPress powers roughly four in ten websites according to W3Techs' running survey (39.6% this week, and closer to six in ten among sites where the platform can be identified), so its error pages are some of the most common on the web.

Every Screen Already Names a Suspect

Each row has its own section further down, because the right first move differs for every one.

What the screen saysWhat usually brokeWhose job it isYour first move
There has been a critical error on this websiteA plugin, theme or PHP version conflictYours or the plugin's, usually after a changeCheck the admin inbox, then roll back the last change
Briefly unavailable for scheduled maintenanceAn update that did not finish cleanlyUsually nobody's, it clears itselfWait ten minutes before touching anything
Error establishing a database connectionThe site cannot reach its own databaseAlmost always the host'sVerify from another device, then contact your host
500 Internal Server ErrorSomething failed on the server, unspecifiedShared between you and the hostUndo the last change, then send the host the time
502 Bad Gateway or 504 Gateway TimeoutThe web server got no usable answer from PHPThe host's, sometimes triggered by a pluginNote the page and time, then contact your host
503 Service UnavailableServer overloaded or deliberately pausedThe host's, or planned maintenanceFind out whether it was planned, and for how long
This site can't be reachedThe browser cannot find the address at allWhoever holds your domain registrationCheck your domain renewal before blaming the host

What the table cannot show is how fast each one turns from an annoyance into lost money. A critical error on a brochure site at six in the morning is a nuisance. The same error on a booking page on the evening a promotion goes out is a week of enquiries that never arrive.

Errors WordPress Writes Itself

Two of these screens come from WordPress, not from the server underneath it. That matters. WordPress only writes them when it is still running well enough to explain itself, which makes them, oddly, the good errors.

"There has been a critical error on this website."

Since WordPress 5.2, released in 2019, the software catches a fatal fault, shows visitors a generic notice, and emails the site's administrator address with what the WordPress core team called a "secret link" into recovery mode. Click it and WordPress pauses the plugin or theme that crashed so you can log in and deal with it.

Read the small print on that, though. In their announcement the core team were explicit that pausing "only happens for the client that is in recovery mode." Everyone else, they wrote, will "remain in a broken state until the issue has been fixed or mitigated." Your customers keep seeing the error until the faulty plugin is actually removed or rolled back. As for causes, the WordPress documentation lists them plainly: conflicts between plugins, compatibility issues with your theme, an incompatible PHP version, or hitting the memory limit. In practice it almost always follows a change. An update ran. Someone added a plugin. A setting moved.

The street-level problem is the email. It goes to whatever administrator address WordPress has on file, and on a site an agency built five years ago that is very often the agency's old inbox. So the one message that names the broken plugin, with a link to fix it, lands with someone who stopped working on your site years ago. Verify that address under Settings, General before you ever need it.

"Briefly unavailable for scheduled maintenance. Check back in a minute."

WordPress shows this while it updates itself, a plugin or a theme. It drops a small marker file in place, does the work, then removes the marker. If the update is interrupted halfway (a timeout, a server restart, a laptop lid closed in the middle of a manual update) the marker can be left behind, and the WordPress documentation's advice is to connect by FTP and delete it.

Before you go hunting for FTP details, know this. The WordPress code itself treats that marker as stale once it is ten minutes old and carries on as normal. The function that checks it says so in a comment: if the timestamp is older than ten minutes, "consider maintenance over." On a current install the message usually clears itself in less time than it takes to find an old password.

If it is still showing well beyond that, something other than the marker is holding it in place: a cached copy of the maintenance screen, or an update that stalled with some files new and some old. Either way, that is now a job for a rollback or for your host, not for a file you delete by hand.

Errors Your Server Sends

The next four come from the server stack under WordPress. On most of these, WordPress never got a word in.

"Error establishing a database connection"

Every page on a WordPress site is assembled from a database: your text, your products, your opening hours, your prices. This message means WordPress started up, went to fetch all of that, and got no answer.

The WordPress documentation says the usual cause is a mistake in the site's configuration file, followed by the host's database server being down or over a quota and, less often, a compromised site. For an owner who has never opened a configuration file (and you should never need to) the honest translation is short. It is almost always the host's problem. Your job is to verify that it is real and get it in front of someone who can see the server.

Consider how this plays out for a wedding band in Monaghan on the Sunday evening after a wedding fair. The couples who took a card at the stand get home, open a laptop and type in the address. Every one of them meets a single line of grey text about a database. No logo, no phone number, nothing to say the band is still trading. Nobody rings to ask what happened. They pick up the next card in the pile. That is the real cost of this particular error: to a stranger, it does not read as a website having a bad night. It reads as a business that has closed.

"500 Internal Server Error"

A 500 is the server saying something went wrong and declining to say what. It is the vaguest message on this list, which is exactly why it attracts the most confident advice.

This is where the forum fixes do the most harm. The WordPress documentation names a corrupted .htaccess file as the most likely cause and tells you to rename it. That file is read by Apache, one popular web server. Plenty of WordPress hosting, ours included, runs on Nginx, which does not read .htaccess at all. A good share of the fixes you will find for a 500 were written for a server you may not even be running.

The useful move is simpler. If you changed something in the last hour, roll it back, ideally by restoring the snapshot taken before the change. If you changed nothing, send your host the exact time you saw it and the page you were on. Server error logs are timestamped, and "about twenty past eight, on the booking page" turns a vague complaint into a quick diagnosis.

"502 Bad Gateway" and "504 Gateway Timeout"

These two make more sense once you know how a modern WordPress server is laid out. A web server sits at the front and takes the visitor's request. For anything dynamic, it hands the job back to a pool of PHP workers, which run WordPress and build the page.

Mozilla's developer reference defines a 502 as a server "acting as a gateway or proxy" that "received an invalid response from the upstream server." Plainly put, the front desk passed your order to the kitchen and got nonsense back, or nothing. A 504 is the same handover with the kitchen simply taking too long. The WordPress documentation describes the timeout version as the site "trying to do more than your server can manage," and says it is particularly common on shared hosting where memory is restricted. The trigger is often a heavy plugin, a large import, or a surge of visitors arriving at a server sized for a quiet Tuesday.

For your customer, a 502 at checkout is not a technical event. It is a card that may or may not have been charged, on a page that will not say which. Some will try again. Plenty will not, and a few will ring their bank before they ring you.

"503 Service Unavailable"

Mozilla's reference gives the two common causes: a server down for maintenance, or a server that is overloaded. Of all the server errors, the 503 is the polite one. It tells browsers and search engines alike that the problem is temporary and to come back later.

That politeness is why Google recommends it. Google's guidance on pausing a website says that if you need to disable a site urgently for one to two days, you should return an informational page with a 503 status, and that full disablement should last "a few days at most." Planned maintenance behind a 503 is good practice. A 503 nobody planned is a server telling you it ran out of room.

Flat illustration of thin stacked layers in white, grey, teal and navy, with one teal layer dipping out of line on a cream background
Each error screen points at a different layer of the stack. Find the layer and you have found who fixes it.

The One That Never Reaches Your Server

"This site can't be reached"

This is the visitor's browser talking, not your website. Chrome's help pages sum up the most common variant, ERR_NAME_NOT_RESOLVED, in one line: the web address "doesn't exist or now has a different IP address." The browser asked where your site lives, got no usable answer, and never even knocked on your server's door.

Your hosting can be in perfect health while this is happening. In my experience the cause is usually mundane: a domain registration that lapsed because the renewal reminder went to an old address or the card on file expired, or a change at the domain registrar that pointed the address somewhere it should not go. So the first call is not necessarily your host. It is whoever holds the domain registration, which for a surprising number of businesses is still the person who built the site years ago.

What Google Does While the Error Is Showing

Customers are not your only visitors. Google's crawling documentation says server errors in the 5xx range "prompt Google's crawlers to temporarily slow down," and that pages already in the index "are preserved in the index, but eventually dropped" if the errors persist.

So the damage arrives in two stages. An error that lasts an evening costs you that evening's customers. One that keeps coming back over several days starts costing you the rankings that bring in the next lot, and climbing back is slower than falling.

Server errors and slow pages tend to share root causes: an overloaded PHP pool, a database doing too much work per visit, a plugin nobody has audited. That is why the fixes in our complete guide to WordPress performance for business owners also reduce how often you will need this article at all.

What Good Hosting Does Before You See Any of These

Most of the screens above are either avoidable or survivable. The difference is rarely luck. It is whether the platform under your site was built with failure in mind, and you can judge that against a short list.

  • A restore point before every change. A snapshot should be taken automatically before any update runs, so a critical error becomes a rollback measured in minutes. Without one, you are disabling plugins one at a time on the production site while customers watch the error page.
  • Somewhere to break things safely. A staging environment lets you run a risky update away from customers and only deploy it to production once you have verified it works.
  • Headroom by design. Page caching and object caching mean most visits are answered without waking PHP or querying the database, which is exactly where 502s and database errors start on a busy evening.
  • Defence against junk traffic. Bots hammering a login page use the same workers your customers need. Intrusion prevention that blocks them at the server keeps that capacity for real visitors.
  • A person who can read the logs. You need someone who can see it, picks up the phone, and explains it in plain English.

That is the standard. Web60 was built to meet it. Every site runs on the Nginx, PHP-FPM, Redis and FastCGI caching stack that keeps WordPress answering under load, with automatic pre-update snapshots, nightly backups with one-click restore, one-click staging, fail2ban intrusion prevention and automatic malware scanning, all on Irish infrastructure for €60 a year with nothing bolted on later. When something does go wrong, you reach an Irish support team of real people, not an outsourced ticket queue.

It is also full WordPress. The AI Website Builder creates the site from your own description of the business in under a minute, and from then on nothing about it is a black box you are locked out of.

Where This Does Not Fit, and What a Restore Cannot Do

There is a kind of business this is not built for. If you run a high-volume online shop with an in-house developer who wants per-request application tracing and reads PHP stack traces before breakfast, premium managed WordPress providers that bundle application performance monitoring genuinely suit that workload better. It is not the need of the owner-operator whose site has to answer enquiries and take bookings.

A limitation worth stating plainly, too. Rolling back to a snapshot takes the whole site back to that moment. Anything saved to the site after it, a new booking record or a page you edited, rolls back with it. Enquiries that were emailed to you are safe in your inbox; the copies the site stored are not. A snapshot buys you a fast recovery, not a perfect one. And no host can renew a domain registered in somebody else's name.

Flat illustration of a large teal circular arrow on a cream page shape set against grey and navy panels
A restore point taken before every update turns the worst of these screens into a short rollback.

What to Do Instead of Opening a Forum Thread

  1. Verify. Load the site on your phone with Wi-Fi switched off, because if it works there the fault may be your office network rather than the website. If you only ever hear about outages from customers, having something watch your site around the clock closes that gap.
  2. Capture. Screenshot the exact wording and note the time and the page, since the precise message is most of the diagnosis.
  3. Wait out the maintenance window. If the screen says briefly unavailable, give it ten minutes before touching anything, because WordPress usually clears it by itself.
  4. Rollback. If anything changed in the last hour, restore the snapshot taken before the change and verify the production site loads before you retry the update in staging.
  5. Escalate. Send the screenshot and the time to your host, or to your domain registrar if the browser says the site cannot be reached.

The Short Version

An error screen is not a verdict on your website. It is a pointer. Critical errors point at the last change. Database errors and the 5xx family point at the server. A site that cannot be reached points at the domain.

Once you can tell those apart, a bad evening becomes a short job with the right person on the phone instead of an hour of guesswork with the wrong one. If you would rather start from a site where the restore point, the staging copy and the people who read the logs come as standard, Web60 builds one from your own description in under a minute, everything included for €60 a year. Whichever way you go, the next time grey text appears where your homepage should be, you will know which question to ask first.

Frequently Asked Questions

What does the critical error message on a WordPress website mean?

It means WordPress hit a fatal fault, usually caused by a plugin, a theme, an incompatible PHP version or a memory limit, and stopped building the page. Since WordPress 5.2 the site emails its administrator address with a link into recovery mode, which pauses the faulty plugin or theme for you alone so you can log in. Visitors keep seeing the error until the cause is removed or rolled back, so restoring the snapshot taken before the last change is usually the quickest fix.

How do I fix Error establishing a database connection on WordPress?

If you have not edited your site's configuration files, the cause is almost always on the hosting side: the database server is down, overloaded or over a quota. Verify the error from a second device, note the time, and contact your host straight away. The WordPress documentation also lists incorrect database settings and, less often, a compromised site as causes, and both need someone with server access to investigate.

How long does Briefly unavailable for scheduled maintenance last?

Normally only while an update runs, which is often a matter of seconds. If an update is interrupted the message can linger, but current WordPress code treats the maintenance marker as stale once it is ten minutes old and loads the site normally. If the message is still showing well beyond ten minutes, something else is holding it in place, and a rollback or a call to your host is the next step.

What is the difference between a 502, a 503 and a 504 error?

A 502 Bad Gateway means the web server passed the request to the part of the server that runs WordPress and got an invalid answer back. A 504 Gateway Timeout means that answer took too long to arrive. A 503 Service Unavailable means the server is deliberately paused for maintenance or is overloaded and is asking visitors to come back later. All three are server-side, so your host is the right first contact.

Why does my website say This site can't be reached?

That message comes from the visitor's browser, which could not find your web address at all, so the request never reached your hosting. The usual causes are a lapsed domain registration or a change made at the domain registrar. Check that your domain is renewed, and that you know who holds the registration, before contacting your host.

Sources

Graeme Conkie
Graeme ConkieFounder & Managing Director, Web60

Graeme Conkie founded SmartHost in 2020 and has spent years building hosting infrastructure for Irish businesses. He created Web60 after seeing the same problem repeatedly — Irish SMEs paying too much for hosting that underdelivers. He writes about WordPress infrastructure, server security, developer workflows, managed hosting strategy, and the real cost of hosting decisions for Irish business owners.

More by Graeme Conkie →

Ready to get your business online?

Describe your business. AI builds your website in 60 seconds.

Build My Website Free →
Buy NowTry Free
WordPress Error Messages Explained: Who Fixes It | Web60