Back to Community

How to Fix the 'There Has Been a Critical Error on This Website' Message

16 threads Oct 1, 2025 CoreFixing wordpress

Content

Encountering the "There has been a critical error on this website" message can be alarming, especially when it appears after a routine update or when trying to access your WordPress dashboard. This guide will walk you through the common causes of this error and provide step-by-step solutions to get your site back online.

What Causes This Critical Error?

This generic error message is WordPress's way of hiding sensitive technical details from website visitors. It's typically triggered by a PHP error that is severe enough to halt the execution of a script. Based on community reports, the most frequent triggers include:

  • Plugin or Theme Conflicts: A plugin or theme may not be compatible with your current version of WordPress or PHP.
  • PHP Version Incompatibility: Code that worked on older PHP versions (like 7.4) can sometimes fail on newer ones (like 8.2 or 8.3), leading to fatal errors.
  • Failed Core Updates: An incomplete or corrupted update of WordPress itself can cause the admin dashboard to become inaccessible.
  • Server Configuration Issues: Changes in server settings or resource limits can also be a culprit.

Step-by-Step Troubleshooting Guide

Step 1: Enable Debug Mode to Find the Root Cause

The first step is to uncover the specific error behind the generic message. You can do this by enabling WordPress debugging.

  1. Access your website's files via an FTP client or your web host's file manager.
  2. Navigate to the root directory and locate the wp-config.php file.
  3. Edit this file and look for the line that says define('WP_DEBUG', false);.
  4. Replace that line with the following code:
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);
  5. Save the file and refresh the page where you see the error. This will create a debug.log file in your /wp-content/ directory containing the detailed error message.

Step 2: Isolate the Problem (The Most Common Fix)

Often, the error is caused by a plugin or theme. If you cannot access the dashboard to disable them, you can do it manually.

  1. Via your FTP client or file manager, navigate to the /wp-content/ folder.
  2. Rename the 'plugins' folder to something like 'plugins.deactivate'. This will deactivate all plugins at once.
  3. Now check your website. If the error is gone, you know a plugin was the cause. You can then rename the folder back to 'plugins' and reactivate them one by one in the dashboard to identify the problematic one.
  4. If the error persists, the issue might be your theme. Navigate to /wp-content/themes/ and temporarily rename your active theme's folder. WordPress will automatically fall back to a default theme (like Twenty Twenty-Four). If this fixes the error, you'll need to contact your theme's support or find a compatible version.

Step 3: Check for PHP Version Compatibility

As seen in the sample threads, code that runs on PHP 7.4 can fail on PHP 8.2+. If your debug log points to a specific file or function, it may need to be updated for PHP 8+ compatibility.

  • Contact your web host to check your current PHP version. You may be able to temporarily switch back to an older, supported PHP version (like 7.4) through your hosting control panel to confirm this is the issue.
  • If a specific plugin or theme is causing the error, check with its developer for an update that supports newer PHP versions.

Step 4: Manually Reinstall WordPress Core Files

If you suspect the WordPress update itself failed, you can perform a manual reinstall without affecting your content, themes, or plugins.

  1. Download a fresh copy of WordPress from wordpress.org.
  2. Unzip the file on your computer.
  3. Using FTP, delete the wp-admin and wp-includes folders from your server.
  4. Upload the new wp-admin and wp-includes folders from the downloaded zip file to your server.
  5. Upload all the loose files from the zip (like wp-login.php, index.php, etc.) to your root directory, overwriting the existing ones.

After following these steps, remember to disable debug mode by setting define('WP_DEBUG', false); in your wp-config.php file to prevent the public from seeing error messages.

Related Support Threads Support