facebook_pixel

Get pro tips and hot takes or your money back đź’¸

How to Fix The WordPress White Screen of Death

The WordPress white screen of death is something that each of us have likely seen if we’ve worked with for very long. This article is going to cover some of the most common steps you can take to troubleshoot that pesky white screen. This is the first article in a new WordPress Tips & Tricks series that we’ll be sending out once or twice per month. If you aren’t already on our mailing list, be sure to sign up at the top of this article so you can stay in the know about how to fix random issues that you may encounter some time down the road.

For those of you who have never encountered the WordPress white screen of death, congratulations 🎉. For the rest of you, you know what a frustrating issue it can be. A white screen can lock you out of your WordPress dashboard, and make the public-facing side of your website look like a blank canvas. At first glance, it seems like all is lost, but don’t lose hope!

I’m going to show you the different things that may cause a white screen of death, how to identify the root cause, and how you can fix things once you know what’s going on.

What Exactly is the WordPress White Screen of Death?

The white screen of death likely got it’s name from another screen that many of us remember.

wordpress white screen of death
Windows Blue Screen of Death

In a lot of ways the Microsoft blue screen and the WordPress white screen are the same. They both indicate that something has gone awry, and they can both probably both be fixed eventually. The main difference is that the WordPress white screen doesn’t show any error messages. Right off the bat that makes things more challenging to troubleshoot and debug, because you don’t have any additional information other than “the screen is white, so things must be broken”.

Think of the WSOD as a caution flag in a Nascar race. As the driver, you don’t know exactly what the problem is, but you know that you’re going to have to slow down and proceed cautiously for the next few laps in order to come out safe on the other side. Everyone has to slow down until the pieces are picked up, or the wrecked cars are returned to safety, but eventually the green flag will come out again and everyone can get back to racing.

nascar

What Causes a White Screen of Death?

There are several factors that can cause a white screen of death, but it’s usually one of three things.

  • An error being generated by a WordPress plugin
  • An error being generated by your WordPress theme
  • Some type of database error

The first two are the most common culprits, and definitely the easiest to diagnose as well.

Before we get started with the actual troubleshooting process, it’s important to stop (remember the caution flag), take a deep breath, and start taking a few notes. Even if you end up hiring a WordPress support team (I know a pretty good one if you’re in the market) to fix your issue, these notes will come in handy.

Four Questions to Ask Before You Even Touch Your Website

  1. Have you upgraded any themes or plugins recently? Even a minor version upgrade can bring a site to it’s knees if the code hasn’t been properly vetted or tested for compatibility with WordPress or other plugins. That’s why we recommend testing any plugin upgrades in a staging environment if at all possible.
  2. Have you installed any new plugins on your site recently? When you install a new plugin, you’re adding a small (or large) block of code to your website that, if not properly tested, can generate a white screen on your site. For the most part, the plugin review team does a pretty good job to make sure plugins comply with certain coding standards, but it’s pretty much impossible to test all plugins together due to the sheer volume of plugins that exist. And that doesn’t even account for plugins that are purchased from third party sources like WooThemes.com or CodeCanyon.
  3. Have you installed a new theme recently? More often than not, the white screen of death is an issue with the front end of your site. If you’re able to access your WordPress dashboard, but the public facing view is showing white, there’s a good chance the issue is being caused by a theme conflict of some kind. If you’ve recently installed a new theme, you’ll know to look there to resolve the issue.
  4. Is your web host reporting any issues? Frequently your web host will report any known issues on a status page that they maintain, or through social media like Twitter or Facebook. If you’re looking for a new web host, that’s definitely a piece of information you’ll want to find early. How do they report known issues and where can you track them?

With this information in hand, you’re ready to start the troubleshooting process!

How To Fix The White Screen of Death in WordPress

Tool belt for carpenter
You’re Going to need a few tools to debug the white screen of death

To get started, you’re going to need a few tools that you may or may not already have.

  1. An FTP client – If you’re not sure what an FTP client is, you can read more about them here. Essentially it’s a “back door” way to access your website since you may not have access through a web browser anymore. You can use FTP clients to transfer files to and from your web host. We really like Transmit ($34 and worth every penny), but it is Mac only. Filezilla works on Windows, Linux, and Mac, and is also free. Beware that you may end up with a few bonus programs that you weren’t planning on if you install Filezilla.
  2. A code editor – This may not end up being necessary, but can come in handy if there’s a code error that you need to debug. You can use a code editor to quickly identify syntax errors in plugin and theme code that you may not have seen otherwise. If you’re not comfortable even looking at code, you’ll probably want to contact professionals when you get to this point in the troubleshooting process. Atom has become a popular code editor of late, and is available for free on Windows and Mac. If you need a very basic code editor with no frills, Notepad++ works well for checking syntax.

