There has been a critical error on this website in WordPress – causes and solutions

The “There has been a critical error on this website” message sounds severe, but it’s usually fixable with a clear step-by-step plan.

You panic: your WordPress site suddenly shows a white page with the message “There has been a critical error on this website” (in Dutch: Er is een kritieke fout op deze website opgetreden). This happens surprisingly often after an update or change. What does this message mean—and, more importantly—how do you get your site back online? Don’t panic. Below I explain what’s going on and provide a step‑by‑step plan to fix it.

What does the error mean?

This message means WordPress encountered a problem: a PHP script (a piece of code) crashed due to a fatal error and could not be completed. WordPress effectively stopped itself to prevent damage. Good news: this is a serious error for that specific script, but not for your entire website—it’s not a sign of a hack or an irreversible disaster. Your files and content are almost certainly intact; something simply went wrong in the code.

Why do you see this error so often after updates or changes? Simple: new updates or changes can cause unintended issues. Maybe a plugin is incompatible with the latest WordPress version, there’s a bug in your theme code, or you just updated a plugin that takes everything down. Such a conflict or bug often appears right after an update and can crash the whole site. WordPress 5.2 and higher show this critical error message instead of a fully white screen and even try to help you identify the cause. Often you’re instructed to check your email for more info.

In short: the message “There has been a critical error on this website” is WordPress’ way of saying something went wrong (often after an update) that prevents the site from loading. It sounds scary, but it’s usually fixable. Below I’ll guide you step by step through a number of solutions. (No technical background? No worries—I keep it simple and explain terms where needed.)

Step-by-step: fix the WordPress critical error

Follow the steps below to solve the critical error. You may not need to complete all steps—once you find and fix the cause, your site should work again. Start at step 1 and work down until the site is back.

Step 1: Check the WordPress email (recovery mode)

WordPress has a built‑in safety feature that sends an email to your site’s admin address when this critical error occurs. That email usually indicates which plugin or theme caused the error, plus a special link to open your site in recovery mode. This is the fastest way to find and fix the problem.

What to do: check the inbox for the email address tied to your WordPress admin (also check spam). Do you see a message with a subject like “Your Site is Experiencing a Technical Issue” or “Er heeft zich een kritische fout voorgedaan op je website”? If yes, open it. It usually tells you which plugin or theme is at fault and includes a recovery‑mode login link. Click that link and log in. Your site loads in safe mode—WordPress has temporarily disabled the faulty plugin or theme.

Follow the instructions in the notice (you’ll often see which component was disabled). Go to Plugins or Themes in your dashboard and remove or deactivate the component that caused the error. Usually the problem is solved within minutes. Exiting recovery mode is simply logging out; WordPress won’t re‑activate the problematic plugin/theme until you choose to fix it (for example by updating or replacing it).

What if you didn’t receive an email? That can happen if your hosting mail isn’t set up properly. No worries—continue to the next step and locate the error yourself.

Step 2: Enable debug mode and check error logs

If you have no clue from email, I play detective. WordPress has a built‑in debug mode you can enable to see the exact error. It shows the technical error on the site and/or writes details to a log file (debug.log). This helps you identify the cause even without programming knowledge.

Enable debug mode: use your hosting file manager (e.g., cPanel File Manager) or an FTP client (like FileZilla) to edit wp-config.php in the WordPress root. In wp-config.php find the line define('WP_DEBUG', false); and change it to define('WP_DEBUG', true);. Also add the following lines (or set them to true if they already exist):

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

This ensures errors aren’t shown to visitors on screen, but are logged to debug.log in the /wp-content/ folder. Save the change and refresh the site.

Now open wp-content/debug.log via FTP/cPanel (or download it). It contains the exact error message, including the file name and line number where it failed. Often it will show that a specific plugin file or theme file caused a “fatal error”. You’ve now found the needle in the haystack—note the plugin or theme name and continue to the next step. (Don’t forget to set WP_DEBUG back to false when you’re done.)

Alternative: does your hosting panel have its own error log? You may find the same information there. In cPanel this is often Errors or PHP Error Log. Check entries around the crash time for “Fatal error” or “Uncaught Exception” and the plugin or theme file name. That gives the same hint. Once you identify the faulty component via debug mode or logs, you can fix it directly.

Step 3: Deactivate plugins to find conflicts

By far the most common cause of the critical error is a plugin conflict or bug. A simple plugin update can already create chaos if something goes wrong. To test whether a plugin is the issue, I disable them all temporarily.

