WordPress support

WordPress critical error: how to fix “There has been a critical error on this website”

By Sara Ricci · WordPress support & security lead · 27 Jul 2026 · Updated 25 Aug 2026 · 9 min read

If your WordPress site shows “There has been a critical error on this website”, that is a PHP fatal error: the site tried to run code it could not run, and stopped. Two things are true almost every time. WordPress has already emailed you the cause, and the cause is the last thing you changed. Start there, before you touch anything else.

Below is what the message really means, the fastest way to fix it, a table to match your situation to the likely cause, and the manual route for when no email arrives. If your site is a live shop and the checkout is down, skip to when it is not worth fixing it yourself.

The short version

The WordPress critical error is a PHP fatal error, and the cause is almost always the last plugin, theme or code snippet you touched. Three steps, in order:

  1. Log in at /wp-admin/ and read the message there — the wording is different from the front end, and it tells you whether WordPress emailed you.
  2. Open your admin inbox and look for “Your Site is Experiencing a Technical Issue”. Its Recovery Mode link loads wp-admin with the broken extension already paused.
  3. No email? Turn on the debug log, read the last Fatal error line, and reverse the change it points at.
A developer troubleshooting a broken WordPress site on a laptop
Almost every critical error traces back to the last plugin or theme you changed.

What the WordPress critical error actually means

People call it the WordPress critical error, the WP critical error, or just the critical error screen. It is one thing: a PHP fatal error that the site caught instead of dying silently.

Since WordPress 5.2, released in April 2019, a fatal PHP error no longer shows a blank white page. A feature called Fatal Error Protection catches the error, shows visitors the generic “critical error” message, and — the part most people miss — emails the site administrator a private link to Recovery Mode.

That email is the whole game. It usually names the plugin or theme that failed and the exact error, and its Recovery Mode link logs you into wp-admin with the broken extension paused, so you can fix or remove it without touching any files. In other words, the critical error is not a virus and not a lost site: it is one broken piece of code, and WordPress has already quarantined it for you.

The exact wording tells you whether the email was sent

WordPress does not print one message. It prints one of four, and which one you got is the first piece of diagnosis — before you touch a single plugin. The fatal error handler picks the wording from where the error surfaced and whether it managed to start Recovery Mode.

The message you are looking atWhere you areWhat WordPress already didDo this first
“There has been a critical error on this website.” and nothing elseThe front end, seen as a visitorDeliberately told you the minimum — visitors get no detailLog in at /wp-admin/ and read the message there instead
… “Please check your site admin email inbox for instructions. If you continue to have problems, please try the support forums.”wp-admin or wp-login, single siteStarted Recovery Mode and sent the recovery email to the admin addressOpen that inbox — the email usually names the failing file
… “Please reach out to your site administrator, and inform them of this error for further assistance.”wp-admin, multisite installThe same, but the email went to the network admin, not to youSend whoever runs the network the exact message and the time it appeared
“… putting it in recovery mode. Please check the Themes and Plugins screens for more details.”Already inside Recovery ModePaused the failing extension for youGo to Plugins, or Appearance → Themes: the culprit is flagged there

All four end with the same link, “Learn more about troubleshooting WordPress.” That link is generic documentation and the reason so many people paste the whole line into a search box. The sentence in front of it is the part that carries information.

The practical read: if your message is the bare one, WordPress never told you to check your email — but that does not mean no email was sent. It means you are standing on the front end, where WordPress says as little as possible on purpose. Log in and look again. If the message there mentions your admin email inbox, Recovery Mode started and the email exists, which makes the next section the fastest route back.

The fastest WordPress critical error fix: start with the email

  1. Open the inbox for your site’s admin email address (the one in Settings → General). Look for a message with a subject like “Your Site is Experiencing a Technical Issue”. It contains the Recovery Mode link and, often, the plugin or theme at fault and the error line.
  2. Click the Recovery Mode link. wp-admin loads with the failing extension paused. Go to Plugins (or Appearance → Themes) and you will see it flagged.
  3. If the culprit is something you just updated, that is your answer. Deactivate it, confirm the site is back, then either update again once its changelog says it supports your PHP version, or roll back to the previous version.

If the email never arrives, do not assume the worst — many sites simply cannot send email without SMTP configured. Move to the manual fix.

Match your situation to the cause

The critical error has a handful of common triggers. Match what you did last to the likely cause and the first thing to try.

What you changed lastLikely causeFirst fixCall someone if
Updated a pluginPlugin not compatible with your PHP or WordPress versionDeactivate it via Recovery Mode, or rename its folder in wp-content/pluginsIt is your checkout, booking or membership plugin and you cannot lose it
Updated or switched themeFatal error in the theme’s codeSwitch to a default theme (Twenty Twenty-Five) to confirm, then fix or replaceIt is a custom theme with no backup or version control
Edited functions.php or a code snippetPHP syntax or fatal error in your editUndo the edit, or restore the file from a backupYou do not have the previous version of the file
Nothing — it appeared during an import or a traffic spikePHP memory exhausted (WordPress defaults to just 40M for a single site)Raise the limit in wp-config.php (see below)Your host caps PHP memory at the server level and ignores the change
Moved host, or “updated everything” at oncePHP version mismatch across several pluginsSet a compatible PHP version in your hosting panel, then update extensions one by oneSeveral errors stack, or the log points at WordPress core

