Web Development / WordPress

Troubleshoot W3 Total Cache Problems and Error Notifications

Oct 28, 2022
5 min read
Common W3 Total Cache Errors

W3 Total Cache is my favorite Caching Plugin, but being the most advanced and highly configurable caching solution has its downside. Occasionally, things go wrong.

Most of the time, it is an issue with your WordPress installation or W3 Total Cache settings. If you are here, you have probably Googled the error message and are looking for a solution. If so, you are in luck.

W3 Total Cache Installation Errors

If you have just installed WordPress, you are unlikely to have any errors. For the most part, installation errors are caused by existing caching plugins not being deleted properly or leaving files or other settings behind that W3 Total Cache cannot overwrite.

Failed to set referrer policy error

Failed to set referrer policy: The value" is not one of ’no-referrer’, ’no-referrer-when-downgrade’, ‘origin’, ‘origin-when-cross-origin’, ‘same-origin’, ‘strict-origin’, ‘strict-origin-when-cross-origin’, or ‘unsafe-url’. The referrer policy has been left unchanged.

This bug was introduced in a recent (2018) version of W3 Total Cache. The Default value for the Referrer policy under the Browser Cache Settings became "" (blank) in an update in early 2018. The actual setting should be “origin”.

  • Referrer Policy - Origin

You can find my recommended Browser Cache Settings here. In particular, see the screenshot shown in Step 6 of the Browser Cache settings section.

Error: advanced-cache.php is not installed

Page caching is not available: advanced-cache.php is not installed. Either the /home/content/92/7450992/html/wp-content directory is not writable, or you have another caching plugin installed. This error message will automatically disappear once the change is successfully made.

Solution: You need to completely remove all other caching plugins before you install W3 Total Cache.

First, remove W3 Total Cache manually, and check all relevant files and settings have been removed from previous caching plugins.

You can view my detailed guide on how to remove W3 Total Cache manually here. Check for erroneous files, and reset your .htaccess file to the default WordPress settings.


Error: W3 Total Cache Not Working on Multisite install

WP admin showed only a title page Dashboard. There were no config tabs or menus.

Solution: Make sure that the Multisite Admin website has W3TC configured. On the Performance -> General Settings Tab, uncheck “Use single network configuration file for all sites”.


Error: PHP Fatal error

PHP Fatal error: Call to undefined function get_home_url() in /home5/felicetr/public_html/labbondanzavienedalcuore/wp-content/plugins/w3-total-cache/inc/define.php on line 617

solution: Navigate to wp-content/plugins and delete the w3-total-cache directory.

You will then need to remove W3 Total Cache manually.


General Troubleshooting

The WordPress Admin Toolbar shows when I am logged out.

This occurs due to incorrect settings in W3 Total Cache. Please see my detailed post here for the solution.

I am having display issues after updating other plugins \ themes on my website. W3 Total Cache was working fine before.

The plugin author might have modified their JS or CSS in the new release, but the old versions are being served from the cache. Clear the cache and any CDN cache (if applicable). Sometimes, updated plugins \ themes can introduce duplicate code, which may cause a conflict. If this is the case, you may need to revisit your minification settings.

I see garbage characters instead of the normal website, what's going on here?

If a theme or its files use the call php_flush() or function flush(), that will interfere with the plugin’s normal operation, making the plugin send cached files before essential operations have finished. The flush() call is no longer necessary and should be removed.

I'm getting blank pages or 500 error codes when trying to upgrade on WordPress MU

First, make sure the plugin is not active (disabled) network-wide. Then make sure it’s deactivated network-wide. Now you should be able to successfully upgrade without breaking your website.

My YSlow score is low because it doesn't recognize my CDN, what can I do?

Rule 2 says to use a content delivery network (CDN). The score for this rule is computed by checking the hostname of each component against the list of known CDNs. Unfortunately, the list of “known CDNs” are the ones used by Yahoo! Most likely, these are not relevant to your website, except for potentially yui.yahooapis.com. If you want an accurate score for your website, you can add your CDN hostnames to YSlow using Firefox’s preferences. Here are the steps to follow:

  • Go to “about:config” in Firefox. You’ll see the current list of preferences.
  • Right-click in the window and choose New and String to create a new string preference.
  • Enter extensions.yslow.cdnHostnames for the preference name.
  • For the string value, enter the hostname of your CDN, for example, mycdn.com. Do not use quotes. If you have multiple CDN hostnames, separate them with commas.

If you specify CDN hostnames in your preferences, they’ll be shown under the details for Rule 2 in the Performance view.

When I post / like my posts on Facebook the wrong text or no images are shown on Facebook.

If this happens, you need to add the following user agents to the text area “Rejected user agents” on the Page Cache settings page:

Also, make sure you have the correct xmlns:og /xmlns:fb tags in your opening HTML tag.

The plugin tells me to add w3tc-wp-loader.php but minify loads correctly?

If you put the symlink path in w3tc-wp-loader.php, the plugin will think the path has changed because WordPress converts symlinks to realpath. You can disable the check by adding the following to your wp-config.php.:

define('DONOTVERIFY_WP_LOADER', true);

A notification about file owner appears along with an FTP form, how can I resolve this?

The plugin uses WordPress FileSystem functionality to write to files. It verifies that the file owner and file owner group of created files match the process owner. If this is not the case, it cannot write or modify files.

Typically, you should ask your web host about the permissions issue, and they should be able to resolve it.

You can, however, try adding the following code to your wp-config.php to circumvent the file and folder checks:

define('FS_METHOD', 'direct');

I get an CloudFlare error message similar to 'certificate verify locations: CAfile: /etc/path/certs/ca-bundle.crt CApath: none'?

This issue relates to your SSL certificate.

It could be that your SSL is stored in the incorrect location or that it does not have the correct permissions. You should refer this to your web hosting provider to fix it.