Your site loaded fine this morning. Now every URL returns the same flat sentence: there has been a critical error on this website. No menu, no posts, no dashboard — just that one line on a white screen.
Breathe. WordPress is doing exactly what it's supposed to. It hit a PHP fatal error, decided the page couldn't render safely, and halted instead of showing visitors a broken mess. The message reads like a disaster. It almost never is. In most cases the files and database are intact, and you'll be back online in under 15 minutes.
This is a calm, step-by-step recovery guide — the same sequence we run at Hostaccent when a client's site suddenly goes dark. We find the real cause first, then fix it. No guessing.
Quick Answer: "There has been a critical error on this website" means a PHP fatal error stopped WordPress mid-load. The fastest fix is to open the recovery mode email WordPress sends to your admin address, log in through its special link, and deactivate the plugin or theme it names. No email? Enable
WP_DEBUGto read the error log and find the exact file and line.
What "there has been a critical error on this website" actually means
Behind the friendly sentence is a blunt technical event: PHP tried to run your site's code, hit something it couldn't continue past, and threw a fatal error. WordPress catches that fatal error and swaps the broken page for the generic notice so visitors never see raw code or a half-built page.
So "there has been a critical error on this website" is not a hack, a billing problem, or a dead server. It's a wordpress critical error — usually one piece of code misbehaving. (Reassuring, right?)
The vague wording is deliberate. WordPress won't tell the public what broke, because error details can leak file paths and clues useful to attackers. The detail still exists — it's written to your error log and emailed to your admin address. That's where we're headed next.
Two things stay true almost every time: your content is still in the database, and the trigger is recent. Ask what changed in the last hour — an update, a new plugin, an edited file. That answer is usually the culprit.
Insider Insight: The exact phrasing depends on your WordPress version and language, but the underlying event is identical everywhere. Most people land here by searching the literal string "there has been a critical error on this website" — and the recovery path below works the same whether you're on 6.x or something older.
Your first move: the recovery mode email and the debug log
Since WordPress 5.2 shipped in 2019, there has been a feature built for exactly this moment: critical error recovery mode. When a fatal error fires, WordPress emails the site administrator a heads-up plus a special login link that loads the dashboard with the broken plugin or theme paused.
Check the inbox of your admin email address first — including spam. The subject line says your site is having a technical problem. Inside, WordPress often names the exact plugin or theme behind the wordpress critical error and gives you a recovery link. Click it, log in, and you land in a working dashboard in recovery mode. Deactivate the offender, and confirm the site returns. In practice, that recovery email alone clears a large share of "there has been a critical error on this website" tickets before anyone touches a file.
That email is the shortcut. But it needs a valid, reachable admin address — and on some misconfigured mail setups it never arrives. If that's you, go straight to the log.
Turn on WP_DEBUG to read the actual error
With no recovery email, you need the error log. Edit wp-config.php (via your host's file manager or SFTP) and switch debugging on. The official WordPress debugging documentation covers every constant, but these three lines are the core:
bashdefine( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Reload the broken page once, then open /wp-content/debug.log. The last entry names the file, line number, and reason — for example a missing function in a specific plugin. That single line tells you precisely what to fix instead of guessing. WordPress's reference on common WordPress errors helps you decode what the message means.
Pro Tip: Keep
WP_DEBUG_DISPLAYset tofalse. You want the detail written quietly to the log file, not printed on the live page where visitors and bots can read your server paths. Turn all of this back off once you're done.
What actually causes the critical error (ranked by how often we see it)
In our experience recovering these sites, the causes fall into five buckets. After hundreds of these tickets the same pattern holds, so here it is in rough order of likelihood:
- Plugin conflict or a bad plugin update — by a wide margin the most common. Two plugins disagree, or an update ships a bug.
- A failed or interrupted update — core, theme, or plugin update that didn't finish (timeout, dropped connection).
- Theme code error — a function in
functions.php, often after an edit or theme update. - PHP memory limit exhausted — the script needs more memory than the account allows, so PHP kills it.
- Corrupted core files or a PHP version mismatch — rarer, but it happens after a half-done update or a forced PHP upgrade.
WordPress ships with a default PHP memory limit of just 40MB for a single site (64MB for multisite) — fine for a plain blog, nowhere near enough once a page builder sits on top of WooCommerce. On the WordPress stacks we run at Hostaccent, memory exhaustion shows up more than people expect — almost always on cramped, oversold shared accounts where a heavy page builder plus WooCommerce blows past a tiny memory ceiling. Headroom quietly prevents a whole category of these failures, which is a theme we'll return to.
Insider Insight: If the error appears only in wp-admin, or only on the front end, that asymmetry is a clue. Admin-only usually points at a dashboard plugin; front-end-only often points at the theme or a display plugin.
Step-by-step: how to fix the critical error in WordPress
Work top to bottom. Stop the moment the site returns — you've found it.
Fix 1: Deactivate plugins (start here)
If recovery mode named a plugin, deactivate just that one. With no dashboard access at all, do it by hand:
- Open your file manager or SFTP and go to
/wp-content/. - Rename the
pluginsfolder toplugins-off. This deactivates every plugin at once. - Reload the site. If it loads, a plugin was the cause.
- Rename the folder back to
plugins, then disable plugins one at a time (rename individual subfolders) until the error returns. The last one you touched is the culprit.
We've run this exact folder-rename trick on our own sites and on client recoveries more times than we can count, and it's the single most reliable way to fix critical error WordPress throws after an update. In our experience it ends here roughly 9 times out of 10.
Fix 2: Switch to a default theme
No luck with plugins? Suspect the theme.
- In
/wp-content/themes/, rename your active theme's folder (e.g.mythemetomytheme-off). - WordPress falls back to a default theme like Twenty Twenty-Four if it's installed.
- Reload. If the wordpress fatal error clears, your theme — or a recent edit to it — is responsible.
If you'd edited functions.php, restore the previous version. A single stray character there is enough to take the whole site down.
Fix 3: Raise the PHP memory limit
If the log mentions "allowed memory size exhausted," give PHP more room. Add this to wp-config.php, above the "stop editing" line:
bashdefine( 'WP_MEMORY_LIMIT', '512M' );
Some hosts cap memory at the server level, so this won't always stick on shared plans — you may need to adjust php.ini or ask support. We set generous memory defaults on our VPS plans at Hostaccent precisely because builder-and-WooCommerce sites routinely need more than the stingy limits shared hosting hands out. If you're constantly bumping the ceiling, that's the real signal — see Best VPS for WordPress in 2026: Tested and Ranked for Real Performance.
Fix 4: Replace corrupted core files
Still stuck, and the log points at a file in /wp-admin/ or /wp-includes/? Refresh WordPress core without touching your content:
- Download the matching WordPress release from WordPress.org.
- Delete your existing
/wp-admin/and/wp-includes/folders only. - Upload the fresh
/wp-admin/and/wp-includes/from the download. - Leave
/wp-content/andwp-config.phpuntouched — that's your data and settings.
This replaces the engine while keeping your content and configuration exactly as they were.
Pro Tip: Before any of the above, take a fast backup of files and database. Every fix here is reversible if you have a copy. Recovering from a critical error is stressful enough without a second mistake making it worse.
Fix 5: Check your PHP version
A theme or plugin written for newer PHP can throw a wordpress fatal error on an old version — or the reverse. In your hosting panel, confirm you're on a currently supported PHP release — 8.1 is the safe floor in 2026, and 8.3 is current. While you're there, check max_execution_time; the PHP default of 30 seconds is often too short for big imports, and a script that times out can surface as the same fatal. After switching, reload and re-check the log.
How to stop the critical error from coming back
Fixing it once is fine. Never seeing it again is better. Three habits do most of the work.
Update on staging, not live. Test plugin, theme, and core updates on a staging copy first. If an update triggers a wordpress critical error, it breaks the clone — not the site your customers are on.
Keep resource headroom. Most "random" critical errors on small sites trace back to a memory or process ceiling that's simply too low. A plan with real headroom absorbs traffic spikes and heavy plugins instead of crashing under them. Instability often shows up earlier as slowness — our guides on WordPress Site Slow: Complete Diagnosis and Fix Guide (2026) and How to Fix High TTFB in WordPress: Step-by-Step Guide for 2026 both trace back to the same root cause.
Keep good backups and monitoring. Automatic daily backups turn a critical error into a 5-minute rollback, and a 30-day retention window gives you room to roll back even if you don't catch the error the same day. Pair that with uptime monitoring so you hear about an outage before your visitors do. If your host buckles under traffic, Best Hosting for High Traffic WordPress Sites in 2026 is worth a read.
Pro Tip: Keep
WP_DEBUG_LOGenabled (with display off) on a staging environment permanently. You'll catch deprecation warnings and small fatals there long before they ever reach production.
Performance and stability are two sides of one coin — flaky hosting that crashes under load is the same hosting dragging down your scores, which is why Core Web Vitals Failing? Your Hosting Might Be the Problem covers the same ground from a different angle.
Keep your site where this rarely happens
Most critical errors we triage come down to two things: a bad update, and not enough resources to absorb it. You control the first with staging and backups. The second is about where your site lives. Hostaccent runs WordPress and VPS plans on an NVMe-backed Cloudflare to Nginx to Apache stack with genuine memory headroom, UK-based support, and honest renewal pricing — so memory-exhaustion fatals and noisy-neighbour crashes mostly stop being your problem. If you keep fixing the same error every few weeks, that's usually a hosting signal, not a WordPress one. Professional plans start at $22.00/mo.
Frequently asked questions
Why does it say there has been a critical error on this website with no details?
WordPress hides the specifics from the public page on purpose, because error details can expose file paths and clues useful to attackers. The full detail still exists — it's emailed to your admin address and written to /wp-content/debug.log once you enable WP_DEBUG. That log is where the real cause lives.
How do I fix the critical error in WordPress without dashboard access?
Use file access (SFTP or your host's file manager). Rename /wp-content/plugins to disable all plugins at once, then reload. If the site returns, re-enable plugins one by one to find the culprit. With no file access at all, your host's support can fix critical error WordPress shows for you.
What is critical error recovery mode and how do I use it?
Critical error recovery mode is a WordPress feature, added in 5.2, that emails your admin address a special login link when a fatal error fires. The link loads your dashboard with the broken plugin or theme paused, so you can safely deactivate it. Check your admin inbox, including spam, first.
Can a plugin update cause a wordpress fatal error?
Yes — it's the most common cause we see. An update can ship a bug or clash with another plugin, triggering a wordpress fatal error instantly. Deactivating plugins, via recovery mode or by renaming the folder, almost always restores the site. Updating on staging first avoids it entirely.
Will fixing this error delete my posts or pages?
No. Your content lives in the database, and every fix here — disabling plugins, switching themes, replacing core files, raising memory — leaves the database untouched. As long as you don't delete /wp-content/ or drop database tables, your posts, pages, and media stay exactly where they are.
How much PHP memory does WordPress need to avoid this?
A simple blog runs fine on 128–256MB, but WooCommerce or a heavy builder often wants 512MB or more. If you keep hitting "allowed memory size exhausted," raising the limit is a patch — moving to a plan with real headroom, like a VPS, is the durable fix that keeps "there has been a critical error on this website" from coming back. Hostaccent provisions generous limits for exactly this reason.



Discussion
Have a question or tip about this topic? Share it below — your comment will appear after review.