Because you can’t access wp-admin (the site is down), do this via your hosting file manager or FTP. Go to wp-content/plugins and rename the plugins folder to something like plugins_off (any name is fine). This disables all plugins in one go (WordPress no longer “sees” them under the changed folder name).

Now try loading your site again. If it works, a plugin was the culprit. It’s time to find which one. Rename plugins_off back to plugins to restore the folder. Then either rename plugin folders one by one inside wp-content/plugins or re‑activate plugins in the dashboard (if you can access wp-admin). Tip: enable one plugin at a time and refresh the site. As soon as the site crashes again, you’ve found the culprit. The plugin you enabled last is causing the error.

Once you find the faulty plugin, keep it disabled. Check for a known bug or update, or find an alternative plugin if it conflicts. In many cases you can fix the issue by removing or replacing the plugin, or by contacting the developer (especially if it’s a paid plugin).

Step 4: Switch to a default theme

If step 3 didn’t solve it (or the debug log indicates the theme), your active theme may be the culprit. Themes can become incompatible after updates or contain a code error, especially if you made custom changes. The approach is similar to plugins: temporarily disable the active theme so WordPress falls back to a default theme.

Via FTP or the file manager, go to wp-content/themes. Find your active theme folder and rename it, for example add _old: mytheme_old. This prevents WordPress from loading it. If a default WordPress theme is present (e.g., Twenty Twenty‑One or Twenty Twenty‑Three), WordPress will automatically switch to it. If no other theme exists, download a default theme from wordpress.org and upload it to the themes folder.

Does your site load without the error now? Then the theme was the issue. Try reinstalling or updating the theme, or temporarily switch to a different one. Contact the theme developer if it’s a premium theme, or consider a different theme if the error persists. In any case you can now access the dashboard to activate a new theme or remove/repair the faulty one.

Step 5: Check PHP version and memory limit

If plugins and themes are ruled out, look at server settings. Two common technical causes of critical errors are a PHP version conflict or an exhausted memory limit.

  • PHP version: WordPress runs on PHP. An outdated PHP version (below 7.4) or a very new version that a plugin isn’t ready for can break your site. Check the PHP version in your hosting control panel (often via Select PHP Version or PHP settings). Ideally you use PHP 8.x, but check compatibility: if you just upgraded to PHP 8 and the site crashed, try switching back to the previous version (e.g., 7.4). If the site works again, it was a PHP compatibility issue. On the other hand, if your host is still on an old PHP version, upgrade to 7.4 or higher because WordPress requires at least PHP 7.4. Many hosts let you do this in cPanel or another panel. After changing the PHP version, test the site again.
  • Memory limit: every site has a maximum PHP memory limit. If a plugin or script requires too much memory and exceeds that limit, you get an “Allowed memory size exhausted” error—which can also trigger the critical error message. In debug.log you’ll see this explicitly if it’s the case. The solution is to raise the limit. Add this line to wp-config.php (just above “That's all, stop editing”):
define('WP_MEMORY_LIMIT', '256M');

This asks WordPress to use 256 MB of PHP memory (adjust the number if needed). Save and test the site. No effect or can’t edit the file? Ask your host to increase the PHP memory_limit for you. Note that consistently high usage often comes from an inefficient plugin—disable unnecessary plugins if you keep hitting memory errors.

Step 6: Restore the site or WordPress files (last resort)

In most cases you’ve already found the issue by now. If the error is still not resolved, consider a more drastic recovery option:

  • Restore from backup: if you have a recent backup, restoring it (files and database) is the fastest way back to a working site. This rolls everything back to before the error occurred. Use your hosting panel’s backup tool (e.g., cPanel or Plesk) or a plugin such as UpdraftPlus if you had it installed. (Warning: you’ll lose changes made after the backup time.)
  • Re-upload WordPress core files: a WordPress system file may be corrupt or an update incomplete. You can overwrite the WordPress core files with clean copies. Download the latest WordPress version from wordpress.org and upload all files except the wp-content folder to your server via FTP so you replace the core files. This repairs any corrupted core files. (Always make a backup first!). Then reload the site.

These measures are more technical. If you’re not comfortable or can’t get it done, go to the closing tip below.

Still stuck? Get help

Hopefully your site is reachable again after the steps above. If not, or if you’d rather not take risks tinkering yourself, remember there is always help available. Contact your hosting provider—a good host helps identify root causes and can guide you through difficult steps. You can also hire a WordPress expert to solve the issue for you.

Want this to stop being your problem?

If outages or errors keep repeating, the fix is often consistency: updates, backups and monitoring that don’t get skipped.

See managed WordPress hosting