Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

How to Fix the WordPress White Screen of Death

Last updated on by
BlueHost - Recommended WordPress Hosting
How to Fix the WordPress White Screen of Death

If you have been using WordPress for a few years, then you have encountered the white screen of death at least once. The WordPress white screen of death is one of those extremely annoying problems like error establishing a database connection. The reason why this issue is frustrating for users is because it locks you out of your WordPress admin panel. Because there is no error output in most cases, you are left clueless to figure out what is the issue. The worst thing about white screen of death is that sometimes it will only affect a certain part of your site. For example, you may only see the white screen of death on your WordPress admin while everything else works fine. In other cases, you may only see it on a specific post whereas everything else runs just fine. In this article, we will show you how to fix the WordPress white screen of death by looking at a few possible solutions.

Note: Before you make any changes to your site, make sure you have sufficient backups.

Why do you get this error?

Majority of the time when you see a white screen of death, it means that you exhausted the memory limit. This could be caused by a plugin that you may be using that is not functioning properly. It could also be caused by a poorly coded theme that you are using. It could also mean that there is an issue with your web hosting server. Since the problem can be caused by any number of things, it may require a lot of troubleshooting.

Does the problem occur on your other sites?

If you have multiple sites, then the first thing you should do is to make sure that the white screen of death is happening across the board or just on this one domain. If the issue is with all of your sites, then it is a strong indicator that your web hosting provider is having some issues. However, if the issue is only with one of your sites, then this could be an issue with a plugin or theme that you are running. If the issue is only happening with a single post or page, then you know it is definitely a problem with your specific site.

Increasing the Memory Limit

Usually this issue happens because your memory is being exhausted. Use our tutorial on how to increase PHP memory in WordPress.

Disabling All Plugins

If increasing the memory limit did not help, or if you have a high memory limit like 256M or 512M, then you need to start troubleshooting. In our experience of troubleshooting this issue, we have always found that the issue is either with a specific plugin or a theme. Let’s go ahead and disable all the plugins.

Use these instructions on how to deactivate all WordPress plugins at once.

If this fixes the issue, then enable one plugin at a time to get to the bottom of the issue.

Replace Theme with a Default Theme

If the plugin troubleshooting doesn’t fix the issue, then you should try replacing your current theme with a default twenty ten theme. The best way to do this is by backing up your theme folder. Then deleting the theme. WordPress will automatically fall back to the default theme.

Alternatively, you can go in your phpMyAdmin and update the database tables in wp_options table. The following table names would have to be updated:

template, stylesheet, and current_theme. Change the value to twentyeleven.

If this fixes the issue, then you should look at your theme’s functions.php file. If there are extra spaces at the bottom, then you should consider fixing it. If you are using a poorly coded function in your theme’s functions.php file, then it can cause this as well.

Other Fixes

If none of the above fixes it, then you should try to re-install a fresh copy of WordPress. While it is unlikely, but it is always possible that a core file may have been corrupted.

You can also use the WordPress debug function to see what type of errors are being outputted. Add the following code in your wp-config.php file.

error_reporting(E_ALL); ini_set('display_errors', 1);

define( 'WP_DEBUG', true);

Once you add this, the blank screen will now have errors, warnings, and notices. These may be able to help you determine the root cause.

Sometimes, you may have access to the backend, but the front-end of the site has white screen of death. This can happen because of a caching plugin. Simply empty your cache.

If you have a white screen of death only on a very long post page, then you should also try to clearing cache. Another trick that we have found to work is increasing the recursion and backtrack limit. You can paste the following code in your wp-config.php file. Or in some servers you will be required to modify your PHP.INI file.

/** Trick for long posts */
ini_set('pcre.recursion_limit',20000000);
ini_set('pcre.backtrack_limit',10000000);

We understand that this is a very frustrating error, and we hope that one of the tricks above fixed the issue for you. What have you tried that seemed to work for you? If you found another solution to work, then please let us know. We would be happy to expand on this resource, so others do not have to waste as much time finding a solution.


Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »

