Email: hello@attors.comServing businesses and agencies in the US, UK & Europe
Attors Technologies
Attors Technologies

Explore Attors

Project Enquiries

Shadola Road AreaGujrat, Pakistan
hello@attors.com+92 309 9867390Start a Project
0% · What the WordPress critical error message means
Performance & Reliability

WordPress Critical Error or White Screen? How to Fix It

What "There has been a critical error on this website" means, how to get your WordPress site back step by step, and how to stop it happening again.

Stressed business owner at a laptop after his WordPress website stopped loading

The short answer

  • “There has been a critical error on this website” means PHP hit a fatal error. It is the modern version of the white screen of death.
  • The cause is usually a plugin or theme update, a new plugin, custom code, or your host changing the PHP version.
  • Check the site admin email for a Recovery Mode link first. It lets you log in and deactivate the faulty plugin without touching any files.
  • No email? Rename the plugin’s folder through FTP or your host’s file manager, or restore yesterday’s backup.
  • Your posts, pages and orders are stored in the database. A critical error almost never deletes them.

A WordPress critical error means a piece of PHP code crashed while the page was loading, so WordPress stopped and showed a warning instead of your site. In most cases the culprit is a plugin or theme that was just updated or installed, and you can get the site back by deactivating it. Your content is almost always safe.

This guide is for site owners staring at a broken site right now. It walks through what the message means, what to check in the first ten minutes, six fixes in the order we would try them, and how to tell whether the error is a sign of something worse, such as a hacked site.

What the WordPress critical error message means

Before WordPress 5.2, a fatal PHP error usually left visitors with a completely blank page, which became known as the white screen of death. Since version 5.2, WordPress catches most of these errors and shows a short message instead:

There has been a critical error on this website. Please check your site admin email inbox for instructions.

At the same moment, WordPress emails the site’s administrator address with details of the error and a special link that opens your dashboard in Recovery Mode. In Recovery Mode, the plugin or theme that crashed is paused just for your session, so you can log in and switch it off while visitors still see the error page.

You may still see a true white screen in some cases, for example when the error happens before WordPress’s protection loads, or when PHP itself runs out of memory. The fixes below work for both.

Check these four things before you fix anything

Two minutes of checking saves an hour of guessing, and stops you making the problem worse.

  1. What changed just before it broke? A plugin or theme update, a new plugin, an edit to functions.php or a WordPress core update are the usual suspects. If automatic updates are on, check the update emails WordPress sends.
  2. Is it the whole site or just the admin? Open your homepage, a blog post and /wp-admin/ in a private browser window. If only one area is broken, the cause is usually code that only runs there.
  3. Did your host change anything? Many hosts upgrade PHP versions on a schedule. An older plugin that worked on PHP 7.4 can crash on PHP 8.x. Your hosting dashboard or a recent host email will tell you.
  4. Do you have a recent backup? Find out now, before you change anything. Most hosts keep daily backups even if you never set them up yourself.

One thing not to do: don’t reinstall WordPress or delete folders at random. That rarely fixes a plugin crash and can remove the clues you need.

Quick guide: symptom, likely cause, first fix

What you seeMost likely causeTry this first
Critical error right after updating a pluginThat plugin is incompatible or the update failed halfwayRecovery Mode link, or rename that plugin’s folder
Critical error after a theme update or design changeTheme code or a child theme’s functions.phpSwitch to a default theme
Whole site broke with no update from youHost changed the PHP version, or an automatic update ranCheck PHP version in your hosting panel, then the debug log
Only wp-admin shows the errorAn admin-only plugin or a dashboard widgetRecovery Mode, or rename plugins one at a time
White screen with “Allowed memory size exhausted” in logsPHP memory limit too low for your pluginsRaise the memory limit or ask your host
Error plus spam redirects, strange new files or unknown admin usersThe site has been hackedTreat it as a security incident, not a plugin bug

Fix 1: Log in with the Recovery Mode email

This is the fastest fix and needs no technical access.

  1. Open the inbox of the email address set as the site administrator (Settings > General in WordPress). Check spam and promotions folders too.
  2. Open the email titled something like “Your Site is Experiencing a Technical Issue”. It names the plugin or theme that caused the error.
  3. Click the Recovery Mode link and log in as normal.
  4. Your dashboard will show a notice pointing to the faulty plugin or theme. Deactivate it from the Plugins or Themes screen.
  5. Click “Exit Recovery Mode” in the admin bar and check the site in a private window.