If what you are looking at is not this message at all, the cause is somewhere else and so is the fix: a page that stays completely blank is covered in the white screen of death, and a database message has its own family of causes in “Error establishing a database connection”.

If no email arrived: the manual fix

No Recovery Mode email means you work from files. You need FTP or your host’s file manager, and a backup of wp-config.php and the database before you change anything.

Reading the WordPress debug log to find the plugin that caused the fatal error
The debug log names the file — and therefore the plugin or theme — that failed.

1. Turn on the debug log

Edit wp-config.php and, just above the line that reads /* That’s all, stop editing! */, add:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Reload the site, then open wp-content/debug.log. The last line starting with Fatal error names the file — and therefore the plugin or theme — that failed. Keep WP_DEBUG_DISPLAY set to false so the errors go to the log, not onto the page where visitors (and bots) could read them.

2. Reverse the last change

If the log points at a plugin, deactivate it without wp-admin: in wp-content/plugins, rename its folder (for example woo-extra-thing to woo-extra-thing_off). If the site comes back, that plugin was the cause. If it points at your theme, switch the active theme back to a default one. Most critical errors end here, because most of them are a plugin you half-forgot you installed meeting a version it does not support.

3. If the log says memory is exhausted

A line like “Allowed memory size … exhausted” means a plugin or theme needed more PHP memory than it was given. Add this to wp-config.php:

define( 'WP_MEMORY_LIMIT', '256M' );

WordPress defaults to 40M for a single site, so 256M is a common, safe bump. If it changes nothing, your host is capping PHP memory at the server level regardless of this setting — that is a support ticket to your host, not another edit on your side.

When it is not worth fixing it yourself

The honest part. Reversing an update you made five minutes ago is not a job for anyone else — do it, and do not re-update until the plugin’s changelog says it supports your PHP version. You do not need us for that.

Where do-it-yourself turns expensive is a live shop. If the error names a payment or checkout plugin, or the site is mid-sale, do not experiment on the live site — every minute of a broken checkout costs orders, and renaming folders while customers are trying to pay is how a small problem becomes a bad afternoon. Take a backup, work on a staging copy, and switch back only once it is confirmed. And when two or three errors stack, or the log points at WordPress core or the database rather than one plugin, stop renaming folders: that is no longer a single broken extension, and someone should read the log properly. That is what our WordPress error-fixing service is for — backup first, diagnose the real cause, fix the broken part, no rebuilding.

Frequently asked questions

My message is longer than “There has been a critical error on this website” — is it a different error?

No, it is the same PHP fatal error. WordPress picks one of four wordings depending on where you are looking and whether Recovery Mode started: the bare sentence on the front end; “There has been a critical error on this website. Please check your site admin email inbox for instructions.” in wp-admin on a single site; “Please reach out to your site administrator, and inform them of this error for further assistance.” on multisite; and a longer one mentioning recovery mode once you are already inside it. All four end with the same link, “Learn more about troubleshooting WordPress.” The extra sentence is the useful part — it tells you whether the recovery email was sent, and to whom.

Does the critical error mean my site is hacked?

Almost never. A critical error is a PHP fatal error — a compatibility or code problem, not an intrusion. If you also see spam pages, unexpected redirects or admin accounts you did not create, that is a different problem: a compromised site that needs cleaning, not a one-line fix.

Will I lose my content?

No. The error stops code from running; it does not delete anything. Your posts, pages, media and WooCommerce orders are still in the database, untouched. Once the broken plugin or theme is removed or fixed, everything is exactly where it was.

I never got the recovery email — why?

Many WordPress sites cannot send email reliably because no SMTP is configured, so the recovery message never arrives. It is not a sign of anything worse. Use the manual route instead: turn on the debug log and reverse the last change.

The error shows only in wp-admin, or only on the public site — what does that tell me?

That the failing code runs in only one place. A plugin that loads a broken admin screen will break wp-admin while the front end still works, and the reverse happens with a front-end feature. The split narrows down which extension to suspect.

Can I just reinstall WordPress to fix it?

Rarely the right move. Reinstalling core does not touch the plugin or theme that is actually failing, and it can overwrite files you meant to keep. Find the failing extension first — reinstalling core is for corrupted core files, which is a small minority of these cases.

Sources (verified July 2026; the four message variants re-checked against WordPress core in August 2026): WordPress Developer — WP_Fatal_Error_Handler::display_default_error_template(); WordPress — Recovery Mode; WordPress Developer — Debugging in WordPress; Make WordPress Core — Fatal Error Recovery Mode in 5.2.

Site down right now?

Send us the error message and the recovery email on WhatsApp, or ask for a free audit. We back up first, find the real cause, and fix the broken part.

Not sure where to start? We’ll audit your site for free

Send us your website address: we’ll analyse it and tell you what to improve, no strings attached. In a hurry? Message us straight away on WhatsApp.