WP white screen of death

Your site's code stopped before it could show anything. Get it back by hand first. Then add the free plugin: next time, its chat finds the cause.

Is your site down right now?

  1. Think back to what changed last: a plugin, a theme, an edit to wp-config.php, or a move to a new host. Start there.
  2. Edited wp-config.php? Open the file manager in your host's control panel, then your site's main folder. Undo the edit or put back your copy.
  3. Open wp-content/plugins in the file manager. Add -off to the folder of the plugin you last changed, then reload your site.
  4. Still blank? Rename the plugins folder itself to plugins-off. If the site now loads, a plugin is the cause.
  5. Still blank? Ask your host to check your site's error log. Tell them when it went blank and what you changed last.

CMSHands can't be installed into a site that won't load. These steps come first.

A person approves every repair. Install it before anything breaks.

Install it before it breaks

Needs WP 6.3 to 7.1 and PHP 8.0 or newer. What it installs

Needs WP 6.3 to 7.1, PHP 8.0 or newer, and an administrator login. One site per install.

The download is a plugin. Turning it on connects your site to cmshands.com and adds 3 small rescue files. Deleting the plugin removes them and everything it stored. What we send

Plugins are installed from a computer. Get the plugin here instead

  • No account, no password to share

What it means

The WP white screen of death means your site's code hit an error before WP could print anything, so your browser gets an empty page.

  • A typo in wp-config.php, your site's settings file: a missing quote, bracket or semicolon. The server stops before WP even starts.
  • A plugin or theme crash, on a site where WP's own error page is switched off or that runs a version of WP older than 5.2.
  • Your site ran out of memory. The error log says “Allowed memory size … exhausted”.
  • A move to a new host, where files didn't all copy across or the PHP version is different.
  • An update that stopped halfway and left a file empty or cut short.
  • A caching plugin that saved a blank copy of a page and keeps showing it.

What you see

A blank white page. No logo, no menu, no message. Some browsers show it as it is. Chrome shows its own page instead: “This page isn't working” and “HTTP ERROR 500”.

That 500 is a code the server sends back when something on it went wrong. Underneath, it's the same empty page.

Often every page is blank, your dashboard too (the screens you log in to at yoursite.com/wp-admin). If only one page or only the dashboard is blank, only that part runs the broken code.

Your posts and pages are still in your database. WP stops before it can show them.

How to find the cause

Start with what changed last

Most white screens start right after a change. Think back over the last hour or day: an update, a new plugin, a snippet you pasted, an edit to wp-config.php, a move to a new host.

Newer versions of WP show “There has been a critical error on this website.” for most plugin and theme crashes. So if you edited wp-config.php, look there first.

Turn on the error log

WP can write every error to a file. Open wp-config.php in your site's main folder with your host's file manager. Above the line with “That's all, stop editing!”, add these 3 lines:

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

The last one keeps errors off your pages. Reload the blank page. Then open wp-content/debug.log and find the last line that starts with “PHP Fatal error” or “PHP Parse error”.

PHP is the language WP runs on; your host sets its version. The error line ends with a file and a line number. That's where your site stopped.

If the typo is in wp-config.php itself, WP never gets far enough to write this log. Your host's own error log still has it. Look in your control panel, or ask them.

When you're done, set WP_DEBUG back to false. Anyone who guesses the log's address can read it.

How to fix each cause by hand

A typo in wp-config.php

Open wp-config.php and go to the line number from the error. Look for a missing semicolon at the end, a missing quote, or a stray character. Not sure? Undo your last edit.

If you kept a copy of the file from before the edit, put that copy back. Edit it in the file manager, not a word processor. A word processor can swap straight quotes for curly ones, which PHP can't read.

Our page on the 500 error shows a wp-config.php typo on our test site, a WP site we run to try every task before we write about it.

A plugin or your theme

Rename the plugin's folder in wp-content/plugins, say from contact-form to contact-form-off. WP switches off a plugin it can't find.

Can't tell which one? Rename the whole plugins folder to plugins-off. If the site loads, open Plugins › Installed Plugins once, then rename the folder back and switch them on one at a time.

