Estimated reading time: 1 minute
The WordPress critical error, “There has been a critical error on this website,” is a fatal PHP error that crashes your site. The most common fix is identifying and deactivating the plugin or theme that triggered it, either through WordPress recovery mode or via FTP access to your site files.
If you’re reading this, your site is probably down right now. That’s stressful, but here’s what you need to know: this error is fixable, your content is safe, and you almost certainly haven’t been hacked.
The critical error means WordPress hit a PHP problem it can’t recover from on its own. It’s one of the most common WordPress errors, and in most cases you can resolve it in under 30 minutes. This guide walks you through exactly what caused it, how to diagnose the problem, and how to fix it step by step.
Note: This guide applies to WordPress 5.2 and later. If you’re running an older version, you’ll see a blank white page instead of the critical error message. See our guide on the White Screen of Death for help with that.
Table of contents
What the WordPress Critical Error Actually Means
When you see the message “There has been a critical error on this website. Please check your site admin email inbox for instructions,” it means a fatal PHP error has stopped WordPress from loading.
PHP is the programming language that runs WordPress. When a piece of PHP code fails badly enough (a “fatal error”), WordPress can’t finish building your page. Instead of showing visitors a confusing technical message, it displays this generic error screen.
Before WordPress 5.2, this type of crash produced a completely blank white page with no explanation at all. The WordPress community called it the “White Screen of Death.” The current error message is actually an improvement because WordPress now tries to help you fix the problem. Behind the scenes, when a critical error happens, WordPress does three things:
- It shows the generic error message to visitors to protect your site’s technical details.
- It sends an email to your admin email address with information about what went wrong.
- It activates recovery mode, which can give you temporary dashboard access to fix the issue.
The important thing to understand: your posts, pages, images, and database are almost certainly fine. The critical error is about code execution failing, not about data being lost or corrupted. Your content is still there; WordPress just can’t display it right now.
Common Causes of the WordPress Critical Error
Knowing what triggered the error helps you fix it faster. Think about what changed on your site recently. Did you update a plugin? Switch themes? Change your hosting settings? The timing usually points to the cause.
Plugin Conflicts or Faulty Updates
This is the single most common cause of the WordPress critical error. It happens when a plugin update introduces code that’s incompatible with your WordPress version, your PHP version, or another active plugin. It can also occur when you install a new plugin that conflicts with your existing setup.
If you updated one or more plugins right before the error appeared, that’s almost certainly your culprit. The good news is that WordPress often identifies the exact plugin in the notification email it sends to your admin address.
Theme Incompatibilities
Your WordPress theme can also trigger a critical error, especially after a WordPress core update. If the theme relies on deprecated PHP functions or hasn’t been updated to work with the latest WordPress version, it can crash your site.
This is particularly common with themes that haven’t been maintained in a long time. Choosing a theme from a developer who actively maintains and tests their products against each WordPress release (like WPZOOM) significantly reduces this risk.
PHP Memory Limit Exhaustion
WordPress needs a certain amount of server memory to run. When that limit is exceeded, PHP throws a fatal error. In your error log, this looks like: Fatal error: Allowed memory size of 134217728 bytes exhausted.
This tends to happen on shared hosting plans with low default memory limits (often 64MB or 128MB). Resource-heavy plugins like page builders, WooCommerce, or image optimization tools can push memory usage beyond the limit, especially during updates or when running multiple processes.
PHP Version Incompatibility
PHP gets regular updates, and sometimes your hosting environment and your plugins aren’t on the same page. There are two common scenarios here. First, newer plugins may require PHP 8.0 or higher while your hosting still runs an older version. Second, your host may have upgraded PHP, and some of your older plugins aren’t compatible with the new version.
You can check your current PHP version through your hosting control panel. WordPress currently recommends PHP 8.1 or higher.
Corrupted WordPress Core Files
Less common, but it does happen. WordPress core files can become corrupted during a failed update, a server crash, or a file transfer that didn’t complete properly. When core files are damaged, WordPress can’t execute its basic functions, which triggers the critical error.
The fix for this is straightforward: reinstall the core files from a fresh WordPress download (covered in Step 7 below).
Database Connection Issues
WordPress stores all your content, settings, and user data in a MySQL database. If WordPress can’t connect to that database or if the database tables are corrupted, you’ll see a critical error. Common causes include incorrect database credentials in your wp-config.php file, a database server that’s down, or tables that were corrupted during a crash.
Quick Checks Before You Troubleshoot
Before working through the full troubleshooting steps, try these quick checks. They can save you significant time if the problem is simpler than you think.
1. Clear your browser cache and check in an incognito window. Sometimes you’re looking at a cached version of the error page after WordPress has already recovered on its own. Open your site in a private/incognito browser window to see the current state.
2. Check your email for a recovery mode link. WordPress automatically sends a notification to your admin email address when a critical error occurs. The subject line is usually “Your Site is Experiencing a Technical Issue.” This email includes details about the error and a special link to access your dashboard in recovery mode.
3. Try the recovery mode URL manually. If you didn’t receive the email (check your spam folder too), you can try accessing recovery mode directly by visiting:
yourdomain.com/wp-login.php?action=entered_recovery_mode
Replace yourdomain.com with your actual domain. This won’t always work, but it’s worth trying before you resort to FTP access.
4. Check your hosting provider’s status page. Occasionally the problem isn’t WordPress at all. Your hosting server might be experiencing issues. A quick check of your host’s status page can rule this out.
If you’re completely locked out and none of these quick checks work, see our guide on what to do when you can’t access wp-admin for additional access methods.
If any of these get you back into your dashboard, skip ahead to the specific fix that matches your situation.
How to Fix the WordPress Critical Error (Step-by-Step)
The steps below are organized from the simplest fix to the most involved. Before starting, note which situation applies to you:
- Path A: You can access wp-admin (through recovery mode or because the error only affects the frontend). You can make changes from the WordPress dashboard.
- Path B: You’re completely locked out. You’ll need FTP access (using a client like FileZilla) or your hosting provider’s file manager to make changes directly in your site files.
Each step below notes which path it applies to.
Step 1. Use WordPress Recovery Mode
Applies to: Path A
Recovery mode is a built-in WordPress feature (introduced in WordPress 5.2) that activates automatically when WordPress detects a fatal error caused by a plugin or theme. It pauses the problematic code and gives you a way back into your dashboard.
Here’s how it works:
- Find the recovery mode link. Check your admin email for the message from WordPress. Click the recovery link in that email. If you didn’t receive it, try visiting yourdomain.com/wp-login.php?action=entered_recovery_mode directly.
- Log in with your WordPress credentials. Recovery mode places a special cookie in your browser. Your visitors will still see the error message, but you’ll have dashboard access.
- Look at the notification at the top of the dashboard. WordPress will tell you which plugin or theme caused the problem. You’ll see something like “One or more plugins failed to load properly.”
- Deactivate the faulty plugin or theme. Go to Plugins (or Appearance > Themes) and deactivate the one WordPress identified.
- Exit recovery mode. Once the issue is resolved, click “Exit Recovery Mode” in the admin toolbar. Then verify your site loads normally in a regular browser window.
If recovery mode doesn’t work or isn’t available, move to Step 2.
Step 2. Enable WordPress Debugging to Find the Root Cause
Applies to: Path A and Path B
When you don’t know exactly what’s causing the error, WordPress debugging can tell you. It logs detailed PHP error information to a file you can read.
Connect to your site files using FTP or your hosting file manager and open the wp-config.php file in your site’s root directory. Find the line that says /* That’s all, stop editing! Happy publishing. */ and add the following code just above it:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Here’s what each line does:
- WP_DEBUG turns on WordPress error reporting so PHP errors are tracked instead of silently ignored.
- WP_DEBUG_LOG saves those errors to a file at /wp-content/debug.log on your server.
- WP_DEBUG_DISPLAY keeps error messages hidden from your site’s visitors. You want errors logged, not shown publicly.
Save the file, then visit your site (even if it still shows the error). This triggers WordPress to log the specific error.
Now open /wp-content/debug.log through FTP or file manager. Look for lines starting with “Fatal error.” Here’s how to interpret the most common messages:
| Error Message | What It Means | What to Do |
|---|---|---|
| Fatal error: Uncaught Error: Call to undefined function… | A plugin or theme is calling a PHP function that doesn’t exist | Deactivate the plugin/theme named in the file path |
| Fatal error: Allowed memory size of XXX bytes exhausted | WordPress ran out of PHP memory | Increase the memory limit (Step 5) |
| Fatal error: Failed to open stream: No such file or directory | A required file is missing or corrupted | Reinstall the plugin, theme, or WordPress core |
| Parse error: syntax error, unexpected… | There’s a typo or code error in a PHP file | Fix or replace the file mentioned in the error |
The file path in the error message tells you exactly where the problem is. For example, if you see /wp-content/plugins/some-plugin/includes/class-main.php, you know some-plugin is the cause.
For a deeper understanding of wp-config.php and what you can configure there, see our wp-config.php guide.
Important: Remember to set WP_DEBUG back to false after you’ve finished troubleshooting. Leaving debug mode on can expose information and affect performance.
Step 3. Deactivate All Plugins
Applies to: Path B (FTP method)
If you can’t access the dashboard and suspect a plugin is causing the error, you can deactivate all plugins at once through FTP.
- Connect to your site via FTP or your hosting file manager.
- Navigate to the /wp-content/ directory.
- Rename the plugins folder to plugins-disabled (or any other name).
- Visit your site. If it loads, a plugin was causing the problem.
- Rename the folder back to plugins. All plugins will now be deactivated but still installed.
- Go to your WordPress dashboard (which should now be accessible) and reactivate plugins one at a time. After activating each one, check your site. When the error returns, you’ve found the culprit.
Once you identify the problematic plugin, you have a few options: delete it and find an alternative that does the same thing, contact the plugin developer to report the issue, or check if a newer version is available that fixes the compatibility problem.
Step 4. Switch to a Default Theme
Applies to: Path B (FTP method)
If deactivating plugins didn’t fix the error, your theme might be the cause. You can test this by switching to a default WordPress theme.
- Connect via FTP or file manager.
- Navigate to /wp-content/themes/.
- Rename your active theme’s folder. For example, rename inspiro to inspiro-disabled.
- WordPress will automatically switch to a default theme like Twenty Twenty-Five (if one is installed in your themes folder).
- Visit your site. If it loads, your theme was causing the critical error.
If no default theme is installed, download one from wordpress.org/themes (search for “Twenty Twenty-Five”), unzip it, and upload the theme folder to /wp-content/themes/ via FTP.
If the default theme fixes the problem, you’ll need to either update your original theme to a compatible version, contact the theme developer for support, or switch to a different theme. When choosing a replacement theme, look for one that’s actively maintained and tested against the latest WordPress version. At WPZOOM, we test our themes against every WordPress release, which helps avoid exactly these types of compatibility issues.
Step 5. Increase PHP Memory Limit
Applies to: Path A and Path B
If your debug log shows a “memory size exhausted” error, or if your site crashes during heavy operations, the PHP memory limit is likely too low.
Open your wp-config.php file and add this line just above /* That’s all, stop editing! */:
define('WP_MEMORY_LIMIT', '256M');
This tells WordPress to request 256MB of memory from your server, which is enough for most sites.
Save the file and check if your site loads. If the error persists, your hosting provider may be overriding this setting at the server level. In that case, contact them and ask to have the PHP memory limit increased.
For additional methods to adjust the memory limit (including via php.ini and .htaccess), see our detailed guide on how to increase your WordPress memory limit.
Step 6. Check and Update Your PHP Version
Applies to: Path A and Path B (via hosting control panel)
An outdated or mismatched PHP version can cause critical errors. WordPress officially recommends PHP 8.1 or higher.
To check your PHP version, log into your hosting control panel (cPanel, Plesk, or your host’s custom panel) and look for a PHP version or PHP configuration option. If you’re running PHP 7.4 or older, upgrading to PHP 8.1 or 8.2 may resolve the issue.