Deactivating gets you back online, but it doesn’t fix the plugin. Check whether the plugin has a newer version, contact its developer, or find a replacement before turning it back on.

Fix 2: No email? Deactivate the plugin through your file manager

The recovery email often never arrives. WordPress may send it straight from your web server before any email plugin loads, and many servers’ emails land in spam or are blocked. If that happens, you can switch plugins off by renaming their folders, which WordPress treats as deactivating them.

  1. Open your host’s file manager (in cPanel, Plesk or your host’s own dashboard), or connect with an FTP or SFTP app using the details from your host.
  2. Go to the wp-content/plugins folder.
  3. If you know which plugin broke the site, rename only its folder, for example from contact-form-x to contact-form-x-off.
  4. If you don’t know, rename the whole plugins folder to plugins-off. This deactivates every plugin at once.
  5. Reload your site. If it works, rename the folder back, then reactivate plugins one at a time from the dashboard until the error returns. The last one you activated is the culprit.

Your plugin settings are stored in the database, so renaming a folder does not erase them. When you rename it back and reactivate, the settings return.

Fix 3: Switch to a default theme

If plugins aren’t the problem, the theme may be. In the dashboard, activate a default theme such as Twenty Twenty-Four or Twenty Twenty-Five under Appearance > Themes. If you can’t reach the dashboard, rename your active theme’s folder inside wp-content/themes; WordPress will fall back to a default theme if one is installed.

If the error started right after someone edited functions.php, undo that edit first. A single missing bracket in that file is enough to take a site down.

Fix 4: Read the exact error in the debug log

When guessing fails, WordPress can tell you exactly which file and line crashed. Add these lines to wp-config.php, just above the line that says “That’s all, stop editing”:

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

Reload the broken page, then open wp-content/debug.log. The last “PHP Fatal error” line names the file, which tells you the plugin or theme folder responsible. Setting WP_DEBUG_DISPLAY to false keeps the error details off your public pages.

Turn debugging off again once you’re done. The WordPress debugging handbook notes that these tools are meant for testing and staging sites, not for leaving on in production.

Fix 5: Check the PHP version and memory limit

If the site broke without anyone touching it, look at your hosting panel. Two server settings cause a large share of these errors.

  • PHP version. If your host recently moved you to a newer PHP version, an outdated plugin or theme may not support it. Most hosts let you switch back temporarily while you update or replace the old code. Treat the rollback as a stopgap: older PHP versions stop receiving security fixes.
  • Memory limit. An “Allowed memory size exhausted” message in the log means PHP ran out of memory. You can raise the limit by adding define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php, but on shared hosting the server’s own limit may still cap it. Your host can raise that for you.

Fix 6: Restore a backup from before it broke

If you need the site back immediately and you know roughly when it broke, restoring a backup from before that moment is often the quickest route. Be careful with stores and membership sites: restoring a full backup can roll back orders, sign-ups or form entries received since then. When in doubt, restore the files only, or ask your host to restore to a copy so you can compare first.

A restore gets you online, but the plugin or update that caused the crash is still waiting. Update it on a staging copy before trying again on the live site.

When a critical error is a sign your site was hacked

Most critical errors are honest plugin crashes. But malware can also break PHP files, especially when it injects code badly. Look for these warning signs:

  • visitors are redirected to spam, gambling or pharmacy sites
  • new administrator accounts you didn’t create
  • unfamiliar PHP files in wp-content/uploads or the site root
  • Google showing a “This site may be hacked” warning, or your host suspending the account
  • the error returns after you fixed it, with no updates in between

If you see any of these, deactivating a plugin won’t solve it. Follow our guide to what to do in the first hour after a hack, or have the site professionally cleaned. Our WordPress malware removal starts from $199, with an emergency same-day option from $349 for sites that are down or losing sales.

How to stop critical errors happening again

  • Test updates on a staging copy first. Most hosts offer one-click staging. Update there, check the key pages, then update live.
  • Update one plugin at a time on important sites, so you know exactly which one caused a problem.
  • Keep daily backups that you have actually restored once. A backup you’ve never tested is a hope, not a plan.
  • Remove plugins you don’t use. Every inactive or abandoned plugin is more code that can break or be exploited.
  • Check PHP compatibility before your host upgrades. Hosts usually announce PHP changes weeks in advance.
  • Hand updates to someone whose job it is. A care plan turns updates, backups and monitoring into someone else’s responsibility. Our maintenance checklist explains what a good plan should cover.

