How to Fix the WordPress White Screen of Death (WSOD)

Overview

The White Screen of Death (WSOD) is one of WordPress’s most disorienting errors. Your site loads a completely blank white page — no error message, no admin bar, nothing. Sometimes it affects the entire site, sometimes just the dashboard, and occasionally just a single page. Either way, the site is broken and visitors can’t see anything.

The most common causes are a PHP fatal error caused by a plugin or theme, an exhausted PHP memory limit, or a corrupted WordPress core file. Because PHP’s error display is usually turned off on production servers (correctly so), the browser gets a blank response instead of a useful message. That’s why the screen is white rather than showing you what actually went wrong.

You don’t need to be a developer to fix this. Work through the steps below in order — most WSoD issues are resolved within the first three steps.

Prerequisites

  • FTP/SFTP access to your hosting account, or access to the File Manager in cPanel/Plesk
  • WordPress admin credentials (if the dashboard is still accessible)
  • A recent backup of your site — take one before making changes if your host hasn’t already
  • SSH access is helpful but not required
  • Knowing your current PHP version (check in cPanel under MultiPHP Manager or ask your host)

Step-by-Step Instructions

Step 1: Enable WordPress Debug Mode

Before anything else, turn on debug logging so WordPress actually records the error. Without this, you’re guessing.

Open wp-config.php in the root of your WordPress installation. Find the line:

define( 'WP_DEBUG', false );

Replace it with the following three lines:

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

Setting WP_DEBUG_DISPLAY to false keeps errors out of the browser (important on a live site) while writing them to /wp-content/debug.log. Reload the broken page, then check that log file. The error message there will usually point directly at a plugin, theme file, or line number.

📝 Note: Once you’ve fixed the issue, revert WP_DEBUG back to false and delete debug.log. Don’t leave debug mode enabled on a production site.

Step 2: Deactivate All Plugins

Plugin conflicts cause the majority of WSOD cases. If you can’t access the WordPress admin at all, you’ll need to do this via FTP or File Manager.

Connect to your site and navigate to /wp-content/plugins/. Rename the entire folder:

plugins → plugins_disabled

WordPress will fail to load any plugins and automatically deactivate them all. Reload your site. If the white screen is gone, a plugin was the culprit.

Rename the folder back to plugins, then re-enable plugins one at a time from the WordPress dashboard — go to Plugins → Installed Plugins and activate them individually, reloading your site after each one. When the WSOD returns, you’ve found the offending plugin.

⚠ Warning: Don’t skip re-testing after each individual plugin activation. Some conflicts only trigger when two specific plugins are active together, not from a single plugin alone.

Step 3: Switch to a Default Theme

If disabling plugins didn’t fix it, the active theme may have a PHP error. Via FTP or File Manager, go to /wp-content/themes/ and rename your active theme folder — for example:

my-custom-theme → my-custom-theme_disabled

WordPress will fall back to the most recently installed default theme (Twenty Twenty-Four, Twenty Twenty-Three, etc.). If the WSOD clears, your theme is the problem. Contact the theme developer with the error from debug.log or hire a developer to fix it.

Step 4: Increase the PHP Memory Limit

WordPress requires at least 64MB of PHP memory, and the official recommendation is 256MB for sites with plugins and page builders. If memory runs out mid-execution, PHP dies silently and you get a white screen.

Add this line to wp-config.php, just above the /* That's all, stop editing! */ line:

define( 'WP_MEMORY_LIMIT', '256M' );

If that doesn’t take effect, you can also set it in your .htaccess file (Apache) or in a php.ini / .user.ini file in the site root:

; In php.ini or .user.ini
memory_limit = 256M

📝 Note: On Host & Tech VPS plans you have full control over PHP settings via WHM’s MultiPHP INI Editor, so you can raise the memory limit there globally or per-domain without editing files manually. On shared hosting, the ceiling is set by your plan — if 256M isn’t available, contact support.

Step 5: Check for a Corrupted wp-admin

If only the WordPress dashboard shows a white screen but the frontend of your site loads fine, the issue is often a corrupted file in wp-admin or wp-includes. The cleanest fix is to replace both directories with fresh copies from the matching WordPress version.

Download the exact WordPress version you’re running from wordpress.org/download/releases. Extract the archive and upload the wp-admin and wp-includes folders to your server, overwriting the existing ones. Do not delete wp-content — that’s where your uploads, plugins, and themes live.

⚠ Warning: Only overwrite wp-admin and wp-includes. Never replace wp-content with a clean copy — you’ll wipe your content.

Step 6: Check PHP Version Compatibility

