Seeing “There has been a critical error on this website” can make it look like your entire WordPress site is broken.
In most cases, however, the problem is caused by a PHP fatal error triggered by a plugin, theme, incompatible PHP version, custom code, memory issue, or failed update.
The important thing is to troubleshoot the error in the right order instead of randomly deleting files or reinstalling everything.
QUICK ANSWER
To fix a WordPress critical error, first check your administrator email for a Recovery Mode link. If that does not restore the site, disable plugins, test your theme, check PHP compatibility, review the memory limit, and enable WordPress debug logging to identify the exact fatal error.
What Does a WordPress Critical Error Mean?
A WordPress critical error normally means PHP encountered a fatal error and WordPress could not finish loading the page.
You may see a message similar to:
There has been a critical error on this website.
The site may fail completely, only the front end may stop working, or you may be locked out of wp-admin.
Common causes include:
- A broken or incompatible plugin
- A theme conflict
- An incompatible PHP version
- A PHP memory limit problem
- Faulty custom PHP code
- A failed WordPress, plugin, or theme update
- Missing or corrupted WordPress files
Before changing files, plugins, themes, or PHP settings, create a backup whenever possible.
1. Check Your WordPress Recovery Mode Email
Your first step should be checking the email address assigned to your WordPress administrator account.
When WordPress detects certain fatal PHP errors, it may send an email containing information about the error and a special Recovery Mode login link.
Check:
- Your main inbox
- Spam or junk folders
- The email address configured under Settings → General
If the Recovery Mode link works, log in and check whether WordPress identifies a faulty plugin or theme.
Deactivate the problem component, update or replace it, and then test the website again.
TIP:
If the WordPress recovery email never arrives, email delivery itself may be broken. See our guide: WordPress Not Sending Email? 9 Fixes to Restore Email Delivery.
2. Disable All Plugins
Plugin conflicts are one of the first things to test when a WordPress critical error appears.
If you can still access the dashboard:
- Go to Plugins → Installed Plugins.
- Select all active plugins.
- Choose Deactivate.
- Reload your website.
If the site starts working, reactivate your plugins one at a time.
Refresh the website after each activation. When the critical error returns, the plugin you just activated is a strong candidate for the cause.
If You Cannot Access wp-admin
Use your hosting File Manager, SFTP, or FTP.
Open:
/wp-content/
Rename the folder:
plugins
to something such as:
plugins-disabled
This prevents WordPress from loading the normal plugin directory.
If the site works again, rename the folder back to plugins and troubleshoot the plugins individually.
CAUTION:
Do not permanently delete the plugins folder just to test the site. Renaming it is safer and reversible.
3. Test Your Active WordPress Theme
If disabling plugins does not solve the problem, test the active theme.
A theme can cause a critical error because of:
- Broken PHP code
- An incompatible update
- A damaged
functions.phpfile - Conflict with a plugin
- Compatibility problems after a PHP update
If the dashboard works, temporarily activate a standard WordPress theme and test the website.
If you cannot access WordPress, use your hosting File Manager or SFTP and open:
/wp-content/themes/
Rename the folder belonging to your active theme.
If a default WordPress theme is already installed, WordPress may fall back to it.
If the site starts working afterward, investigate the original theme before activating it again.
4. Check Your PHP Version
A critical error can appear immediately after a host changes PHP versions or after an outdated plugin or theme encounters a newer PHP environment.
Open your hosting control panel and check the PHP version currently assigned to the website.
Then verify that:
- Your WordPress installation supports that PHP version
- Your active theme supports it
- Your important plugins support it
Avoid randomly switching between many PHP versions on a live site.
If the error appeared immediately after a PHP change, compatibility is an important clue.
BEST PRACTICE:
Use a PHP version supported by your current WordPress installation, theme, plugins, and hosting environment rather than choosing a version only because it is newer.
5. Check the WordPress Memory Limit
Some fatal errors occur when PHP runs out of available memory.
The error log may contain wording such as:
Allowed memory size exhausted
If you see a memory-related error, check the PHP memory limit in your hosting control panel.
WordPress also supports a memory setting in wp-config.php, for example:
define( 'WP_MEMORY_LIMIT', '128M' );
However, increasing the WordPress value cannot always override a lower server-level limit.
Your hosting company may need to change the PHP configuration.
More importantly, repeatedly running out of memory may indicate a plugin, theme, or process consuming excessive resources. Raising the limit should not replace finding the underlying cause.
6. Enable WordPress Debug Logging
If you still do not know what caused the critical error, stop guessing and check the actual error log.
Open wp-config.php and make a backup copy before editing it.
Add or configure these values before the line that tells you to stop editing:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Reload the page that triggers the critical error.
WordPress can then write debugging information to:
/wp-content/debug.log
Open the log and look near the latest entries for terms such as:
Fatal errorUncaught ErrorAllowed memory size exhausted- A plugin folder name
- A theme folder name
- A specific PHP file and line number
For example, if the error repeatedly points to a file inside:
/wp-content/plugins/example-plugin/
that plugin becomes the first component to investigate.
IMPORTANT:
Do not leave debugging enabled indefinitely on a production website. After troubleshooting, turn debugging off and remove or secure unnecessary debug logs because logs may contain sensitive technical information.
7. Undo Recent Custom Code Changes
Think about what happened immediately before the critical error appeared.
Did you recently:
- Edit
functions.php? - Add a PHP snippet?
- Modify a child theme?
- Add code through a snippets plugin?
- Install tracking or advertising code?
- Edit a custom plugin?
A single PHP syntax error can stop WordPress from loading.
If the error began immediately after adding custom code, remove or roll back that specific change first.
If you use a code snippets plugin and cannot access the dashboard, disabling that plugin through the hosting File Manager may restore access.
8. Check for a Failed Update or Corrupted WordPress Files
A WordPress critical error can also follow an interrupted update.
This is worth checking if the problem started while updating:
- WordPress core
- A plugin
- A theme
- Multiple components at once
If you can access the dashboard, check Dashboard → Updates and make sure WordPress, plugins, and themes are in a consistent state.
If core files appear damaged, WordPress can be reinstalled with a clean copy of the same release without intentionally replacing your site’s content.
However, always create a full backup first. If you are not comfortable replacing WordPress files manually, use your hosting support or a staging environment instead.
Never overwrite wp-content or your database as part of a casual troubleshooting attempt.
9. Restore a Known-Good Backup or Contact Your Host
If the website was working correctly before a specific update or configuration change and the previous fixes have not solved the problem, a recent backup may be the fastest recovery option.
Before restoring, confirm:
- The date of the backup
- Whether both files and the database are included
- What new orders, comments, users, posts, or form submissions could be lost
After restoring the site, do not immediately repeat the change that caused the problem.
If the error log points to server-level PHP configuration, file permissions, resource limits, or something you cannot control from WordPress, contact your hosting provider.
Give support the exact timestamp and fatal error from the log rather than simply saying “WordPress is broken.” That information can make troubleshooting much faster.
Fastest Troubleshooting Order
If you need the shortest practical sequence, use this order:
- Check the WordPress Recovery Mode email.
- Think about the last plugin, theme, PHP, or code change.
- Disable all plugins.
- Test a default theme.
- Check the PHP version.
- Check for memory exhaustion.
- Enable
WP_DEBUG_LOG. - Fix the component identified in the error log.
- Restore a clean backup or contact your host if necessary.
WordPress Critical Error Quick Checklist
- ☐ Check administrator email and spam folders
- ☐ Try WordPress Recovery Mode
- ☐ Back up the website before editing files
- ☐ Disable plugins
- ☐ Test another theme
- ☐ Check PHP compatibility
- ☐ Look for memory exhaustion
- ☐ Enable safe debug logging
- ☐ Review recent custom code
- ☐ Check failed updates
- ☐ Review the hosting PHP error log
- ☐ Turn debugging off after troubleshooting
Frequently Asked Questions
Why does WordPress say “There has been a critical error on this website”?
It usually appears when WordPress encounters a fatal PHP error that prevents the requested page from loading normally. Plugins, themes, custom code, PHP compatibility problems, memory exhaustion, and damaged files are common places to investigate.
Can a WordPress plugin cause a critical error?
Yes. A plugin can trigger a fatal error because of faulty code, an update problem, a conflict with another component, or PHP incompatibility. Temporarily disabling plugins is one of the most useful troubleshooting tests.
How do I fix a WordPress critical error if I cannot access wp-admin?
Use your hosting File Manager, SFTP, or FTP to temporarily disable plugins or the active theme. You can also enable WordPress debug logging through wp-config.php to identify the PHP error.
Will reinstalling WordPress delete my posts?
A proper core-file reinstall is different from deleting and rebuilding the entire website. However, mistakes during manual file replacement can damage a site, so create a complete backup first and do not overwrite your content directory or database unnecessarily.
Should I leave WP_DEBUG turned on?
No. Debugging is useful while identifying a problem, but production websites should normally not expose debugging information to visitors. Turn it off after troubleshooting and protect or remove unnecessary log files.
Final Thoughts
A WordPress critical error looks serious, but randomly reinstalling plugins, themes, or WordPress is rarely the best first move.
Start with Recovery Mode and recent changes, then isolate plugins and themes. If the cause is still unclear, use the PHP and WordPress error logs to identify the exact file or component generating the fatal error.
The key is to diagnose first and change only what the evidence points to.