From our projects: On our on-demand WordPress work, every fix and update is tested on a staging copy before it touches the live site. That one habit prevents most update-related critical errors, because a plugin that breaks on staging never reaches your visitors.

When to call a WordPress developer

Try the fixes above if you’re comfortable with your hosting panel. Hand it over when:

  • you can’t get file or hosting access
  • the debug log points to WordPress core, a custom plugin or code nobody on your team understands
  • the faulty plugin is essential, such as WooCommerce, a booking system or a membership plugin, and simply switching it off isn’t an option
  • you’re losing sales or leads every hour the site is down
  • there are signs of a hack

Our WordPress development team handles fixes like this through on-demand development at $35 an hour, booked in five-hour blocks, with every change tested on a staging copy first. If you’d rather not deal with updates at all, our WordPress care plans start at $49 a month and cover updates, daily backups, security scans and uptime monitoring.

WordPress critical error questions

What does “There has been a critical error on this website” mean?

It means PHP hit a fatal error while loading the page, usually inside a plugin, theme or custom code. Since version 5.2, WordPress shows this message instead of a blank white screen and emails the site administrator a link to log in safely and fix it.

Why didn’t I get the Recovery Mode email?

Usually because the email was sent straight from your web server before any email plugin loaded, and it went to spam or was blocked. It also goes only to the address in Settings > General, which may be an old or unused inbox. If it doesn’t arrive, rename the plugin folder instead.

How do I fix a critical error if I can’t access wp-admin?

Use your host’s file manager or FTP. Rename the wp-content/plugins folder to deactivate all plugins, or rename just the suspected plugin’s folder. If that doesn’t work, rename your active theme’s folder so WordPress falls back to a default theme.

Will I lose my content or orders?

Almost never. Posts, pages, products and orders live in the database, which a PHP crash doesn’t touch. The risk comes from fixes, not the error: restoring an old full backup can roll back orders and form entries received since that backup was taken.

Why did my site break after a WordPress update?

Usually a plugin or theme wasn’t compatible with the new WordPress version, or an update stopped halfway and left incomplete files. Deactivating the plugin named in the recovery email or debug log, then updating it or replacing it, fixes most cases.

Can a PHP update cause a WordPress critical error?

Yes, and it’s one of the most common causes when nobody touched the site. Older plugins and themes can use code that newer PHP versions no longer allow. Switching back to the previous PHP version in your hosting panel restores the site while you update the outdated code.

Is the white screen of death the same as a critical error?

They’re the same underlying problem, a fatal PHP error. Older WordPress versions showed a blank white page; newer ones usually show the critical error message instead. You can still get a true white screen if the error happens very early or PHP runs out of memory.

Is a critical error a sign my site was hacked?

Usually not, but it can be. Be suspicious if the error appeared with no updates, comes back after you fix it, or you also see spam redirects, unknown admin users or Google security warnings. In those cases, treat it as a hack and clean the site properly.

How much does it cost to have a developer fix a critical error?

A straightforward plugin conflict usually takes an hour or two to diagnose and fix. With us, on-demand WordPress development is $35 an hour in five-hour blocks. If the cause turns out to be malware, our cleanup starts from $199, or from $349 for same-day emergency work.

Get your WordPress site working again

Attors Technologies is a web development agency that builds, fixes and maintains WordPress sites for businesses in the US, UK and Europe. If your site is down and the fixes above haven’t worked, send us the error and your hosting details and we’ll tell you what’s wrong and what it will cost to fix before any work starts.

Get help fixing your WordPress site

Written byAttors Development TeamWordPress, e-commerce and custom development

The Attors Development Team builds and maintains WordPress, WooCommerce, Shopify and custom Next.js websites for businesses and agencies in the US, UK and Europe, from themes and plugins to speed, security, hacked-site recovery and migrations.

Performance & Reliability

Website Hacked? What to Do in the First Hour

A calm, step-by-step plan for the first hour after a website hack: contain it, protect customers, clean the site and recover your search visibility.

Planning a website or need a fix?

Tell us what you need. We reply within one business day with questions or a written quote.

Start a project