SYSTEMS OPERATIONAL
WordPress

WordPress White Screen of Death: Causes and the Fix

Getwebup 5 min read

You open your site and there's nothing there. No error, no message, just a blank white page — front end, and sometimes wp-admin too. This is the WordPress White Screen of Death (WSOD), and unlike a database connection error, it gives you almost no clue what broke. Here's how we track it down and fix it without guessing.

Why WordPress shows a blank page instead of an error

The white screen happens when PHP hits a fatal error — usually PHP Fatal error: Allowed memory size exhausted or Fatal error: Uncaught Error in a plugin or theme file — and your site's PHP configuration has error display turned off. That's actually the correct production setting; showing raw PHP errors to visitors is a security risk. The downside is you can't see what went wrong just by looking at the page.

So the fix isn't "turn on debug mode and hope." It's: find the real error in a log first, then act on it.

Step 1: Find the actual PHP error

Don't touch wp-config.php yet. Check the PHP error log first — it's usually already recording the fatal error.

  • cPanel: go to Metrics → Errors, or File Manager → look for error_log in public_html. The most recent entry at the bottom is your culprit.
  • SSH/VPS: tail -n 50 /home/USER/public_html/error_log or check your PHP-FPM log, commonly at /var/log/php8.1-fpm.log or similar depending on your PHP version.

If nothing's there, turn on WordPress's own logging. Add these lines to wp-config.php, just above the line that says /* That's all, stop editing! */:

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

Reload the site once, then check wp-content/debug.log. That file will name the exact plugin, theme, or file line that failed. Turn these three lines back off once you're done — don't leave debug logging on a live site.

Step 2: Match the error to a fix

"Allowed memory size of X bytes exhausted"

PHP ran out of memory, usually from a heavy plugin, a large import, or an image-processing task. Raise the limit in wp-config.php:

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

If that doesn't clear it, the real limit is at the server level. On cPanel, check MultiPHP INI Editor and bump memory_limit there too — the lower of the two values always wins.

"Uncaught Error: Call to undefined function/class" in a plugin file

A plugin (or its dependency) broke, often after an auto-update or a PHP version bump. This is the most common WSOD cause we see. Rename the plugins folder over SFTP or File Manager to force-deactivate everything:

mv wp-content/plugins wp-content/plugins-disabled

If the site loads, recreate an empty plugins folder, then move plugins back in one at a time, reloading the site after each, until the white screen returns — that last plugin is the cause. Update it, replace it, or report it to the developer.

Error points to your theme, not a plugin

Rename the active theme's folder in wp-content/themes instead. WordPress will fall back to a default theme (or show a "broken theme" notice you can act on) rather than crash. If a child theme is involved, check that its parent theme is still installed and its style.css header references the correct template.

No error in any log at all

This usually means a corrupted .htaccess file or a mismatched PHP version rather than a code fault. Rename .htaccess to .htaccess-old and reload — if the site comes back, regenerate it from Settings → Permalinks → Save Changes in wp-admin. Also check cPanel → MultiPHP Manager to confirm the site is running a PHP version your theme and plugins actually support (WordPress 6.x generally needs PHP 7.4+, and most current plugins expect 8.0+).

When wp-admin is white too

If you can't even reach the dashboard to deactivate plugins, do it directly through the database instead of the file system:

  1. Open phpMyAdmin from cPanel and select your WordPress database.
  2. Open the wp_options table and find the row where option_name is active_plugins.
  3. Edit that row's value to a:0:{} — this deactivates every plugin at once without touching files.

Log back into wp-admin, reactivate plugins one at a time from the Plugins screen, and watch for the one that brings the white screen back.

Preventing it next time

  • Keep a recent backup before every plugin, theme, or WordPress core update — cPanel's Backup Wizard or your host's automated backups both work.
  • Update plugins on a staging copy first if your site is business-critical.
  • Set a sane WP_MEMORY_LIMIT (256M is a safe default) so memory exhaustion errors show up in logs instead of stalling silently.
  • Avoid stacking multiple caching, security, and SEO plugins that hook into the same actions — that's a frequent source of fatal conflicts after updates.

Quick reference

SymptomLikely causeFix
Blank page, log shows "memory exhausted"PHP memory limit too lowRaise WP_MEMORY_LIMIT and server memory_limit
Blank page, log names a plugin filePlugin conflict or bad updateRename plugins folder, re-enable one by one
Blank page, log names a theme fileBroken theme or child-theme mismatchRename theme folder to force default theme
Blank page, nothing in any logCorrupted .htaccess or wrong PHP versionRegenerate .htaccess, check MultiPHP Manager
wp-admin also blankSame causes, but files unreachableDeactivate plugins via phpMyAdmin

Most white screens trace back to one plugin or one PHP setting, and the error log almost always names it once you know where to look. If you're on Getwebup hosting and get stuck isolating it, our support team can pull the logs and walk through the plugin isolation with you directly.

Frequently asked questions

Why doesn't WordPress just show me the error instead of a blank page?

Displaying raw PHP errors on a live site can leak file paths and code details to visitors, so production PHP configs suppress them by default. The error is still recorded in your error log or debug.log — you just have to go look for it instead of seeing it on the page.

Is a white screen the same as a 500 Internal Server Error?

They're closely related and often caused by the same PHP fatal error. A 500 error means the server explicitly returned that HTTP status; a white screen can happen even when the server returns a 200 OK with an empty body, depending on where in the PHP execution the failure occurred.

Will renaming my plugins folder delete my plugin settings?

No. Renaming the folder just deactivates the plugins — their settings stay in the database. Once you rename it back (or move plugins into a fresh plugins folder with the same names) and reactivate them from wp-admin, their configuration is intact.

I raised WP_MEMORY_LIMIT but the site is still blank. What now?

WP_MEMORY_LIMIT only raises WordPress's internal ceiling; it can't exceed the PHP-level memory_limit set on the server. Check and raise that value too in cPanel's MultiPHP INI Editor, or ask your host to confirm what the server-level limit actually is.

Can a bad WordPress core update cause this too?

Yes, though it's rarer than plugin conflicts. If the white screen started right after a core update, temporarily reinstall the previous WordPress version's files via WP-CLI (wp core download --version=X.X.X --force) or restore from a pre-update backup while you investigate.

#wordpress #white-screen-of-death #php-error #troubleshooting #cpanel #plugins

Keep reading

Chat with Support