There is nothing quite as panic-inducing as logging into your store or updating a plugin, only to be met with a blank white screen and the dreaded message: “There has been a critical error on this website.”
This message is WordPress’s built-in safety mechanism. Instead of displaying a raw block of broken PHP code (which could expose sensitive server paths or database information to hackers), WordPress simply stops loading and shows this generic warning.While the error is generic, the cause is usually specific: a fatal PHP conflict, an exhausted memory limit, or an incompatible WooCommerce extension. Here is how to diagnose and resolve the issue safely at the server level.Step 1: Uncover the Real Error Using WP_DEBUG
You cannot fix what you cannot see. To find out exactly which plugin or theme is breaking your site, you need to enable WordPress debug mode. You will need FTP access or your hosting provider’s File Manager.- Connect to your server and open the root directory of your website (usually
public_html). - Locate the
wp-config.phpfile, right-click, and select Edit. - Scroll down until you find the line that says:
define( 'WP_DEBUG', false ); - Replace that single line with the following snippet:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );debug.log inside your /wp-content/ folder. Open this file and look at the most recent lines. You will likely see a “Fatal Error” pointing directly to a specific plugin folder.Step 2: Disable the Rogue Plugin via FTP
If the debug log points to a specific plugin (e.g.,/wp-content/plugins/broken-woo-extension/), the fastest way to bring your site back online is to forcibly deactivate it.- Navigate to your
/wp-content/plugins/directory via FTP. - Find the folder of the plugin causing the fatal error.
- Rename the folder by appending
-disabledto the end (e.g., renamebroken-woo-extensiontobroken-woo-extension-disabled).
Step 3: Increase the PHP Memory Limit
If your debug log shows an error like “Allowed memory size of X bytes exhausted,” the issue isn’t broken code; your server simply ran out of RAM trying to execute a heavy background task (like a WooCommerce database update or a massive XML feed import).To fix this, open yourwp-config.php file again and add this line just above the “That’s all, stop editing!” comment:define( 'WP_MEMORY_LIMIT', '512M' );Still stuck on the critical error screen?
Editing core server files can be risky. One missing semicolon in your wp-config.php file can bring your entire database offline. If your checkout is broken and you are actively losing sales, let an expert handle it.