Do you have access to WordPress admin?

WordPress Login Screen
WordPress Login Screen

One of the first things you need to identify is whether or not you can access http://yourdomain.com/wp-admin/. If you’re getting a white screen on the admin pages as well, then the next steps are going to involve an FTP client. You can skip right to the section about how to troubleshoot if you can’t access wp-admin.

If you are able to access wp-admin, the length of this tutorial just got a whole lot shorter for you. You’ll be able to quickly eliminate the culprit using the information you took down earlier in the article.

  1. Deactivate any newly installed or upgraded plugins – The likely cause of your white screen is either a new plugin, or a recently upgraded plugin. If you’re able to login to your dashboard, navigate to the plugin screen and deactivate any plugins that were recently upgraded, installed, or changed.
  2. Deactivate all other plugins – This step can be a little tedious, but it is necessary. If step one didn’t resolve the white screen for you, you’ll need to go through your active plugins list and deactivate them one at a time until the issue is resolved. I recommend deactivating 1 or 2 at a time, and then checking the front end of the site to see if the white screen is gone.
  3. Change your theme – If after you’ve deactivated every plugin on your site, you’re still getting a white screen, the cause is going to be either the theme or the database. Troubleshooting database issues is the most involved step in this process, so your next step should be to change your WordPress theme to one of the default WordPress themes. Their names are Twenty Ten, Twenty Eleven, Twenty Twelve, etc.
  4. Look at server and caching configuration issues  – This is an advanced step that we won’t go over much in this article, but once you’ve reached this point in the troubleshooting process and you’re still encountering the white screen of death, it’s probably time to contact your web host to see if they can see any issues occurring at the server level. This has become more common lately with advanced caching and server configurations from managed WordPress hosts. I know that the host we use, Pagely, has an option to clear out white screens from their hosting login, but that may not be typical of all hosts, and also has some unwanted consequences. If you’re using a caching plugin on your site, it may just require flushing your site’s cache for things to return to normal.
  5. Troubleshoot any possible database issues – This is another advanced step, but there likely are a few things you can check on your own before contacting your web host. A corrupt database may be what’s causing your white screen of death. This isn’t terribly uncommon, but you definitely want to proceed with caution before making any changes to the site’s database. Be sure that you have a recent backup of your site’s database before making any changes. We recommend a backup solution like VaultPress as it provides hourly backups and easier restores in the case that something goes wrong. Many hosts provide access to phpMyAdmin, which is a visual way to view your site’s database in your web browser. A2 Hosting has a nice article on how to repair your WordPress database via phpMyAdmin.

What if you don’t have access to WordPress admin?

This is where things really start to get fun. OK, maybe fun isn’t the perfect word here, but in a lot of ways, accessing the site via FTP can help you troubleshoot these issues even quicker than trying to do it through your web browser

Step 1: Disable All Plugins

Rename plugins folder to disable plugins
Rename plugins folder to disable plugins

Once you’re able to connect to your site using your FTP client, browse to the /wp-content directory in your folder structure. It’s usually found inside a public_html or htdocs folder. Inside the /wp-content directory you’ll see a /plugins directory. This is where all of your plugin files are stored after they’ve been installed. You can actually disable all of your plugins by simply renaming the plugins directory to plugins.old. This will disable every plugin on your site, so proceed with caution, but that quick step will help you quickly identify whether plugins are the culprit or not. If renaming the folder makes the site visible again, you’ll know that there’s a plugin causing the problem.

To identify exactly which plugin is causing the issue, change plugins.old back to plugins, and then open that directory in your FTP client (as shown below). Then you can go through the same process for each individual plugin. By changing pluginname to pluginname.old, the individual plugin will be deactivated, and you’ll be able to check and see if your site is operational again.

FTP window
Rename individual plugins with the .old extension to disable them