Comments

  1. Rosie says:

    Thanks, this was useful. I had the white screen on the live site, but WP admin was fine. I use WP Super Cache and I cleared the cache with no effect, then deactivated all plugins, and when I’d tried everything else I suddenly thought of the expired cached pages.

    If you use WP Super Cache you have to delete the expired cache too. That worked right away. Then I set my garbage collection (on the Advanced tab) to hourly instead of daily, to try to prevent it happening again.

  2. Jacobus says:

    Personally I haven’t had this problem, yet, I have the problem that I have to reset my permalinks all the time because of endless redirects. Drives me crazy. Every time I publish a new post on my blog I have to set the permalinks back to standard and then back to post name. Do you know if this is host related or plugin related?

  3. Manish Anand says:

    Yep, turning on Debug option helped. It was incomplete uploading of query.php file.

    Thanks

  4. Joel Andrew Glovier says:

    Here’s another suggestion when none of the above works, try flushing your rewrite rules cache.

    I had a single page on my site returning as a blank page, and tried almost every solution above, as well as some other things (like installing Debug Bar plugin, etc) to no avail.

    I was able to narrow it down to what I assumed to be a premalink issue, however, since the page had been working before, and stopped working; and also because even when I used a different page template it still was not working properly (I had prior to that assumed to had to do with my custom wp_query in that page template).

    So I started investigating the WordPress rewrite system, and came to find out WordPress keeps a cache of all the custom page slugs and rewrite rules. (more about that here: http://codex.wordpress.org/Rewrite_API/flush_rules and here: http://codex.wordpress.org/Function_Reference/WP_Rewrite)

    I also found that this method is used to flush the rewrite cache: $wp_rewrite->flush_rules();

    So I tried just adding it to the second line in my functions.php file, and after one page refresh the page contents showed up again.

    IMPORTANT: make sure to remove the method after using it once, as there are some costly performance hits associated with leaving that code in your file. You should only need to use it once to resolve the issue, however.

    • Editorial Staff says:

      Saving the permalinks settings again will also flush the rewrite rules from our understanding. Thanks for the suggestion about this :)

      • Joel Andrew Glovier says:

        Yeah, but that didn’t work in my case. In fact, normally you don’t even have to save the Permalink settings page, just visit it. But in my case that neither visiting, nor saving, nor chaning to another setting and changing back worked.

        But actually I discovered it was something much more obscure, and the flushing was only a temporary band-aid.

        Turns out I had a conflict between a page with the title/slug of “team” and a custom post-type with the rewrite slug of “team”. The custom post type ended up winning out, except when I put the rules flush in place, in which case it stopped it from winning out.

        But the real reason I was getting the white screen was because when the custom-post type slug was winning out, it was defaulting to rendering the page with the archive.php file, which I had created (as my theme is from scratch), but not put any markup in yet. The file was completely blank, hence my white screen.

        Womp womp womp wanhhhhh.

        • Editorial Staff says:

          Yup that would do it. We learnt that the hard way by looking at one of our user’s themes.

  5. Jonath Lee says:

    Whenever you’re testing themes or plugins, always leave a tab for “Themes”. In case of WSOD, you may still able to activate the default twenty eleven themes.

    • Editorial Staff says:

      That doesn’t work if your admin is also locked. The next screen will just return a white screen of death too.

      • Jonath Lee says:

        It could? May be I haven’t reach the Admin Lock level so, I guess we should leave the tab for the phpmyadmin page instead +_+

  6. Johnny says:

    Damn! Just seen the section in the article about the functions.php file – oops! Oh well it will teach me not to read so quickly!

  7. Johnny says:

    Another ‘gotcha’ is whitespace below the closing ?> in your functions.php file. I got this once a while back and deleting the whitespace below it solved the problem. This can also cause a white screen after hitting the publish button as well.

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.