Running a plugin or theme built for PHP 7.4 on PHP 8.2 (or vice versa) can produce fatal errors that trigger a WSOD. In cPanel, go to MultiPHP Manager and check which PHP version is assigned to your domain. Cross-reference this with the minimum PHP requirements listed by your theme and plugin authors.

In my experience, this catches quite a few WSoD cases that happen immediately after a host upgrades server-wide PHP versions. If you recently noticed the site break after a PHP upgrade, this is almost certainly the cause.

Common Issues & Troubleshooting

White screen only appears when logged in to WordPress admin

This usually means a plugin that only runs in the admin context is throwing a fatal error — common culprits are admin-only dashboard widgets, analytics plugins, or WooCommerce extensions. Enable debug logging as described in Step 1, reproduce the blank screen, and check debug.log. You’ll see the exact file and line number. Disable that plugin to restore access.

WSOD appears only on specific pages or posts

This points to a shortcode or block from a specific plugin that’s broken on that content. Edit the affected post via the database (using phpMyAdmin in cPanel, navigate to wp_posts, find the post, and view the post_content column) or use the WordPress REST API endpoint to load the raw post data. Remove the problematic shortcode or block, then deactivate and update the plugin responsible.

White screen after updating WordPress core

A core update can occasionally break compatibility with older plugins or themes. Deactivate all plugins first (Step 2). If the site recovers, re-enable them one by one. If the issue persists after plugin deactivation, re-upload clean wp-admin and wp-includes directories from the new WordPress version as described in Step 5.

debug.log is empty even with WP_DEBUG enabled

If the error is happening before WordPress fully loads (for example, a syntax error in wp-config.php itself or a missing database connection), WordPress can’t write to debug.log. Check your server’s PHP error log directly. On cPanel servers, this is usually at /home/username/logs/domain.com.error.log or accessible via Error Log under the domain in cPanel. On a Host & Tech VPS, check /var/log/apache2/error.log or /var/log/php-fpm/www-error.log depending on your stack.

WSOD returns after fixing, triggered by a specific action

If the white screen comes back every time you do something specific (publish a post, run a WooCommerce checkout, etc.), you’re likely hitting a memory spike from a specific operation rather than a baseline memory issue. Raise the memory limit further to 512M temporarily to confirm, then profile the operation with a plugin like Query Monitor to find what’s consuming the memory. This is more common on complex WooCommerce or membership sites.

Preventing WSOD in the Future

Keep plugins, themes, and WordPress core up to date — the majority of fatal PHP errors in the wild come from code running on a PHP version it was never tested against. Stage updates on a development copy before pushing to production.

If you’d rather not manage this yourself, our Managed WordPress Hosting includes automatic core and plugin updates, daily backups, and proactive monitoring — so issues like this get caught before they bring your site down.

Frequently Asked Questions

What causes the WordPress White Screen of Death?

The most common causes are a PHP fatal error from a plugin or theme, running out of PHP memory, or a corrupted WordPress core file. Because PHP error display is disabled on most production servers, the browser receives an empty response instead of an error message — resulting in a blank white page. Enabling WP_DEBUG and checking debug.log will usually tell you exactly what’s wrong.

How do I fix the White Screen of Death without FTP access?

If you have cPanel or Plesk, use the built-in File Manager — it gives you the same ability to rename plugin folders and edit wp-config.php as FTP does. If you have SSH access, you can rename the plugins directory with a single command: mv wp-content/plugins wp-content/plugins_disabled. If you have none of these, contact your host to assist.

Why is my WordPress admin showing a white screen but the frontend is fine?

This usually means a plugin that only loads in the WordPress dashboard is throwing a fatal error. It can also be caused by a corrupted file in the wp-admin directory. Enable debug logging, reproduce the blank screen in the admin, and check wp-content/debug.log for the specific error. Deactivating plugins via FTP (by renaming the plugins folder) will confirm if a plugin is responsible.

Will fixing the White Screen of Death delete my content?

No — your posts, pages, images, and settings live in the database and the wp-content folder. Renaming the plugins folder, switching themes, or replacing wp-admin and wp-includes with clean copies won’t touch your content. That said, always take a backup before making changes, just in case something goes wrong during the process.

How much PHP memory does WordPress need to avoid a white screen?

WordPress itself needs a minimum of 64MB, but most sites with a standard set of plugins run comfortably at 256MB. Heavy setups — WooCommerce stores, membership sites, or sites using page builders like Elementor — often need 512MB or more. You can set the limit in wp-config.php using define( 'WP_MEMORY_LIMIT', '256M' );, or adjust it in your PHP configuration via cPanel’s MultiPHP INI Editor.

SHARE THIS ARTICLE

Need help with your hosting?

Host & Tech provides 24/7 support for all VPS, dedicated, and shared hosting customers.

Scroll to Top