“There has been a critical error on this website” means PHP hit a fatal error while loading your site, so WordPress stopped instead of showing a broken page. In most cases the cause is a plugin, a theme, or a change in your server’s PHP version, and the fix is to find which one and update, replace, or roll it back.
The good news: your content is almost always safe. The error stops pages from loading, but it doesn’t delete posts, pages, or orders. Here’s how to track down the cause.
What causes the critical error
- A plugin update or conflict. A plugin updates and uses code your setup doesn’t support, or two plugins clash.
- A theme problem. A theme update, or custom code added to
functions.php, contains an error. - A PHP version change. Your host upgrades PHP and older plugin or theme code stops working.
- Memory limits. A large import, page builder, or plugin runs out of PHP memory.
- Corrupted or incomplete updates. An update was interrupted and left files half-replaced.
Step 1: Check your email for a recovery mode link
When a fatal error happens, WordPress tries to email the site administrator with the subject “Your Site is Experiencing a Technical Issue”. That email names the plugin or theme that caused the error and includes a special recovery mode link. Recovery mode lets you log in to the dashboard with the faulty plugin or theme paused, so you can deactivate, update, or replace it.
If the email never arrives, check spam, and keep in mind many hosts don’t deliver WordPress email reliably. Move on to the next steps.
Step 2: Turn on the error log
The error log tells you exactly which file failed. Using your host’s file manager or FTP, open wp-config.php and add these lines 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. Look for the most recent line starting with “PHP Fatal error”. The file path in that line usually points to the culprit, for example wp-content/plugins/some-plugin/. When you’re done, set WP_DEBUG back to false.
Step 3: Disable the plugin causing the error
If the log points to a plugin, or you can’t read the log, disable plugins without logging in:
- In your file manager, go to
wp-content/plugins. - Rename the suspected plugin’s folder, for example from
some-plugintosome-plugin-off. WordPress deactivates it automatically. - Reload your site. If it works, you’ve found the cause.
- If you don’t know which plugin it is, rename the whole
pluginsfolder toplugins-off, confirm the site loads, rename it back, then reactivate plugins one at a time from the dashboard until the error returns.
Step 4: Rule out the theme
If plugins aren’t the cause, the theme might be. Rename your active theme’s folder in wp-content/themes and WordPress will fall back to a default theme such as Twenty Twenty-Five, as long as one is installed. If the site loads, the problem is in your theme, often in custom code added to functions.php.
Step 5: Check your PHP version and memory
In your hosting control panel, check which PHP version the site runs. If the error started right after your host changed it, either update the plugin or theme that isn’t compatible, or temporarily switch back to the previous PHP version while you fix it. If the log mentions “Allowed memory size exhausted”, raise the limit by adding define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php.
Step 6: Restore a backup if nothing else works
If you can’t find the cause, restoring the most recent backup from before the error is the fastest way back online. Most hosts keep automatic backups. After restoring, apply updates one at a time so you can see which one breaks the site.
Site still down?
We fix critical errors, white screens, and broken updates every week, and we always back up the site before touching anything.
How to prevent it from happening again
- Keep plugins, themes, and WordPress core updated, but update one thing at a time and check the site after each.
- Remove plugins you no longer use, since every plugin is another thing that can break.
- Test big updates and PHP upgrades on a staging copy first.
- Keep daily off-site backups so you can roll back in minutes.
- Use a care plan so someone checks updates and watches for downtime.
Frequently asked questions
Is my content lost when WordPress shows a critical error?
Almost never. The error stops pages from loading, but your posts, pages, and orders stay in the database. Once the faulty plugin or theme is fixed, everything comes back.
Why didn’t I get the recovery mode email?
WordPress sends it to the admin email address, but many hosts don’t deliver WordPress email reliably, and it often lands in spam. If it doesn’t arrive, use the error log and the plugin-renaming method instead.
Can I fix the critical error without FTP?
Yes. Most hosts, including those with cPanel, have a File Manager where you can rename plugin folders and edit wp-config.php in the browser.
Should I just restore a backup?
Restoring is a fast way back online, but the same update will break the site again unless you find the cause. Restore first if the site needs to be up immediately, then investigate on a staging copy.
Stratus Web Care · Toronto
Need a hand with your website?
We build, maintain, repair, and optimize WordPress and Shopify sites for Toronto businesses. Book a free 30-minute consultation, or read more about our WordPress repair service.