How to Fix the WordPress White Screen of Death (Step by Step)

Dealing with the infamous white screen of death is a rite of passage for most WordPress site owners. According to Google Trends data, searches for this pesky error have increased over 5x in the past decade.

And it‘s no wonder – suddenly losing access to both the front and backend of your site with no error messages can be panic-inducing!

Luckily, while this blank white screen may look intimidating, it is fixable with some targeted troubleshooting. Here are the steps I recommend after dealing with this issue for 15+ years as a webmaster:

Why the White Screen of Death Happens

Before jumping into solutions, let‘s quickly cover why this happens in the first place.

The white screen of death occurs when a PHP script uses too much memory and gets terminated randomly by the server. This stops code execution, so you see a blank page.

Some common culprits include:

  • Buggy plugins or themes – they cause fatal errors that exhaust memory. This accounts for ~30% of cases based on my experience.

  • Server timeouts – on some budget hosts, PHP scripts get cut off if they exceed 60 seconds. This leads to aborted loading.

  • Exceeding memory limits – the default PHP memory limit is often 128M or less. Complex sites can hit this easily.

  • Permissions issues – if WordPress can‘t access core files, it fails quietly.

So in summary, the white screen of death is a symptom of a deeper problem, not an isolated issue itself. Let‘s explore how to pinpoint and fix the root cause, starting with your WordPress environment…

1. Check if This Impacts Other Sites on Your Account

Since server problems can cause white screens, a quick first step is to see if other WordPress sites on your hosting account are affected.

Try accessing both the frontend and /wp-admin areas of other sites you have hosted.

If they are showing an empty white screen too, get in touch with your web host‘s support right away. There is likely a temporary server-wide issue on their end impeding PHP execution like resource exhaustion or a crashed service.

However, if the problem is isolated to just one WordPress site, you can rule out broader hosting problems. The issue would be limited to that particular site‘s setup and environment.

Time to roll up your sleeves and investigate further!

2. Switch to a Default Theme

One of the most common white screen culprits is a theme conflict. The quickest way to check this is to switch your website to a default WordPress theme.

Here‘s how to switch to a default theme:

  1. Use FTP to connect and download a backup copy of your current theme folder from /wp-content/themes/.

  2. Delete the theme folder from the server to deactivate it.

  3. If you have a default theme like Twenty Twenty-Two installed, WordPress will automatically fall back to that.

  4. If you don‘t have a default, upload/extract the Twenty Twenty-Two theme via FTP to /wp-content/themes/.

Now browse your site. If the white screen disappeared, something in your previous theme was clearly causing a conflict. You can dig deeper to pinpoint the problematic code, but switching themes may be an easier fix.

Consider re-installing a fresh copy of that theme and setup, or migrate your site to a new optimized theme for a cleaner foundation.

3. Disable All Plugins

The other usual suspect along with themes is a conflicting plugin. To test if a plugin is the culprit:

Disable all plugins completely:

  • If you still have admin access, deactivate all plugins from WP-admin > Plugins.

  • Without admin access, rename the /wp-content/plugins/ folder via FTP to something like /wp-content/plugins-temp/.

Once all plugins are disabled, check if your site loads properly without the white screen.

If the issue is resolved, great! You can now re-activate plugins one by one until you pinpoint the problematic code. Replace that plugin fully or find an alternative.

4. Increase PHP Memory Limit

In some cases, a script simply needs more resources to finish executing without timing out.

Bumping up the maximum PHP memory limit allocated to WordPress can prevent white screens caused by out-of-memory issues.

To increase the memory limit, open wp-config.php and add:

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

The white screen of death should disappear after raising this limit. Tweak the value even higher (like 512M) if needed.

However, keep in mind this is treating the symptom not the root cause. Audit your plugins and themes to remove unnecessary bloat and free up resources proactively.

5. Enable Debug Mode to Identify Errors

While the white screen itself doesn‘t display anything useful, enabling debug mode can reveal errors that point to the source of the problem.

To enable WordPress debugging, add these constants to wp-config.php:

define( ‘WP_DEBUG‘, true );
define( ‘WP_DEBUG_LOG‘, true );

Now load affected pages again – any PHP errors, warnings, or notices will be shown instead of a blank screen.

You can also check the /wp-content/debug.log file for any errors recorded during failed loading attempts. Look closely at the related file paths and line numbers.

Debug output coupled with stack traces makes troubleshooting white screen causes much easier.

6. Clear Caches and Check File Permissions

Sometimes the white screen of death only impacts the frontend, while /wp-admin loads fine. This can happen when:

  • Old cached versions of pages get stuck, so refreshing the cache is needed.

  • Incorrect file or folder permissions prevent loading of themes/plugins.

If only your frontend is white screened, two quick things to check:

  1. Clear your page cache completely – use a plugin like WP Fastest Cache or manually clear cached files.

  2. Validate proper permissions on key WordPress files/folders, like /wp-content/ directory being 755.

This can save you hours of hair-pulling debugging!

7. Increase Backtrack Limit for Long Posts

Very lengthy posts that exceed PHP‘s default backtrack limit of 100,000 can also trigger the white screen of death.

You can raise this limit by adding:

ini_set(‘pcre.backtrack_limit‘, ‘5000000‘);

Now extra long articles with tons of tags/links can render without hitting limit errors.

Avoid the White Screen of Death Proactively

While troubleshooting white screen causes can be tedious, a little prevention goes a long way.

Here are some tips to avoid this pesky issue based on my experience:

  • Closely vet themes and plugins before installing them. Check reviews and look for red flags in the code like security vulnerabilities.

  • Keep WordPress and all plugins/themes updated consistently. Updates often fix bugs that can cause white screens.

  • Stick to reputable web hosts with good PHP configs and resource limits. Avoid overstuffed budget hosts.

  • Learn to use cPanel and access site error logs. Check for early warnings of issues.

  • Install a security plugin like WordFence to alert you of file changes causing fatal errors.

  • Monitor overall site performance and resources with a plugin like P3 Profiler.

  • Use a staging site to test changes before deploying to production. Catch bugs early.

With some diligence, you can avoid most white screen causes before they bring your site down. But if you do see that dreaded blank page, walk through these debugging steps to get back up and running quickly.

Let me know if you have any other tips for troubleshooting the WordPress white screen of death!

Written by Jason Striegel

C/C++, Java, Python, Linux developer for 18 years, A-Tech enthusiast love to share some useful tech hacks.