This trial and error process will eventually help you identify which plugin is causing the white screen. Once you’ve identified it, you can delete the plugin using your FTP client. We have seen scenarios where the site only white screens if two specific plugins are active, so you may need to troubleshoot for a white to find out exactly which plugin, or combination of plugins is causing the problem, but this method will narrow it down pretty quickly. This is one more reason why documenting any changes that are made to the site becomes critical. If you always know what you’re changing, you’ll easily be able to trace your steps back and resolve any issues that come up.

Step 2: Deactivate your theme

There are a couple of different ways you can go about deactivating your WordPress theme. The quickest way is to ensure that you have one of the default WordPress themes installed in WordPress. Then if you rename your active theme the same way we renamed plugins, WordPress will automatically fall back to using a default WordPress theme.

For example, if my active theme name is wpsitecare, and I also have twentyfifteen installed on my site, if I rename wpsitecare to wpsitecare.old, WordPress will automatically activate twentyfifteen since it’s a default WordPress theme.

Change your WordPress theme via the database
Change your WordPress theme via the database

The other option for changing your WordPress theme would be to access your database using phpMyAdmin, and browsing to your options table, and looking for the template and stylesheet values.

Again, changing any values in your database directly is a last resort, and should only be done if you understand all the ramifications, and have recent backups that you know how to restore.

By changing the template and stylesheet values to twentyfifteen and saving your changes, WordPress will use the TwentyFifteen theme instead of your previously active theme. In the majority of instances, as long as you’ve already gone through all of the other steps in this article, this step should resolve the WordPress white screen of death for you.

Step 3: Enable WP_DEBUG

For those of you who aren’t familiar with WP_DEBUG, it’s a constant that you can add to your wp-config.php file on your website, that will output any specific errors that are occurring on the site the same way the Windows blue screen does.

To enable WP_DEBUG, you’ll need to login to the root of your WordPress site via FTP, the same way you did to disable plugins. You’ll probably want a code editor for this step just to make sure you can edit your wp-config.php file without breaking more things.

<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don't have to use the web site, you can
* copy this file to "wp-config.php" and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://codex.wordpress.org/Editing_wp-config.php
*
* @package WordPress
*/
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');
/** MySQL database username */
define('DB_USER', 'username_here');
/** MySQL database password */
define('DB_PASSWORD', 'password_here');
/** MySQL hostname */
define('DB_HOST', 'localhost');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'wp_';
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the Codex.
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define('WP_DEBUG', true);
/* That's all, stop editing! Happy blogging. */
/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
view raw wp-config.php hosted with ❤ by GitHub

Above is an example of a wp-config file. The default for WP_DEBUG is set to false (line 80 in the example above), but if you’re troubleshooting a white screen of death, you definitely want to change that value to true.

This isn’t going to resolve any of your issues, but it will provide some additional information that will help you sort things out.

WP DEBUG
Error messages from WP_DEBUG

After you change WP_DEBUG to true, and save your wp-config.php file again, you’ll see error messages like the ones in the screenshot. At first the messages may look like a foreign language, but you can pull out a few important parts. You’ll see the Genesis_Tabs text there, as well as plugin.php. This is indicating that it’s the Genesis Tabs plugin that’s causing your site to break. Deactivating that plugin or removing it from your site will fix your white screen of death.

Don’t forget to change WP_DEBUG back to false and save your wp-config.php file again. You don’t want to leave WP_DEBUG enabled on your live site if it isn’t needed for troubleshooting.

Is the White Screen Still not Fixed?

shrug
Great, now what? *shrug*

There are still a few other potential possibilities that we haven’t covered in the article, the majority of which are likely going to require the help of a professional team. Some other possibilities might be

  • Malware infection or hacked site
  • Corrupted hard drive on the server
  • Server misconfiguration, or server down
  • DNS error or misconfiguration

If the approach in this article hasn’t resolved the issue for you, I’d recommend reaching out to your web host, or a team like ours to help debug this issue for you. We see this kind of things regularly and have probably encountered your specific issue with some other client site.

If you don’t have the budget to hire a professional team, I can’t overemphasize the importance of maintaining regular backups that you have the ability to restore. If you’re still not able to fix the WordPress white screen of death after all of this, at the very least you’d be able to restore the site to a time when it was working properly.

Have you ever encountered the white screen of death? What ended up being the issue? Hit us up in the comments!

Join thousands of others and get weekly articles on improving your website