If the error points to wp-content/themes, rename your active theme's folder. Then log in and open Appearance › Themes. WP switches to its default theme, if one is installed.

Not enough memory

Add define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php, above the same line. Your host may set a lower cap, so ask them if it doesn't help.

After moving to a new host

Check that every file came across, the wp-content folder most of all. Ask the new host which PHP version your site runs on, and match the old one if a plugin needs it.

A wrong database name or password in wp-config.php shows a different message: “Error establishing a database connection”.

A blank cached page

If you use a caching plugin, clear its cache. If you can't log in to do that, rename its folder. Many also add a file called advanced-cache.php in wp-content: rename that too.

A half-finished update

An update that stopped halfway can leave a plugin's files empty. Delete that plugin's folder with the file manager, then install a fresh copy from the WP plugin directory. Its settings stay in your database.

How to stop it coming back

Keep a copy of wp-config.php before you edit it. Then a typo is a quick swap back, not a hunt.

Update one plugin at a time, and open your site after each one. If it goes blank, you know which update did it.

Try new code on a test copy of your site first. Many hosts can make one for you. Before a move, ask both hosts which PHP version each one runs.

Next time

On a site that had CMSHands before it went blank, it finds the cause and gets the fix ready. A person at CMSHands approves it.
  • When your site goes blank, it reads your error log and settings to find the cause, on sites that had CMSHands before.
  • We prepare the fix, and a person at CMSHands approves it before it runs. Tried on our test sites; hosts differ.
  • It checks your site once a day on the free plan, and at once if your site reports a crash.
More it does here (1)
  • The chat tells you in plain English what broke and what it did. So does an email, once you add your address.

Why it won't wreck your site

  • A person checks every repair. When your site is down you can't reach the chat, so a person at CMSHands approves the fix before it runs.
  • It checks your pages after the fix. It loads your home page, login, dashboard and a post again before it calls the repair done.

What it won't do here

  • It can't be installed into a site that is already down.A plugin needs a working dashboard to install. Get your site back with the steps above first, then add it before anything else breaks.
  • A person approves every repairNothing in a repair runs until a person at CMSHands has checked it. It doesn't fix things alone overnight.
  • It can't fix your host or change your PHP versionA server that's down, your PHP version, your domain and your email belong to your host. Ask them about those.
  • It doesn't clean up a hacked siteIf someone broke in and changed your files, ask your host or a security company for help.

Questions

How do I fix the WordPress white screen of death?

Undo what changed last. Rename the folder of the plugin you last changed in wp-content/plugins, or put back your copy of wp-config.php. Still blank? Turn on WP_DEBUG_LOG in wp-config.php, reload, and read the last “PHP Fatal error” line in wp-content/debug.log. It names the file where your site stopped.

Why is my WordPress site a blank white screen?

Your site's code hit an error before WP could print anything. The usual causes are a plugin or theme crash, a typo in wp-config.php, or a site out of memory. Newer versions of WP show a critical error message for most plugin crashes. So if the page is fully blank and you edited wp-config.php, check that file first.

Why is my WordPress site a white screen after migration?

Usually something didn't come across the same. Check that every file copied, the wp-content folder most of all. Ask the new host which PHP version your site runs on, and match the old one if a plugin needs it. A wrong database password shows a different message: “Error establishing a database connection”.

Is the white screen of death the same as a 500 error?

Often, yes. When code stops early, the server sends a 500 code with an empty page. Some browsers show the empty page; Chrome shows “This page isn't working” and “HTTP ERROR 500” instead. A page can also come back blank without the 500 code, for example a cached copy that came out empty.

Can CMSHands fix a white screen on my site right now?

Not if your site is already down without it. A plugin can't be installed into a site that won't load, so get it back with the steps above first. With CMSHands on your site, it finds the cause next time, and a person at CMSHands approves the fix. Tried on our test sites; hosts differ.

Written by CMSHands team.

Be ready for the next one

  • A person approves every repair
  • No account, no password to share
Install it before it breaks