What does “There has been a critical error on this website” mean? It means PHP hit a fatal error and WordPress stopped loading the page. The cause is almost always a plugin or theme, often right after an update, or a PHP version change on the server. The fix is to find which one and disable or roll it back.
This message replaced the old “white screen of death” a few years ago. It looks alarming, but your content is usually safe. The database is fine. Something in the code just can’t run.
Here is how I track it down.
Step 1: Check your email for the recovery mode link
When a fatal error happens, WordPress tries to email the site’s admin address 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. Click it, log in, and WordPress lets you into the dashboard with the faulty plugin paused, so you can deactivate it or roll it back.
If the email never arrived, check spam. If the admin email is an old address nobody reads, that’s a sign to update it in Settings > General once the site is working.
Step 2: Think about what just changed
Most critical errors follow a change. Ask:
- Did a plugin, theme or WordPress itself update in the last day?
- Did someone install a new plugin?
- Did someone edit theme files or add code snippets?
- Did the host upgrade PHP?
If you know what changed, you probably know the cause.
Step 3: Deactivate plugins without the dashboard
If recovery mode isn’t available, you can deactivate plugins through your hosting file manager or SFTP:
- Go to wp-content/plugins.
- Rename the folder of the suspected plugin, for example from contact-form to contact-form-off. WordPress deactivates it automatically.
- Reload the site.
- If you don’t know which plugin it is, rename the whole plugins folder to plugins-off, check the site loads, then rename it back and reactivate plugins one at a time in the dashboard.
To rule out the theme, rename the active theme’s folder in wp-content/themes. WordPress falls back to a default theme if one is installed.
Step 4: Turn on debug logging
If you still can’t find the cause, let WordPress tell you. In wp-config.php, find the line with WP_DEBUG and set it up like this:
- WP_DEBUG set to true
- WP_DEBUG_LOG set to true
- WP_DEBUG_DISPLAY set to false
Reload the broken page, then open wp-content/debug.log. The last “PHP Fatal error” line names the file and line number that failed. The folder name in that path, such as /plugins/some-plugin/, tells you which plugin it is.
When you’re done, turn debugging off again. A debug log left running can grow large and may reveal details about your site.
Step 5: Check the PHP version
If the error started without any change on your side, the host may have upgraded PHP. Older plugins and themes often break on newer PHP versions.
In your hosting panel, check which PHP version the site uses. Switching back temporarily can bring the site up, but treat that as a stopgap. The real fix is updating or replacing the code that can’t handle the newer version, since old PHP versions stop receiving security fixes.
Other common causes
- Memory limit reached. The log says “Allowed memory size exhausted”. Your host can raise the limit, but a plugin using huge amounts of memory is a problem in itself.
- A half-finished update. If an update was interrupted, delete the plugin and reinstall it fresh.
- A bad code snippet added to functions.php. Remove the last thing added.
- Corrupted core files. Reupload fresh copies of the wp-admin and wp-includes folders from WordPress.org. Never overwrite wp-content.
Prevent it next time
- Take a backup before every update. See how to back up WordPress properly.
- Test big updates on a staging site first. More in what a staging site is.
- Update one plugin at a time, as described in how to update plugins safely.
- Make sure the admin email is one somebody reads.
- Keep custom code in a child theme or a small custom plugin, not in random snippets.
If your site is down right now and you’d rather not dig through files, this is exactly the kind of emergency I handle as part of WordPress support and maintenance.
Frequently asked questions
Have I lost my website content?
Almost certainly not. A critical error is a code problem, and your pages and posts live in the database, which is normally untouched. Once the faulty code is disabled, everything comes back.
Why is only the admin area showing the error?
Some plugins only run in the dashboard, so the public site works while the admin breaks. The same steps apply: find the plugin and disable it.
Can I just restore a backup?
Yes, if you have a recent one and nothing important changed since. But find the cause first, or the next update may break it again.
Is the critical error caused by a hack?
It can be, but it’s rare. Malware sometimes breaks code by accident. If you see unknown files or users while investigating, read the signs your site has been hacked.
About the author
Vincent Earl Panoncial is a WordPress developer and the founder of VEP Studio. He has built and maintained 100+ WordPress websites, most of them at digital marketing agencies, and now works directly with businesses on development, maintenance and webmaster services.
Need a hand with your WordPress site?
Tell me what your website needs and you’ll get a clear plan and an honest answer on cost before any work starts. Get a free consultation →
Featured photo by David Pupăză on Unsplash.