How to fix the WordPress white screen of death, step by step

A blank white page where your website should be is scary but usually fixable. The calm, step-by-step order I use to find the cause and bring the site back.
Blank monitor on a desk, illustrating the WordPress white screen of death

The WordPress white screen of death is exactly what it sounds like: you load your site and get a blank white page. No error, no menu, no hint. I’ll walk you through the order I use to diagnose it, from the two-minute checks anyone can do to the fixes that need file access. Follow it top to bottom and you’ll either fix the problem yourself or know exactly what to tell your developer. The same steps work whether the blank page is on the front end, in wp-admin, or both.

What the WordPress white screen of death actually means

A white screen almost always means PHP hit a fatal error and stopped before it could print anything. Your content isn’t gone. Posts, pages, products and orders live in the database, and a white screen is a code problem, not a data problem.

Since version 5.2, WordPress tries to catch fatal errors and show a “critical error” message instead. A pure white page usually means that safety net didn’t catch it. The error happened too early, the server hides errors, or a cache is serving a blank copy of the page.

The usual causes, in the order I see them:

  • A plugin update that does not work with your PHP version or with another plugin.
  • A theme update, or a code snippet pasted into functions.php.
  • PHP running out of memory on a heavy page or admin screen.
  • An update that stopped halfway and left files incomplete.
  • Less often, injected malicious code with a syntax error in it.

First checks before you touch any files

Start with the easy checks. They take a few minutes and sometimes solve the whole thing.

  1. Find out how wide the problem is. Is it every page, one page, or only wp-admin? Try a private browser window and your phone on mobile data. If only one page is blank, the cause is usually a widget, shortcode or block on that page.
  2. Check the admin email inbox. When WordPress catches a fatal error it emails the site admin a message about a technical issue, with a special recovery mode link. That link lets you log in with the broken plugin paused. Check spam too.
  3. Clear every cache. Purge your caching plugin, your host’s cache and Cloudflare if you use it. I’ve seen sites that were already fixed still showing a cached blank page for hours.
  4. Ask what changed. An update, a new plugin, a snippet, a host moving you to a newer PHP version. The last change is the prime suspect.
  5. Take a backup now. Even of the broken site. If a fix goes wrong, you want to be able to return to this exact point.

Turn on debugging to see the real error

Guessing wastes time. WordPress can write the hidden error to a log file, and that one line usually names the culprit.

Open wp-config.php in your host’s file manager or over SFTP. Find the line that says define('WP_DEBUG', false); and replace it with these three lines:

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

Reload the blank page, then open wp-content/debug.log. Look for a line that starts with “PHP Fatal error”. It will include a file path. If the path contains /wp-content/plugins/some-plugin/, that plugin is your problem. If it points to /wp-content/themes/, it’s the theme. If it says “Allowed memory size exhausted”, you have a memory problem.

Keeping display off means visitors never see the error text, only you do. When you’re done, set WP_DEBUG back to false and delete the log file, because it can reveal server paths.

No log file? Check your hosting panel. Most hosts keep a PHP error log that records the same fatal errors.

Fix the most common causes

A plugin

If you cannot reach wp-admin, deactivate plugins from the file system. Rename the wp-content/plugins folder to plugins-off. WordPress will treat every plugin as deactivated. If the site comes back, rename the folder back to plugins, then rename individual plugin folders one at a time until the white screen returns. The last one you renamed is the cause.

Once you know the plugin, roll it back to the previous version, check its support forum for the same error, or replace it. Don’t leave it disabled if it handles something important like forms or payments without telling the people who rely on it.

The theme

Rename your active theme’s folder inside wp-content/themes. WordPress falls back to a default theme if one is installed. If no default theme exists, the site stays blank, so upload a fresh default theme first. If the site loads with the default theme, the problem is in your theme or child theme, often a recent edit to functions.php.

A bad code snippet

One missing semicolon in functions.php is enough to blank the whole site. If someone edited theme files through the dashboard editor, undo the change from the file manager. Going forward, I keep custom code in a small site plugin or a child theme, never in the parent theme, and I never edit code on the live site.

Memory

If the log mentions memory, add define('WP_MEMORY_LIMIT', '256M'); to wp-config.php above the line that says to stop editing. If that doesn’t help, your host may cap memory lower, and you’ll need to ask them or find out which plugin is eating it.

A half-finished update

If an update timed out, the plugin or core files can be incomplete. Download a fresh copy of the same version and upload it over the broken folder. For WordPress core, replace wp-admin and wp-includes only. Leave wp-content and wp-config.php alone.

How to stop the white screen coming back

Most white screens I fix trace back to one habit: updating everything at once on the live site. A few changes prevent most repeats:

  • Test updates on a staging copy before they touch the live site.
  • Update one plugin at a time, so if something breaks you know which one did it.
  • Keep automatic, off-site backups you have actually restored at least once.
  • Use an uptime monitor with a keyword check. A white page can still return a “200 OK” status, so a basic ping monitor may say everything is fine.
  • Remove plugins you no longer use. Fewer plugins means fewer conflicts.

If you would rather not run this routine yourself, a WordPress maintenance plan covers staging, updates, backups and monitoring every month.

Quick checklist

  • Check how much of the site is blank and on which devices.
  • Look for the recovery mode email from WordPress.
  • Purge all caches, including Cloudflare.
  • Back up the broken site before changing anything.
  • Turn on WP_DEBUG_LOG and read debug.log.
  • Disable plugins by renaming the folder, then find the single culprit.
  • Test the theme by switching to a default theme.
  • Turn debugging off and delete the log when you are finished.

Related reading: how to fix the WordPress critical error safely and a WordPress speed checklist that passes Core Web Vitals.

FAQ

Will I lose my content because of a white screen?

No. Your posts, pages and orders are stored in the database. The white screen is caused by code failing to run, so once the code issue is fixed, everything reappears.

Why is only wp-admin white while the site works?

Usually a plugin that only loads in the dashboard, or memory running out on heavy admin screens. Check debug.log while loading wp-admin to see which.

Can I fix it without FTP access?

Often, yes. Try the recovery mode link from the WordPress email first. Most hosts also have a file manager in their control panel that does everything SFTP does.

Can a hacked site cause a white screen?

It can. Injected code sometimes contains errors that crash PHP. If the log points to files you don’t recognize, treat it as a possible hack and check for other signs before you simply delete files.

Still staring at a blank page, or worried about breaking something worse? I fix these often, and I always work from a backup first. Get a free website review and I’ll tell you what’s causing it. You can also see how I handle WordPress error fixes.

Share this article

Shehzad Akram monogram

About the author

Shehzad Akram

Senior WordPress and WooCommerce developer in Lahore, Pakistan, Top Rated on Upwork with 100% Job Success. I write these notes from real client work: what broke, what fixed it, and what I check every time.

Keep reading

More notes from real client work