August 3, 2013

W3 Total Cache makes blank pages after WordPress upgrade fix

Here’s the first fix I always try after W3 Total Cache starts serving blank white pages when I browse my site after updating WordPress. These instructions assume you know your way around the WordPress and W3 Total Cache admin areas.

Testing for blank pages

To test for the blank screen issue, be sure to view the site in Chrome’s Incognito mode or Firefox’s Private Browsing mode without logging into the admin area. Logging into the admin area creates cookies for storing your session, and W3 Total Cache will not serve cached pages to users who are logged in (unless you change it in W3 TC’s Page Cache configuration).

Debugging info

Also note that W3 TC will inject some extra comments into your page to give you debugging info. You can see it by viewing the source. This is a good way to check if Page Caching is enabled when you load a page. Here’s a sample:

!-- W3 Total Cache: Page cache debug info:
Engine:             disk: enhanced
Cache key:
Caching:            disabled
Reject reason:      User is logged in
Creation Time:      0.768s
Header info:
Expires:             Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control:       no-cache, must-revalidate, max-age=0
Pragma:              no-cache
Content-Type:        text/html; charset=UTF-8
X-Powered-By:        W3 Total Cache/
X-W3TC-Minify:       On

Environment Details

This bug appeared for me today moving from WordPress 3.5.1 to 3.6 with W3 Total Cache on a DreamHost server (I’m not sure what versions of PHP and Linux and MySQL it uses). I’ve seen it happen on other hosts like an EC2 instance hosted on Amazon with Ubuntu when moving between other versions of WordPress as well.

A solution

In my experience, the blank pages are always caused by the Page Caching functionality (with Disk: Enhanced caching method).  Try following these steps to get your pages back:

  1. Save your W3 TC configuration. At the bottom of the plugin’s Dashboard you’ll find tools for exporting your configuration. Do it so you have a backup.
  2. Disable the W3 TC plugin
  3. Delete the W3 TC plugin
  4. Visit your site and verify that it works without W3 TC. If the white pages are still appearing, there might be another issue that I’m unfamiliar with.
  5. Install the W3 TC plugin.
  6. Enable the W3 TC plugin. You may find your configuration from the last install is still on the server and used automatically. If not, you have a backup from step 1!
  7. Visit your site in a Private or Incognito tab (remember the detail about cookies mentioned above). If WordPress and Page Caching is working again, you can stop following these instructions here
  8. Try disabling all W3 TC’s functionally from its Dashboard. The plugin will be active, but not doing anything helpful. Visit the site and check if it works now. If there are white pages or other issues, there might be something else wrong that I’m not familiar with.
  9. Turn on W3 TC Page Caching, and try the site again. You may need to clear the page cache as well.

If Page Caching works now that you’ve uninstalled, reinstalled, and reconfigured W3 TC, you can continue by turning on other parts of W3 TC and testing they work. If not, use the W3 Total Cache Support boards to find a solution to your problem.