A word of caution: while an outdated PHP version can cause errors, upgrading PHP can also trigger critical errors if your plugins or theme aren’t compatible with the newer version. Always create a backup before changing your PHP version. If the error gets worse after upgrading, revert to the previous version and update your plugins and theme first.
Step 7. Reinstall WordPress Core Files
Applies to: Path B
If nothing else has worked and you suspect the core WordPress files may be corrupted, you can reinstall them without affecting your content.
- Download a fresh copy of WordPress from wordpress.org/download.
- Unzip the file on your computer.
- Using FTP, upload the wp-admin and wp-includes folders to your server, replacing the existing ones.
- Do not upload the wp-content folder. That folder contains your themes, plugins, and uploaded media. Overwriting it would erase your customizations.
This process replaces only the core WordPress files. Your database, themes, plugins, and uploads remain untouched.
If you have dashboard access, there’s an easier method: go to Dashboard > Updates and click the “Re-install version X.X” button. This does the same thing with one click.
Step 8. Restore From a Backup
Applies to: Last resort
If none of the above steps resolved the issue, or if you’re unsure what changed and want a clean start, restoring from a backup is your safety net.
How you restore depends on how your backups are set up. Hosting providers like SiteGround, Cloudways, and Kinsta offer one-click backup restoration from their dashboards. If you use a backup plugin like UpdraftPlus or BlogVault, follow that plugin’s restore process. For manual backups, you’ll need to upload files via FTP and import your database through phpMyAdmin.
Keep in mind that restoring a backup rolls your entire site back to the state it was in when the backup was created. Any content you published or changes you made after that backup will be lost.
If you don’t currently have backups set up, make that your first priority after fixing this error. See our guide on how to back up your WordPress site for a step-by-step walkthrough.
How to Prevent WordPress Critical Errors
Fixing the error is one thing. Making sure it doesn’t happen again is just as important. These practices address the root causes behind most critical errors.
Back Up Before Every Update
This is the single most important habit you can build. Before updating any plugin, theme, or WordPress core, create a backup. If something breaks, you can restore your site in minutes instead of spending hours troubleshooting.
Use your hosting provider’s built-in backup tools or a backup plugin to automate this. For active sites that publish content regularly, daily automated backups are the minimum.
Update Plugins and Themes One at a Time
When WordPress shows a list of available updates, it’s tempting to click “Update All” and move on. Resist that urge. Updating everything at once makes it nearly impossible to identify which update caused a problem.
Instead, update one plugin or theme at a time, then check your site after each one. If something breaks, you’ll know exactly which update was responsible. For detailed guidance on safe theme updates, see how to update your WordPress theme safely.
Use a Staging Environment for Testing
A staging site is a private copy of your website where you can test changes before applying them to your live site. This is especially valuable for major updates like a new WordPress version, a theme switch, or PHP version upgrades.
Most managed WordPress hosts offer one-click staging. If yours doesn’t, you can set one up manually. Our guide on how to create a WordPress staging site covers both approaches.
Choose Quality Plugins and Themes
Not all plugins and themes are built to the same standard. Before installing anything, check the last update date (avoid anything not updated in the past 6 months), the number of active installations, user reviews, and compatibility with your WordPress version.
Avoid nulled or pirated themes and plugins. Beyond the obvious security risks, they often contain modified code that causes stability issues. WPZOOM themes, for example, are tested against each WordPress release for compatibility and come with dedicated support if issues arise.
Keep PHP Version Current
Stay within WordPress’s recommended PHP version range. When your hosting provider offers a PHP upgrade, test it on a staging site before applying it to your live environment. Keeping PHP current improves both security and performance, and ensures compatibility with modern plugins.
Monitor Your Site
Don’t wait for visitors to tell you your site is down. Set up free uptime monitoring through services like UptimeRobot or Better Stack. These tools check your site every few minutes and alert you the moment something goes wrong.
Also make sure the email address in Settings > General in your WordPress dashboard is one you actually check. That’s where WordPress sends critical error notifications and recovery mode links.
Frequently Asked Questions
It means WordPress has encountered a fatal PHP error that prevents your site from loading. The error is usually caused by a plugin conflict, theme incompatibility, or PHP memory exhaustion. Your content and database are typically unaffected by the error itself.
Check your admin email for a recovery mode link from WordPress. The subject line is “Your Site is Experiencing a Technical Issue.” If you didn’t receive the email, try visiting yourdomain.com/wp-login.php?action=entered_recovery_mode directly. If neither option works, connect to your site files using FTP or your hosting provider’s file manager.
The critical error itself does not cause data loss. Your database, posts, pages, and uploaded files remain intact. However, some troubleshooting steps (particularly restoring from a backup) can overwrite recent changes. Always create a backup before making any modifications to your site files.
Plugin updates can introduce code that’s incompatible with your current WordPress version, PHP version, or other active plugins. This is the most common trigger for WordPress critical errors. If the error appeared immediately after updating a plugin, that update is almost certainly the cause.
Recovery mode is a built-in WordPress feature introduced in version 5.2. When WordPress detects a fatal error caused by a plugin or theme, it automatically pauses the problematic code and sends an email to the site administrator with a special login link. This link gives you temporary dashboard access so you can deactivate or remove the faulty component without needing FTP access.
Add the following line to your wp-config.php file, just above the comment that says “That’s all, stop editing!”:
define(‘WP_MEMORY_LIMIT’, ‘256M’);
This sets the memory limit to 256MB, which is sufficient for most WordPress sites. If your hosting provider enforces a lower limit at the server level, you’ll need to contact them to increase it.
WordPress officially recommends PHP 8.1 or higher. Running an outdated PHP version can cause critical errors, particularly with newer plugins that rely on modern PHP features. Check your current PHP version in your hosting control panel and upgrade if needed, but test on a staging site first.
The most effective prevention measures are: create backups before every update, update plugins and themes one at a time instead of in bulk, test major changes on a staging site first, choose well-maintained plugins and themes from trusted sources, and keep your PHP version within the range WordPress recommends.
Wrapping Up
The WordPress critical error is alarming, but it’s almost always fixable. In the majority of cases, the solution is identifying and deactivating the plugin or theme that caused the PHP fatal error, either through recovery mode or by renaming folders via FTP.
The key takeaways:
- Check your email first for the recovery mode link. It’s the fastest path back in.
- Enable WP_DEBUG to find the exact cause if the problem isn’t obvious.
- Plugins are the most common cause, especially after updates.
- Regular backups and one-at-a-time updates prevent most critical errors from happening.
If your current theme was part of the problem, consider switching to one that’s actively maintained and tested for compatibility with each WordPress release. WPZOOM themes are built with stability in mind and come with dedicated support to help you through issues like this.

December 25, 2024 8:20 am
Hey, I am getting an error on my checkout page when I click on place order button. “This has been a critical error on this website” This is the error. Last time I cleaned the database or setup smtp but still getting this error on checkout page. Can you help me to solve this error.