17 Comments

  1. Shivkumar

    i am facing white screen of death problem in wordpress ,after changing theme its occur…now i cnt able to access wp-admin and i am not appearing wp-content folder in ftp …..Tell me please how to solve this problem

  2. Bleem

    can someone please help me, when i install a wp themes and import the demo data, i keep getting white blank screen, but i still have access to my wp admin, just the website is giving me difficulties showing white blank page, i also see the error log in the root folder

    ERROR – error, responseINVALID

    Please can anyone help me fix this, i am ready to provide you my WP admin details for access to my dashboard and FTP access Details too. Please i need someone to help me fix this. I have tried everything from all blogs and still nothing is happening, Please help me.

  3. Rudhi Hadhi

    Hello
    I was having problems on my website, that if on the front page of blank white, but if in the open on a content page normal and fine. If I go to the front page entry position in the normal admin pages, but if I try to open another browser wear white blank. Please help
    URL my website http://dutaserviceac(.)com
    Thanks

  4. Martin Fernando Kleinheinz

    Thank you very much!
    I was going nuts with my White Screen of Death…
    I habe bought an really bad coded theme from envato marked that screwed my website.
    Thanks to you, for helping me out!
    Best regards!
    Martin

  5. Robbee

    Thanks for the help, I tried to change my theme to Tesseract but I think me modifying the CSS is what caused it. I have changed themes while not touching the CSS whatsoever on my home server and it worked fine, but I suppose when you screw with the CSS, there are problems. That or going from theme Twenty Eleven (I’m a bit old school with a particular project) to Tesseract, you see the White Screen Of Death.

  6. prokops

    In my case, wp-admin/post.php blank screen was fixed by removing the ” ?> ” at the end of my function.php in my child theme. I don’t know how the end tag ended in there, but removing it solved my problems.

  7. WPServer.com

    Just a quick security note: We have observed that some people tend to leave the debug.log laying around and publicly accessible by anyone on the internet. If you use define( ‘WP_DEBUG_LOG’, true ); for debugging.

    Thanks for a great post!

  8. Jack Yan

    Sadly, none of this worked but there were no errors on our database nor were we hacked. My friend, who is an expert on these matters, had to perform the following surgery: backed up the database and imported it into a MySql database on his local machine, downloaded WordPress again, hooked it up to the database, ran the update, tested, and uploaded to our web server.

    It really looks like the latest WordPress (4.5) is a lemon. With the new installation, I had to reactivate each plug-in, one by one. By the time I reactivated Jetpack, I was back to the WSOD. Removing Jetpack was the only way to get my clean WordPress going again. The Jetpack support forum is full of entries right now, some from people encountering WSOD.

  9. ofir

    great help – for me i had to rename mu-plugins folder and it worked.
    no need to rename other folders.

  10. Vince

    There’s a lot of causes of that WSOD for WordPress. Sometimes you get this while editing your function.php and the only solution is to go inside the Cpanel, go to the themes folder and find that theme and undo any code edit you did.

    A more complicated problem arises when you don’t take note or remember what you just edited and you got it.

    Thanks for this more detailed tutorial. This post has a LOT to tell.

  11. CodeUp Studios

    Hi Ryan, Being a plugin developer, I admit that the culprit could be plugin updates (in most of the cases). Some plugin starts to conflict with others after update which results in White Screen of Death.

    Renaming a plugin with the .old extension is the best way to disable them – I do this always.

    To enable WP_DEBUG in wp-config.php, I’ve my own version of code:

    if (isset($_GET['debug']) && $_GET['debug']=='true') {
        error_reporting(E_ALL); ini_set('display_errors', 1);
        define('WP_DEBUG', true);
    }

    …and then I add ?debug=true to the end of URL (so that the world don’t see any errors) and check what’s causing the trouble. Eg. http://www.mywordpresssite.com?debug=true

    Thanks for this article. Keep the good work going… đź‘Ť

    Best,
    ~ Dipak C. Gajjar

  12. Avenue Sangma

    Hello Ryan
    Thank You so much for your informative post. It’s very good news that Learned new things about WordPress white screen of death. I was so confused before this post. Now cleared everything.

  13. Ivailo Durmonski

    Hi Ryan, yes I’ve actually encountered WordPress white screen of death a couple of times. And in most of the cases, the problem is with a theme or plugin that was recently updated. To fix the issue, I use cPanel to disable all the themes or plugins. Thanks for the detailed tutorial! 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *