W3 Total Cache Settings with CloudFlare Guide

W3 Total Cache is a WordPress Performance Optimization framework that is designed to improve user experience and page speed.  It is recommended by many web hosting providers and used by countless major websites such as mashable.com as well as many others.

W3TC  improves the user experience of your site by increasing web server performance by reducing website loading times, as well as providing content delivery network (CDN) integration.  Some of the features are as follows:

  • Significant increase in overall site performance
  • Improved conversion rates and “site performance” that affect your site’s rank on Google.com
  • “Instant” subsequent page views: browser caching
  • Optimized progressive render: pages start rendering quickly
  • Reduced page load time: increased visitor time on site; visitors view more pages
  • Improved web server performance; sustain high traffic periods
  • Up to 80% bandwidth savings via minify and HTTP compression of HTML, CSS, JavaScript, and feeds

Quick Links:

Install the W3 Total Cache Plugin

The plugin is not compatible with other caching plugins, so make sure these have all been uninstalled before proceeding further.

To install the Plugin, simply go to the “Plugins” option in the left-hand menu of your WordPress Admin panel, and then select Add New.  In the search box type “W3 Total Cache” and press enter.  You can see a screenshot of the screen you should see below.

Install the Plugin

Click the “Install Now” button and then click “OK” to confirm in the subsequent pop-up box.  Once Installed, click the “Activate Plugin” link, as shown below:

Activate the plugin

The plugin is now installed and activated.

back to menu ↑

W3 Total Cache Settings

This is where things start to get a little more complicated.  Thankfully, to get the plugin working you could just enable everything on the General Settings screen, and use the defaults provided.  To get the best results, though, going through the Advanced settings in detail is a must.  Fortunately, we will take you through all the advanced settings as well in this tutorial.

Later in the article, you will find a downloadable file that you can import into the Plugin Settings to make applying our recommended settings very simple and easy.

Each of the headings below refers to the different configuration sections within W3TC.

2.1 General Settings

You will find the General Settings option in the admin panel under the Performance menu item as shown boxed red in the screenshot below:

General Settings

We have taken a full screenshot of all the completed settings (which we have set out in text format below) to help you easily configure the General Settings section.

View full screenshot

2.1.1 Preview Mode

General Settings Preview Mode

Preview mode is extremely useful, and something we recommend you use (so click Enable now).  It sets it so that only admin users can see the effects of any W3TC Settings.  When disabled, the effects are made public.  This is very useful as you will be able to check the settings before releasing them as some settings have the potential to cause display issues (i.e. Minification).

  • Preview Mode – Click Enable.

Don’t forget to disable this once you are happy with your configuration.

2.1.2 Page Cache

Page cache is pretty much the most powerful feature of W3TC.  Usually, when you request a copy of a web page, the server will run all the PHP scripts contained within WordPress as well as retrieve all requested information from the database.  This obviously takes time and server resources.

What page caching does, is take a copy of the page after it has been formed, so that subsequent copies of the page can be retrieved using that copy instead of having to run all the PHP scripts and database queries again. This has the benefit of not only speeding up the page load time significantly but as it reduces server usage you will be able to serve more traffic on a shared hosting plan.

  • Page cache – Tick the box to Enable.
  • Page cache method – Select “Disk: Enhanced”. Different Cache Methods

As you will see when you configured the Page Cache above, there were various options to choose from (although most would have been grayed out, and not selectable).  Because these settings will also apply to future sections it is a convenient time to run quickly through the choices available:

Shared Servers:
  • Disk: Basic – This method will invoke a PHP script to serve the cached page.
  • Disk: Enhanced – This method will modify the .htaccess file to direct Apache to a static Cached version of the page, so is much faster, and recommended.

If for whatever reason your site slows as a result of using Disk: Enhanced then we recommend you find a new host.  It is very rare that this happens, but it is not unknown.

Dedicated / Virtual Server

While, the majority of hosts do not offer these on shared hosting, there are some exceptions, especially on the most expensive plans such as Business Hosting or Semi-dedicated hosting.

  • Opcode: Alternative PHP Cache (known as APC Cache) – This caches the PHP code into RAM, and for a long time was the PHP Opcode Cache of Choice.  It is now used much less as it is no longer supported, and will only work with PHP 5.4 and below.  There are no plans to make it work with PHP 5.5. and 5.6.
  • Opcode: eAccelerator – A not so common Opcode cache, but one you will see from time to time.  Again, it will store compiled PHP scripts into shared memory and will execute code from it speeding up dynamic websites.
  • Opcode: XCache – This is now the go to Opcode cache of choice.  It is well supported, and updated and works with all versions of PHP.  XCache has both a PHP Cache component that works to cache the PHP files directly into RAM and a Variable Cache component that works off the W3TAPI to cache the data that is subject to change.  This is our recommended choice.
  • Opcode: WinCache – This is an Opcode Cache for Windows servers.
Multiple Servers
  • MemcachedMemcached is a distributed system that you will often see when web hosts have multiple server configurations.  It speeds up dynamic web applications by reducing database load by storing chunks of data from the results of database calls.

2.1.3 Minify

We have tested using Minification in W3TC extensively, and find that leaving all the minification to Cloudflare works much better.  Cloudflare, intelligently minifies and combines javascript, as well as re-ordering its loading to ensure an optimized page load time (via its Rocket Loader).  Also, it does not combine CSS which is a common issue with site display problems and only minifies it.  There is absolutely no need to duplicate the minification here.

  • Minify – Leave disabled.

2.1.3 Database Cache

The database cache will store the results of any database queries to increase the speed of your site by allowing your server to retrieve the data faster.  On some budget hosting servers using the database cache can slow down your site, so it is worth checking the speed with and without this configured to see what works best.

  • Database Cache – Tick the box to Enable. If you are using Nginx Varnish, you should disable database caching as this will be done at the server level.
  • Database Cache Method – Select “Disk”.  If you are on a VPS, you should be able to select an Opcode Cache such as XCache, as this is better.

Note: If you are using our recommended host Siteground, with their Supercacher (not their Startup Plan) you should keep this disabled.  Their Supercacher does this at the server level and is much faster.

2.1.4 Object Cache

By default, WordPress has a caching system as standard called Object Caching.  Object Cache will store anything into cache utilizing this WordPress Caching API to reduce the amount of calls needed to the database and thus speeding up your site.  Coupled with an Opcode caching system (rather than disk) or via SiteGround’s own RAM based solution this can make load times insanely fast.

  • Object Cache – Tick the box to Enable.
  • Object Cache Method – Select “Disk”.  If you are on a VPS, you should be able to select an Opcode Cache such as XCache, as this is better.  

Note: If you are using our recommended host Siteground, with their Supercacher (not their Startup Plan) you should keep this disabled.  Their Supercacher does this at the server level and is much faster.

2.1.5 Browser Cache

This is a very powerful option that stores a copy of the web page in the User’s browser, so that if they revisit the page it will load from their own computer via the browser cache rather than requesting the page from the server.

Also this option will carry out other optimizations by enabling HTTP compression to reduce the size of files, reducing the download time of the web page.

  • Browser Cache – Tick the box to Enable.

2.1.6 CDN

CDN stands for Content Delivery Network.  As the name suggests a CDN will distribute your static files to various servers around the world, so that when a user requests the web page those assets will be served locally rather than from the main server.  This can significantly speed up the load time of your site from users that are located a large distance from the server.

Cloudflare implements a CDN, but it is dealt with under a separate extension (which we will look at later).  Therefore, there is nothing to configure here.

  • CDN – Ignore
  • CDN Type – Ignore

2.1.7 Reverse Proxy

A reverse proxy is a type of server that retrieves resources from one or more other servers and can have many benefits such as distributing the load between multiple servers, compressing content or speeding up the serving of dynamic content.  Of course, this depends on the individual configuration of the server.  Such a setup can include Varnish Cache (which is what SiteGround uses in their Supercacher).

  • Enable Varnish Cache Purging – Ignore

2.1.8 Monitoring

New Relic is a third party service that will provide detailed performance statistics of your site and server.  Unless you have a specific reason to use this, we recommend you keep it disabled.

  • New Relic – Ignore


If you have purchased the Pro Version of W3TC, then you can add the license key here to enable additional functionality, such as Fragment Cache for Genesis theme.

  • License – Ignore


We are enabling functionality (such as the Dashboard widgets, or plugins) that are not important, as this in itself can cause your site to slow down.

  • Enable Google Page Speed Dashboard Widget – Ignore
  • Verify Rewrite Rules – Keep enabled
  • Optimize disk enhanced page and minify disk caching for NFS – Keep disabled
  • Enable edge mode – Do nothing.  This is not recommended for a production environment so keep disabled.


When you enable the Debug mode detailed information about your caching gets added to the HTML source code, which is publicly viewable.  As such this will increase the size of your page, and create more work for your web server.  You should only enable this when you are trying to troubleshoot an issue.

  • Debug Mode – Keep disabled

Import / Export Settings

You can easily import and export your settings files so that you can easily and quickly configure your W3TC settings.  This is very useful if you have spent 30 minutes or so configuring your settings, and want to back them up, or if you wish to take a copy before making changes so you can easily revert them.

  • Import configuration – Importable Settings file coming soon!

You will now have configured all the basic W3TC Settings that will significantly improve your page speed performance, however, by proceeding to customize your settings below you can squeeze out some additional performance.

2.2 Advanced Settings – Page Cache

Page Cache

View full screenshot


  • Cache Posts Page – Enable
  • Don’t cache front page – Disable
  • Cache feeds: site, categories, tags, comments – Enable
  • Cache SSL (https) requests – Enable (if you use SSL)
  • Cache URIs with query string variables – Enable (if available)
  • Cache 404 (not found) pages – Disable
  • Cache requests only for the www.yourdomain.com site address – Enable
  • Don’t cache pages for logged in users  – Enable
  • Don’t cache pages for following user roles – Disable

There are a couple of points to note with the settings above, and you may want to change our recommended settings depending on your own circumstances.  In some cases, the “Cache URIs with query string variables” can cause some issues such as page cache not refreshing properly.  If you have pages using query strings, then you may want to test this option.

If you ever find that when you log out of WordPress but you still see the admin bar at the top, then you may not have the “Don’t cache pages for logged in users” enabled.  We see this more than you think, and you will find more information on this problem in a separate post here.

By Caching feeds, categories, tags, etc. you will significantly reduce the server load and speed up the formation of these pages, so they are recommended.  You can choose which pages to purge from the cache upon specified events (such as new posts etc.) later.

Cache Preload

  • Automatically prime the page cache – Enable
  • Update interval  – 1000 seconds
  • Pages per interval – 15 (although if you have a more powerful server of VPS, you can increase this)
  • Sitemap URL – Enter the URL of your sitemap
  • Preload the post cache upon publish events – Enable

This is one of the most powerful features which helps to speed up the site.  What happens is that the Cache only lasts for a specified amount of time, after which new visitors will not be served a cached page.  If your site is not very busy, this can significantly negate the effects of the plugin.  The Cache Preload gets around this by priming the cache at the specified interval.  You should add the location of the Sitemap here.

Purge Policy: Page Cache

  • Specify the pages and feeds to purge when posts are created, edited, or comments posted – Enable Front Page, Post page, Blog feed.
  • Specify the feed types to purge – Enable Rss2 (default)
  • Limit page purging – Enter 15 (although more powerful servers can handle a higher number if required.
  • Purge sitemaps – There should be a default regular expression here.  Leave it as is.

When you create a new post, or change content or even add comments unless you update the cache, the changes will not be immediately viewable on the pages that list all your posts.  This is where you set what pages to refresh upon specified events.


  • Use late initialization – Disable
  • Compatibility Mode – Leave unticked
  • Charset – Leave unticked
  • Reject HEAD requests – Leave disabled
  • Garbage collection interval – 3600 seconds (although this will be grayed out if not caching to disk)
  • Comment cookie lifetime – 1800 seconds
  • Accepted query strings – leave blank
  • Rejected user agents – leave blank
  • Rejected cookies – Keep default
  • Never cache the following pages – Keep default
  • Cache exception list – Keep default
  • Non-trailing slash pages – Keep default
  • Specify page headers – Keep default

Some people will recommend enabling “Compatability mode” even though it may decrease performance because in some cases where hosting stacks are used (different networks combined) it can help.  We have never seen the need to use this.

The Garbage Collection Interval is the time when old cache files are deleted.  If you have a very busy site, you may want to reduce this.

Sometimes you may not want to Cache Certain pages because the data changes regularly or otherwise.  You can add any URLs in that box.

2.3 Advanced Settings – Minify

You can ignore this section as we use Cloudflare to carry out all the minification tasks.

2.4 Advanced Settings – Database Cache

The Database Cache will store the most commonly used queries used by your WordPress site to reduce the time it takes to load the dynamically generated parts of your site.  If you use SiteGround’s Supercacher, then you will not have this section enabled, and you can ignore these settings.


  • Don’t cache queries for logged in users – Tick to enable


  • Maximum lifetime of cache objects – Enter 180 seconds
  • Garbage collection interval – Enter 3600 seconds if caching to disk, otherwise it will be greyed out.
  • Never cache the following pages – Leave blank
  • Ignored query stems – Leave as default
  • Reject query words – Leave as default

If you are using Disk Caching then if you have a high lifetime for cache objects then you may use up a fair amount of disk space.  The recommended settings are 180 seconds to combat this.  However, you may want to significantly increase this if you have a small or quiet site.  We have this set to 7200 seconds on our own site to give you some idea, but then we use RAM based caching (xCache) that doesn’t use up disk space (similar to Siteground’s Supercacher).

Using the Plugin with Woo-Commerce

If you are running Woo-Commerce, then you should add the following to the Ignored Query Stems section:


2.5 Advanced Settings – Object Cache

The object cache will store the results of common runtime operations that again will reduce CPU usage and in turn also speed up your site.


  • Default lifetime of cache objects – Enter 180 seconds
  • Garbage collection interval – Enter 3600 seconds if caching to disk, otherwise it will be greyed out.
  • Global groups – Leave as default
  • Non-persistent groups – Leave as default

If you are using Disk Caching then if you have a high lifetime for cache objects then you may use up a fair amount of disk space.  The recommended settings are 180 seconds to combat this.  However, you may want to significantly increase this if you have a small or quiet site.  We have this set to 7200 seconds on our own site to give you some idea, but then we use RAM based caching (xCache) that doesn’t use up disk space (similar to Siteground’s Supercacher).

2.6 Advanced Settings – Browser Cache

This whole section deals with how the users web browser stores data so that upon subsequent page views the data is retrieved from their saved copy in the browser rather than querying your server again.  This can significantly enhance the users experience as they browse the site, especially for repeat visitors.


  • Set Last-Modified header – Tick to Enable
  • Set expires header – Tick to Enable
  • Set cache control header – Tick to Enable
  • Set entity tag (eTag) – Tick to Enable
  • Set W3 Total Cache header – Tick to Enable
  • Enable HTTP (gzip) compression – Tick to Enable
  • Prevent caching of objects after settings change – Leave Blank
  • Prevent caching exception list – Leave Blank
  • Disable cookies for static files – Leave Blank
  • Do not process 404 errors for static objects with WordPress – Leave Blank
  • 404 error exception list – Leave as Default


  • Set Last-Modified header – Tick to Enable
  • Set expires header – Tick to Enable
  • Expires header lifetime –  Keep it as 31536000 seconds
  • Set cache control header – Tick to Enable
  • Cache Control policy – Select “cache with max-age (“public, max-age=EXPIRES_SECONDS”)
  • Set entity tag (eTag) – Tick to Enable
  • Set W3 Total Cache header – Tick to Enable
  • Enable HTTP (gzip) compression – Tick to Enable
  • Prevent caching of objects after settings change – Leave blank
  • Disable cookies for static files – Leave blank


  • Set Last-Modified header – Tick to Enable
  • Set expires header – Tick to Enable
  • Expires header lifetime –  Enter 10000 seconds
  • Set cache control header – Tick to Enable
  • Cache Control policy – Select “cache with max-age (“public, max-age=EXPIRES_SECONDS”)
  • Set entity tag (eTag) – Tick to Enable
  • Set W3 Total Cache header – Tick to Enable
  • Enable HTTP (gzip) compression – Tick to Enable
  • Prevent caching of objects after settings change – Leave blank
  • Disable cookies for static files – Leave blank

Media & Other Files

  • Set Last-Modified header – Tick to Enable
  • Set expires header – Tick to Enable
  • Expires header lifetime –  Enter 31536000 seconds
  • Set cache control header – Tick to Enable
  • Cache Control policy – Select “cache with max-age (“public, max-age=EXPIRES_SECONDS”)
  • Set entity tag (eTag) – Tick to Enable
  • Set W3 Total Cache header – Tick to Enable
  • Enable HTTP (gzip) compression – Tick to Enable
  • Prevent caching of objects after settings change – Leave blank
  • Disable cookies for static files – Leave blank

2.7 Advanced Settings – User Agent Groups

Manage User Agent Groups

  • Group name “High” – Keep disabled
  • Group name “Low” – Keep disabled

2.8 Advanced Settings – Referrer Groups

Manage Referrer Groups

  • Group name “High” – Keep disabled

2.9 Advanced Settings – CDN

  • Ignore all – This guide sets up CloudFlare instead.

2.10 Advanced Settings – Monitoring

  • Ignore all

Speed Test Results – Before and After setting up the Plugin

These test results are using SiteGround Hosting (our no. 1 recommended host), without the use of its Varnish \ Memcached based Supercacher. with just the above Settings.


W3 total cache settings speed test siteground

Amazingly, a completely unoptimized WordPress install on Siteground is as fast as an optimized one on many of the other web hosts we have tested.


speed test after implementation of the plugin

You may have noticed that we have been speaking very highly of SiteGround, which uses its own Supercacher for Database and Object Caching, as well as Static File delivery.  The above tests are carried out at SiteGround with the Supercacher turned off, but just check out the speeds once we utilize their Supercacher instead:

Website speed test supercacher siteground

As you can see, having the database and object caching being served from RAM at the server level can make a massive difference and something we highly recommend.  If you want to try SiteGround, we have an exclusive offer for Best Host News readers below (make sure you purchase either the Growbig or GoGeek plan for RAM caching for the Database and Object cache):

back to menu ↑

Download our W3TC Settings

Just right click the link below and it will save the file to your computer.

Downloadable W3TC Settings

Once downloaded extract the PHP file from the zip file.  Then go to the General Settings section, scroll down to the bottom of the page and import the file as shown below:

import w3 total cache file

Once you have clicked the “Upload” button, everything will be setup.  You may want to read quickly through the settings in case you wish to modify any from our recommended ones.  Also, under Page Cache -> Preload you will need to specify the location of your Sitemap URL.

If you are using SiteGround thanks to their new NGINX based Supercacher you no longer need to configure W3 Total Cache – see https://www.besthostnews.com/siteground-supercacher-replaces-varnish-with-nginx-for-ssl-support/
back to menu ↑

Setting Up CloudFlare


First of all, you will need to sign up to CloudFlare.  Depending on your hosting provider there are two ways of doing this:

  1. Firstly, if your Hosting Provider has partnered with CloudFlare, then you will find a one-click install button within your hosts admin dashboard.
  2. Otherwise, you will need to manually configure the DNS settings.  Simply add the domain to CloudFlare.  It will do some checks to test your Server settings, and then will setup all the DNS entries for you.  All you need to do is point your domain at CloudFlare’s nameservers.  Note that this may take up to 24 hours to propagate, although you should not experience any downtime in this period.

You can read more about the features of CloudFlare here.


Settings Overview

  • Security Profile – Select Low
  • Performance profile – Select Custom
  • Automatic IPv6 – Select Safe
  • SPDY – If you have a “Pro Plan” this will be enabled
  • Always Online – Select On
  • IP Geolocation – Select On
  • SSL – Select Flexible SSL
  • Mobile Redirect – If you have a mobile site, then you can enter the settings here.

Security Settings

  • Security profile – Low

Individual security settings

  • Advanced DDoS protection – This is for Business Enterprise plans only.  Useful to note, if you ever are under a DDoS attack.
  • Basic protection level –  Low (although if you have problems with bots or spam, you can raise this).  Edit:  We have since raised this to “Medium” to try and reduce a number of spam comments we have been receiving.
  • Challenge passage TTL – Set to 1 week.
  • E-mail address obfuscation – Select On
  • Server side excludes (SSE) – Select On
  • Browser integrity check – Select Off
  • Hotlink protection – Select Off (unless you have a problem with people embedding your images on their sites directly)
  • Advanced security (Web Application Firewall) – If you have a “Pro Plan” this can help against comment spam and other application insecurities.

Settings Overview

  • Performance profile – Custom settings

Individual performance settings

  • Caching level – Set to Aggressive
  • Minimum expire TTL – Set to 8 Days
  • Auto Minify – If you have W3TC configured for minification turn it off here.  We have found that it runs much slower that if W3 Cache handles it.
  • Rocket Loader – Set to Automatic.
  • Website Preloader – If you have a “Pro Plan” turn this on
  • Mirage 2 – If you have a “Pro Plan” turn this on
  • Polish: image optimization – If you have a “Pro Plan” select “Basic + JPEG.”

CloudFlare Extension

Now you have set up CloudFlare; you can configure the Cloudflare extension so that you can manage the basic functionality and purge the cache without having to log in directly at Cloudflare.com.  To see this extension, you will need to activate the CloudFlare extension under the “Extensions” section, which you can see in the side menu.

cloudflare extension

  • CloudFlare – Enable
  • CloudFlare account email – Enter your email you use with your CloudFlare account
  • API key – Enter your API key
  • Domain – Enter your domain
  • Security level – Select “Low”, unless you are having a problem with spammers bots, in which case you can choose a higher level.
  • Rocket Loader – Select Automatic
  • Minification – If you are using W3TC for your minification ensure this is set to OFF
  • Development mode –  Select OFF

Rocket Loader is what does all the magic with Javascript, by combining and changing the load order.  This has a massive effect on speeding up the load time of your site.  Concerning the security level, we have a great tutorial for dealing with Comment Spam here utilizing Cloudflare security.

While we have given basic settings here for Cloudflare which can be changed within the plugin, you are advised actually to log into the Cloudflare admin area at Cloudflare.com, and adjust your settings to suit.  In particular, we recommend the “Aggressive” performance setting under the Performance tab as this cannot be changed from within the Plugin settings.

Speed Test Results – With Cloudflare

Speed Test Results are coming soon.

Why Your Web Hosting Server Matters!

Having tested many web hosting providers over the past few years (using these settings) it is amazing how much they differ, especially with some of the most bloated themes.  The following are just some factors that you may wish to look out for:

  • SSD Hosting – SSD databases are the most important, but for files as well is nice too.
  • Opcode Caching – This can make a massive difference in speeds for dynamic websites such as WordPress.  APC cache used to be the most popular, but now xCache is taking over due to better support.  This is done via the API, so not quite as good as Server level caching.
  • Varnish Caching – This is one of the best things to have for a fast website, as it will cache your PHP queries at the server level.
  • Memcache – This caches your database queries at the server level.

To some extent the settings we will go through will cache your PHP and database queries, but depending on your settings only to disk.  RAM is much faster than even SSD’s, and if this is done at the server level (rather than opcode caching), you will be stunned at the speeds you can get.

There is only one host we truly recommend at the current time for the fastest speeds possible and has all the power of a RAM based W3 Total cache configuration without needing W3 Total Cache isSiteGround.  You will see that this is our no. 1 recommended host for lots of reasons (such as their developer features, and fast support, etc.), but for speed they use NGINX Caching and Memcache with their custom built SuperCacher technology.  You can read more about that here.  You will want the GrowBig plan, or if the developer features take your fancy the GoGeek Plan.

Update 1st July 2015 – Since Siteground changing their Supercacher from Varnish to NGINX technology, it now works for SSL driven sites, and incorporates full page caching meaning that no W3 Total Cache is required.  You can read more here.

We currently have an exclusive discount for Best Host News Readers, which you will find below (or check all the other Siteground Coupons we offer here):

Other Factors that can effect Load Time

Before we go into the exact settings, we use you need to bear in mind that there are other factors that will affect your page load time.  Removing bloated plugins and scripts (such as bloated social share plugins, google maps), as well as excessive images will also have an influence.  Also, some of those feature-rich themes you see on Themeforest can load many scripts on every page load, even if you are not using that functionality.  The Genesis theme is specifically built for speed.

In addition, using optimized progressive jpeg images can help significantly too.

Having said that, adding W3TC with the correct settings, combined with CloudFlare, can significantly speed up your site and in our experience will decrease load times by over half!

Before you install the plugin, and configure your settings we highly recommend you test the performance of your site via Pingdom Tools. Be sure to select the closest location to your websites audience (Netherlands, New York, Texas), so you can accurately test the change in performance.

Final Thoughts about our W3 Total Cache Settings

The settings above are what we use, and we have demonstrated that they work extremely well by posting our page speed.

If you compare our settings with some of the other tutorials, you will see that they recommend MaxCDN over CloudFlare.  The main reason we do not, is that CloudFlare offers a free plan plus CloudFlare with the Pro version offers some very nice speed optimizations, and as such we prefer it over MaxCDN.  Of course, we have nothing against MaxCDN, so feel free to try that also.

If you try out the settings above and have any questions, please feel free to ask in the comments below.  We will be more than happy to help.

  1. Reply Nauris October 19, 2016 at 3:53 pm

    After update w3 total cache to version, Can’t find the cloudflare section under settings, where can I enable / disable / add api key / account email etc. The cloudflare extension is enabled on w3 total cache. Where it’s hiden ???

    I use your settings maybe one year, everything is working (thank you!), with the new version from w3, dose it need to make some changes?

  2. Reply Adriano Monecchi September 26, 2016 at 7:15 pm

    For WooCommerce websites running on nginx server with fastcgi_cache (or any other caching layer) + W3TC plugin, chances are you might end up with a broken add to cart functionality, or empty cart issues.

    I’ve overcome this my placing wc_session_id to the “Non-persistent groups” option under Object Cache settings. Also placing _wp_session_ and _wc_session_ with along any other important query stems that need to hit a non cached version of it on the database seems to fix most issues with woocommerce and other plugins.

    A widely used WooCommerce companion plugin is the Yith Wishlist. If you see strange behaviors with plugins that uses cookies and other db queries, ask their developer to guide you on how to remove them from your caching scheme. Yith Wishlist was not updating the items added/deleted to/from wishlist. However, after placing yith_wcwl_products to the “Non-persistent groups” option under Object Cache settings the problem was gone.

    I’ve also fine tuned W3TC settings for WooCommerce after reading great articles such as this, so keep making your research, do some debugging and you’ll be able to take the most of WT3C for your website.

  3. Reply Jaring Kata September 22, 2016 at 4:03 am

    I was wߋndering if you еver thought of chаnging the structure off your website?
    Its very well written; I love what youve ggօt to saʏ.
    But mayve you could a little more in the way of conteent
    so people could connect with it better. Youᴠᥱ got an awful lⲟt of text for only having 1
    or twօ images. Maybe yoou could space it out better?

  4. Reply Aleksandar June 14, 2016 at 11:21 am

    CloudFlare minify and Rocket loader are good for websites without banners, really great performance improvements.
    If the website makes money from advertising, and website makes money from advertising, advertisements will be loaded at the end of (asynchronously with the content of the page) so many visitors will not see advertising / klick on banners etc and therefore earnings will be significantly lower.

    This means, if you have advertising on the site, be careful, not very good solution to include Cloudflare auto minify and Rocketloader. But if you have webshop – my strong recommendation.. just check that all working well. Some skripts can be disabled…

    Jonathan, great job here ! Well Done!

  5. Reply طراحی سایت March 2, 2016 at 8:27 am

    Please Inform That if Enable Object Cache is checked may cause very slow or unaccessible admin panel after some times as happened to me. and i have to disable object cache and after that i have no problem with this Great plugin

    TnX for your tutorial too

  6. Reply Jeff February 13, 2016 at 12:17 pm

    Training is mentioned in this ignore this section, Some options are enabled by default.
    Should this option be disabled as well?
    The Advanced Settings – Minify, The options that are active under specified:

    – Enablee: Rewrite URL structure
    If disabled, CSS and JS embeddings will use GET variables instead of “fancy” links.

    – JS:
    Enable: JS minify settings:
    Ticked: Before

    – CSS:
    Enable: CSS minify settings:

    • Reply Jeff February 13, 2016 at 12:20 pm

      Sorry i forgot to mention that Section!

      2.3 Advanced Settings – Minify

      You can ignore this section as we use Cloudflare to carry out all the minification tasks.

  7. Reply mehdi February 8, 2016 at 7:55 pm

    Hello there,

    Thank you soo much for this really helpful guide.
    I realize this is not the, What is the purpose of the “Leave blank” word ?
    The tick to disable it ? Or Have nothing to do with and Default remain ?

    • Reply Jonathan Griffin February 8, 2016 at 7:59 pm

      This should remain blank or disabled.

      • Reply mehdi February 9, 2016 at 9:33 pm

        Training is mentioned in all settings “Prevent caching of objects after settings change – Leave blank”
        By default the plugin settings, This option is Enable/Ticked, Should this option be Disabled/Unticked?
        You offer this option Disabled/Unticked?

  8. Reply Tristian January 26, 2016 at 8:12 pm


    I have just came to your site ;). I am must say it is very informative ;).
    About two weeks ago I set up preload function in W3 total cache but when it started to work it crashed site ( error database connection) because a lot resources of VPS used. Now I have cleaned that mess but I can’t see in preload(W3) function in WordPress Dashboard and frankly don’t know why ????.
    And my second(main) question is how cloudflare knows that is your site set up , as I understand that api key for plugins W3/Cloudflare is only to purge a cache remotely (If I want purge cache myself on cloudflare I don’t need to install any plugins and provide any information in wordpress)? Maybe I something missed.
    Thanks 😉

    • Reply Mitch February 21, 2016 at 1:56 am

      With the cloudflare plugin from wordpress plugins and the cloudflare extension in W3 Total Cache the reason for them both is besides clearing cache is so you server sees the correct IP addresses of your users. If you have Mod_Cloudflare installed on your server you do not need any plugin or extension for cloudflare.

    • Reply Jonathan Griffin January 29, 2016 at 5:04 pm

      I am not sure why you don’t see the cache preload. I am not aware of this issue. However, regard to your cloudflare question you are correct. You don’t need to configure it in W3 Total Cache if you don’t need to manage the cache or settings via the plugin.

  9. Reply Mamdouh January 20, 2016 at 7:30 pm

    Hi Jonathan,

    Thank you soo much for this really helpful guide, I’d got great results but it’s only for front page.
    Product pages are still slow as it was !

    Can you help me please ?

    • Reply Jason January 25, 2016 at 7:06 pm

      Personally I disabled cloudflare it caused too many issues

  10. Reply Fred January 6, 2016 at 9:03 am

    Hi, just wondering which one should we use?
    Autoptimize to minify the css, html and javascript or Cloudflare minify?

    • Reply Jonathan Griffin January 6, 2016 at 9:34 am

      Personally, I would use Cloudflare minification.

      The Rocket Loader in Cloudflare does this with the Javascript particularly well, as well as changes the load order (asynchronously) so as to improve site performance as well.

  11. Reply Patrick December 26, 2015 at 10:25 pm

    Thank you so much ! Awesome tutorial !

  12. Reply Janis December 21, 2015 at 8:14 pm

    I use this settings everything is working, except rocket loader, because some time ago layerslider was not working.
    I have question i’m using siteground starter plan, there under cPanel is ~ static cash (enable), should it stay enable or better disable it?

    • Reply Jonathan Griffin December 21, 2015 at 8:17 pm

      You should enable static cache.

      In addition, I highly recommend you try out the new PHP7 which you can change via the PHP selector in cpanel. You should test it thoroughly though to ensure compatibility.

      • Reply Janis December 21, 2015 at 9:43 pm

        Thanks for advice, I updated to php 7.0.0, site is working, but now on login page it shows this:

        Warning: Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /home/…/public_html/wp-includes/functions.php on line 3459
        how to fix?

        • Janis December 22, 2015 at 12:27 am

          It appears that the plugin is rendering the following warning on your applicaiton dashboard:

          Warning: Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /home/…/public_html/wp-includes/functions.php on line 3459

          The plugins function W3_Plugin_TotalCache::ob_callback() does not seem to be not fully compatible with PHP 7.0. To resolve the warning I simply set the PHP version to 5.6.16, and the warning disapeared. Similar warnings are discussed in the threaders below:




          If you wish to be using PHP 7.0 and for the warning not to appear you can either disable the warnings shown by PHP which is not a recommended appraoch. Or alternatively discuss the matter with professional WordPress developer who can modify your code.

        • Jonathan Griffin December 21, 2015 at 9:50 pm

          I am thinking that since they changed to Nginx from Varnish earlier in the year, that it may be the Static Cache part of the Supercacher conflicting with W3 Total Cache. But Siteground will be able to tell you.

        • Jonathan Griffin December 21, 2015 at 9:46 pm


          Can you speak to Siteground Live-chat support, and explain the steps you have taken. They will fix it very quickly (within 10 minutes), but can you let me know what they say is the cause? (i.e. what the cause of the incompatibility is)

          Thanks, Jonathan

  13. Reply pukander December 7, 2015 at 5:38 pm

    Thanks, for an in-depth article. Im just wondering why I cant finding all the settings in my account. Im using the pro version. (guess the’ve been renamed etc?). Could you update this post to match the current version? 🙂

  14. Reply serena November 1, 2015 at 7:43 am

    this was great! thank you for taking the time not only to suggest which options are best, but also for sharing some explanations.

  15. Reply Dave October 12, 2015 at 6:31 am

    With Sitegorund’s switch to NGINX, you no longer recommend W3TC for use with them. Do all of the above recommended Cloudflare settings still apply, or do some of those settings need tweaking too after this change?

    • Reply JOnathan November 16, 2015 at 1:15 am

      I will be doing a full guide for Siteground after I refresh this W3 Total Cache tutorial (to be finished within the next 4-6 weeks). Ultimately, though, if you choose to use CLoudflare the settings above will work great with SIteground.

  16. Reply Neal Umphred September 23, 2015 at 2:50 pm


    Thanks for the instructions above, but I am confused:

    1) I have CloudFlare through HostMonster, and I have the CloudFlare plugin. Do I need the latter?

    2) Where do I find the settings you list above as “5 Setting Up CloudFlare”? They are not on W3 nor are they on my CloudFlare.com account page.


    NEAL U

  17. Reply Lawal September 12, 2015 at 6:23 am

    I really appreciate your tut. I got great speed test immediately after completion of the settings combining w3 total with clouflare free plan, but I notice that the whole speed went down the following day when I clicked on Empty Cache on my wordpress dashboard. What happened was that normally, when a plugin is updated, W3 total will suggest you empty cache using a button, so I noticed that the problem I’m facing now started immediately I clicked on empty cache on my dashboard. I am not only having speed or load time problem now but also that my site is displaying old posts as my update. all the recent post I have made in the last weeks are not found on my site. What should I do?
    Thank you so much.

    • Reply Jonathan September 14, 2015 at 10:09 am

      It can take time for the cache to build up, and that it was makes your site fast. When you empty your cache it has to start building the cache all over again, and as such it is normal for the speed to reduce a little.

      If you have cleared the cache all your posts should be visible. I am not sure why you are not seeing your old posts. Can you access the old posts from within the admin area?

  18. Reply Vivian July 11, 2015 at 12:41 pm

    Very informative post. Now i am able to load my websites at a lightening speed even on slower free hosting servers. Thank you very much.

  19. Reply Sam July 5, 2015 at 3:50 pm

    Hello, On phpinfo , I can see xcache is running. But in W3TC , I can not choose any opcode as it gray out. and i contact with Dreamhost as my hosting. and their answer as below

    Unfortunately, W3Total Cache is a 3rd party add on. It is not something that we would support or troubleshoot directly 🙁

    As well, the fact that using phpinfo.php shows Xcache as working, indicates that it is working as expected on the server 🙂

    What I suggest is that you ask for help from the developers of W3 Total Cache with their plugin settings.

    And in w3tc support forum has no answer for more than a week. please help

    Thank you

    • Reply Jonathan July 10, 2015 at 4:10 pm

      W3 Total Cache will not be able to help directly. Can you link your phpinfo.php file so I can take a look? (it will get caught in the spam filter, but I will see it).

  20. Reply Neal July 4, 2015 at 8:06 pm


    I installed the W3 Total Cache plugin last year using another site’s recommendations for enabling and disabling.

    I now have CloudFlare, and I am now using your excellent set of instructions here. So, should my W3 General options on the CDN page be ticked or empty?

    Thank you for this great service!


    • Reply Jonathan July 10, 2015 at 4:08 pm

      There is a Cloudflare extension under the extensions section (rather than under the CDN section) that you can complete. Personally I do not bother, and manage Cloudflare via the Cloudflare site. Sorry for the delay in responding.

  21. Reply Nauris June 9, 2015 at 7:45 am

    Hey Jonathan, i use all your x3 settings + cloudflare CDN, except I disable DB and object cache.
    I have one problem, maybe you know how to fix it? For some pages widgets not loading with first time, if i refresh those pages then it shows properly..
    widgets: blog posts, facebook, google map..
    is there some fix?

    • Reply Jonathan June 9, 2015 at 4:49 pm

      Actually, managed to reproduce what you mean.

      Try disabling Rocket Loader, and if that doesn’t work js minification in cloudflare. Please let me know if that works.

      • Reply Nauris June 9, 2015 at 6:02 pm

        I clear browser cache all the time 😀
        Disabled Rocket Loader on w3 cloudflare settings and now all seems to working on all browsers 🙂 Thank you Jonathan! 🙂 but now site is a bit slower ;/
        There was some plugin that loads images only when you scroll a page, but can’t remember what the name of the plugin. Is it worth to instal the plugin and will it increase a site speed?

        • Jonathan June 9, 2015 at 6:24 pm

          I personally use Cloudflare Pro for Lazy Loading images. Unfortunately, some of my own site’s functionality is not compatible with Rocket Loader so I don’t use it myself. Cloudflare Pro is about half the price with SiteGround (bought directly from SiteGround) and you get Cloudflare Railgun as well which is better. You also get RAM based Object Database caching.

          I think if you search in WordPress plugins for Lazyload or lazy image loading you will find something as well.

    • Reply Jonathan June 9, 2015 at 4:46 pm

      Seems to work fine for me. Try clearing your browser cache.

    • Reply Nauris June 9, 2015 at 9:44 am

      i noticed now, that this problem is with google chrome/firefox browser, with safari all is working.. how to fix this?

      • Reply Jonathan June 9, 2015 at 9:56 am

        What is your URL?

        • Nauris June 9, 2015 at 4:14 pm

          on contact us page always with first time google map, blog post and facebook likes not loading (widgets), this happens also with E-Liquid, vaporever e-liquid, Electronic Cigarettes, Tanks, Atomizers pages – blog post and facebook likes not loading (widgets)

  22. Reply Berlin May 17, 2015 at 2:19 am

    I got to say your tutorial is the best from the entire internet. I spend hours trying to look for a good tutorial about installing W3 Total Cache + Cloudflare and MAXCDN.

    I follow all your steps for this matter, and i just want to say that my website now loads faster, but i think i can achieve more, for now i can get 3.9s according to GTMetrix.

    I have a cloud server with Siteground, and for some reason i keep thinking that i should be more faster than 3.9s.

    FYI: I installed W3 Total Cache, Cloudflare and MaxCDN. but this last one i use another plugin instead of W3, it was making errors like crazy. Also i have a https:// so what can i do for making my website even faster?

    Great tutorial!!

    • Reply Jonathan May 17, 2015 at 8:53 am

      I have looked at your site, and the page size is a little large. I would suggest optimizing your images and a plugin I use is kraken.io, although this is $5 per month.

      As for your speed I wouldn’t worry about that. When looking at Pingdom tools all the page loading assets load very fast, and it is just one file that is skewing the speed results, and is not needed to render the page. This is what I call a false negative. Look at pingdom tools speed test and the watefall tab, and you will see what I mean. Certainly when browsing from the UK it was very fast.

      Just one thing, with Siteground cloud, I am finding not using their supercacher at all works best with Https (this site is hosted on their Cloud – 3 cpu, 4GB RAM). I am in similar position to you, and many of the technologies hosts use don’t work with https. By far though, with my W3 Total Cache settings, AND cloudflare Railgun like I see you are using work the best. WIth Siteground their Cloudflare Pro plan is about half the price than signing up directly, and that is what I use. There are talks of mobile speed rankings coming soon, and the Pro plan will serve images differently for mobiles to make it much faster. For this reason I recently stopped using Maxcdn with cloudflare. I am currently seeing whether I prefer this configuration, so I am not going to say it is better this way just yet.

  23. Reply James April 29, 2015 at 2:16 pm

    Hello, your tuto really helped me, thanks. Now my speed test is 93 (before it was 87)!
    The only problem I have: my site in not mobile friendly and I want to install wptouch plugin. Do you know what are the settings to make wptouch, W3 TC and cloudlfare working together? I use auto-minify with Cloudflare.

    • Reply Jonathan April 29, 2015 at 2:37 pm

      I believe with WPtouch you have to exclude certain user agents from being cached, although I have not tried it out myself. I understand when you install WPtouch it will provide you with warnings to prompt you to make the necessary changes.

      • Reply JAMES April 29, 2015 at 8:26 pm

        working fine now, it was a robots.txt problem.
        thank you again for the help,
        feel free to delete my 2 replies

      • Reply JAMES April 29, 2015 at 5:52 pm

        it’s not working, maybe because I use cloudflare minify/cdn…seems that a lot of people have problems with wptouch and caching

  24. Reply rudi April 29, 2015 at 9:47 am

    Nice tutorial and i’m set it to my site.
    another question, how to setting cloudflare webdisk ? my site have some video self host so i think i need to cloud it. on cloudflare setting via cpanel its not active for the webdisk its need to run on cloudflare and need some aditional seting. can you give some advise >

    • Reply Jonathan April 29, 2015 at 10:21 am

      That is not possible I am afraid.

  25. Reply Fadil April 26, 2015 at 9:36 am

    Hi, very good tutorial. I also use siteground as my host.
    One question, Why you don’t use ‘memcached’ as cache method? I’m on GrowBig plan and there is memcached option in supercacher.
    I found this found this article http://www.ruchirablog.com/intergrating-memcached-to-wordpress/
    and w3tc’s compatibility check detected memcache installed.

    Would you give it a test and add it to your post?


    • Reply Jonathan April 26, 2015 at 10:51 am

      Yes, if you read our tutorial closely we recommend using Siteground’s supercacher for the object and database cache. As that uses RAM based Varnish and Memcached to deliver the files faster from Memory.

      If you try to configure memcached directly within W3TC you will find that it cannot find the memcached server even though it shows as being available. No matter though, as Sitegrounds supercacher plugin automatically configures all that bit for you. You still need the other settings in W3TC though.

      Just disable object and database caching in W3TC if you are using Siteground, and use the Supercacher instead.

  26. Reply Nauris April 25, 2015 at 8:34 am

    Hey Johnatan, i use all your x3 settings, except I disable DB and object cache, after update woocommerce to 2.3.8 and wordpress to 4.2, my shopping cart not working properly, can’t remove products from shopping cart, i think there is some conflict with w3 cache..
    Maybe you know how to fix it, thanks in advance!

    • Reply Jonathan April 25, 2015 at 10:57 am

      Did you follow these instructions for Woocommerce:

      If you are running Woo-Commerce with the plugin then you should add the following to the Ignored Query Stems section:


      In addition, your Cart pages in woo commerce should not be cached. Woocommerce should now automatically configure your install to do this. If it doesnt, because it sounds like it is caching your cart I highly recommend checking with Woocommerce.

    • Reply Nauris April 25, 2015 at 10:42 am

      For one language it works for second not, or it can be problem with wpml?

  27. Reply 3dmax farsi April 24, 2015 at 5:57 pm

    Excellent tutorials, as always …

  28. Reply Mario April 20, 2015 at 3:37 pm

    Hello, which settings do you suggest for Database Cache and Object Cache using a StartUp SiteGround plan? I have only Varnish Static Cache.

    • Reply Jonathan April 20, 2015 at 4:40 pm

      You can use the settings above, exactly as the import file as you will need object and database cache enabled.

      • Reply Mario April 21, 2015 at 4:29 pm

        Thanks for your answer. Anyway, I’ve ready from many sites it’s advised not to use database and object cache because the database is usually hosted on a slower server (HDD) than you site (SSD).

        Also, is there any performance improvement in adding Page Rules like this: https://onlinemediamasters.com/wp-content/uploads/2013/06/CloudFlare-Page-Rules-e1427293310763.png ?

        • Jonathan April 21, 2015 at 5:28 pm

          With regard to Object and Database cache, this may be relevant on “some hosts”, but we have found no issue on some of the hosts that this recommendation might apply to. Basically some hosts don’t want you to use it as it uses up more resources. However, any “decent” host will have no issue. If you do, I highly recommend you see an alternative hosting company, because quite frankly we have never had any issue with this.

          Ok, in that image link I see 3 cloudflare rules. The first two relate to the wp-admin and the preview page respectively basically not caching via cloudflare any pages as a result in the WordPress admin area or preview area. I don’t think this is necessary in most cases, but equally it can be a good idea in some circumstances to prevent pages that may change from being cached whilst your are developing the draft post for example.

          The final one relates to the Browser cache TTL, and this is not really required as you can just set the main cloudflare settings to the required level settings instead of this at that particular rule effects the whole domain. Therefore, no, you would see no improvement including those page rules.

  29. Reply Christian April 10, 2015 at 9:52 pm

    Jonathan, great great job, thank you for share this information really appreciate your time and tests you made, i had looking information like this, because my site loads very slow, and this was very helpful, Thanks Jonathan.

    Best Regards

  30. Reply Nauris April 10, 2015 at 5:55 pm

    Before i import w3 file, i completely remove wp super cache, tested my site all was working, imported w3 config file, add my xml sitemap url, add cloudflare information, and again 404 error only for product category in english, latvian language is working, where can be the problem? If any one know please let me know…

    • Reply Nauris April 11, 2015 at 8:01 am

      it seems like the problem is with permalinks, when i re-seved permalinks on bouth languages (latvian, english) it starts working, but after some time the problem is again, is there a way to re-save this permalinks automatically every hour? Maybe this will fix the problem..

      • Reply Jonathan April 11, 2015 at 4:41 pm

        It might be worth getting in touch with your host and explaining the issue. I am not sure I can be of much help here, as they would need to look more closely at what is happening.

        • Nauris April 12, 2015 at 11:26 am

          thank you Jonathan, i have bluehost and found that for recomend settings for w3 is to disable DB / object cache… 🙁 now all is working, bet the page load speed on gtmetrix is slower 🙁

        • Jonathan April 13, 2015 at 8:24 pm

          That is surprising. I have actually tested these settings on a Bluehost account and the results were quite good. That was about 4 or 5 months ago though, so maybe I need to test again.

  31. Reply Nauris April 8, 2015 at 9:06 pm

    I uninstall and moved back to wp super cache because of the 404 erro :@, now my site is not so fast..
    Jonathan maybe you have “import configuration file” to import settings to w3 total cache ( of course without your cloudflare information 🙂 ) I’d try again, maybe this time it will work..

    • Reply Jonathan April 9, 2015 at 5:30 pm

      I have just added the file which you can import to the tutorial.

      • Reply Nauris April 9, 2015 at 10:18 pm

        i downloaded but this file is empty… i have only option when i right click the button ”save link as” that’s the right file ?

        • Jonathan April 10, 2015 at 12:07 am

          Hmmm. you are correct. I will fix this tomorrow. Sorry about that. Very strange.

      • Reply Nauris April 9, 2015 at 9:53 pm

        I tweet this tutorial on twitter, when i press this download button, it opens a blank empty page, there is no file, can you send me to email?

        • Nauris April 9, 2015 at 9:58 pm

          lol 😀 sorry about that, downloaded 🙂
          thank you, hope this time it works..

  32. Reply Nauris April 8, 2015 at 9:20 am

    don’t know i untick everything and then deactivate all was working, enable again in preview mode the same problem

  33. Reply Nauris April 7, 2015 at 9:16 am

    yesterday i clear all cache in w3, re-saved permalinks, wait some minutes to w3 preload the cache (w3 preload cache automatically? ) go trough my site all seems to working, now i check again 404 error for english language only for product categories (Premium E-Liquid / Electronic Cigarettes / Accessories – Tanks – Atomizers )
    Any idea why it’s happening?

  34. Reply Nauris April 7, 2015 at 9:16 am

    website vapors24.com

  35. Reply Nauris April 6, 2015 at 1:08 pm

    Thank you JONATHAN for tutorial, now my site runs much faster, but now i have problem with 404 error… Did exactly like in tutorial, after i i get 404 error on pages/post/categories, how fix this problem? did i miss somthing? when i clear browser(chrome) cache, go to my site, refresh some times on both languages it start working, and so every time 🙁

    • Reply Jonathan April 6, 2015 at 7:56 pm

      Have you tried re-saving your permalinks?

      • Reply Nauris April 6, 2015 at 8:12 pm

        Thank you for your reply, i search on google and also found this method, Got to Admin (WordPress) -> Settings -> Permalinks, and just press Save Changes without modifying anything. For some hours it works, now I check this 404 error is back, when i change language to english ( my default is latvian) then for product categories when i open it shows 404 error, but when i refresh one time this product category page its working. I also have have seo yoast plugin and xml sitemap enable (the problem should not be there?)

        • Jonathan April 7, 2015 at 8:49 pm

          I got your website Url. I am not sure this has anything to do with W3 total cache. I would disable all w3 total cache functionality from within the settings (general tab – > untick everything), and then deactivate.

          Then test again.

          On another note, your website page is very large. You should optimize your images. I would recommend either the smush.it plugin or the kraken.io plugin.

        • jonathan April 6, 2015 at 11:26 pm

          Can you let me know your website URL. The comment won’t post, as it will get caught in spam filter but I will still see it.

  36. Reply vapors24 April 2, 2015 at 9:58 pm

    Thank you very much for great tutorial, i have some problems, when i change language, or when some post a comment, when i try to open some category or page it shows 404 error, sometimes when i refresh multiple times it starts working. Please how to fix what i need to enable or disable in w3 or what? Thank you in advance

    • Reply vapors24 April 2, 2015 at 10:12 pm

      and also this erro 404 is on blog posts

  37. Reply Aldis April 1, 2015 at 10:29 am

    Can’t users login to my site, it redirects to http://example.com/wp-login.php , with this message “ERROR: Cookies are blocked or not supported by your browser. You must first enable cookies to use WordPress.” when i type again my site example.com it shows its loged in. Before w3 total cache all was working. How to fix this problem?
    Thank you in advance

  38. Reply Lisa March 6, 2015 at 8:46 pm

    What are your current recommendations re: minification: CloudFlare or W3TC ?

    Your text is contradictory:

    under General Settings: minify: you recommend Cloudflare.

    Then in 2.3 Advanced Settings: Minify, you say “You can test the performance of dealing with minification via CloudFlare (CloudFlare can do all this as well), although our experience is that CloudFlare works much faster (significantly) when it doesn’t deal with this.”

    Then in 2.6 Advanced Settings – Browser Cache, you say you’re ignoring CSS & JS minification in W3TC again.

    Thanks for clarifying if you can.

    • Reply Jonathan Griffin March 6, 2015 at 9:20 pm


      I am currently in the process of updating this article, so apologies for the discrepency. I currently recommend Cloudflare to do all your minification, and leave it disabled wihtin W3 Total Cache.



      • Reply Lisa March 6, 2015 at 10:54 pm

        Awesome – thanks for the clarification, and also thank you VERY MUCH for such a great article!

  39. Reply Vatsan Sarathy February 12, 2015 at 7:19 am

    Thanks for the incredible detailed and useful article.

    I have a question with regard to your Siteground GoGeek set up. You mention that you are running SuperCacher and W3 Total Cache together.

    Siteground specifically states that you don’t need any other caching plugin.

    I have set up W3 and Cloudflare according to your recommendations, please let me know how to get SuperCacher into the picture to leverage the 3 levels of caching properly.

    Do I turn off the Static Varnish in SuperCacher, or do I run all 3 levels on SuperCacher?

    Thanks in advance.

    • Reply Jonathan Griffin February 12, 2015 at 10:42 am

      With Siteground I recommend just implementing browser cache, and page cache. Disable object and database cache as these will be dealt with by the supercacher.

      Note that it can take a day or so for all the cache to build. You should use all 3 levels of the supercacher.



      • Reply Vatsan Sarathy February 13, 2015 at 7:48 am

        So, here is how it should be configured:

        W3TC: Minify, Browser Cache and Page Cache
        Supercacher: All 3 levels
        Cloudflare: No minification, but everything else thrown in.

        Thanks again for the quick response.

  40. Reply shahjahan khokher February 12, 2015 at 3:27 am

    I am also having this error
    “Unable to get current development mode status – Invalid token or email”
    Your settings do not make development mode on, then what should i do for this?

  41. Reply shahjahan khokher February 12, 2015 at 3:19 am

    Really nice !! I’ve tried these above settings on my website www. latestjobsin com . My question is this do we need to add cloudflare plugin in our wordpress or just have to do setting on cloudflare account?

    • Reply Jonathan Griffin February 12, 2015 at 10:43 am

      I personally, do not have any cloudflare plugin active and manage cloudflare directly via the cloudflare.com admin panel.

  42. Reply Adlez February 1, 2015 at 4:50 pm

    Just wanted to thank you guys for this great article. I’ve been having problems with W3 total cache and cloudflare for over a year now and it’d frustrated me to a point where I would just disable them both.
    Thanks to your article my site is blazing fast and everything looks fine.
    Keep up the great work,

  43. Reply Micah January 30, 2015 at 8:20 pm

    This is great stuff! Thanks.

  44. Reply Faiz January 30, 2015 at 10:16 am

    after activation this plugin on my site factorypk i am unable to upload imgs from my web based user panel. Please help.Imgs are not uploading 🙁

    • Reply Jonathan Griffin January 30, 2015 at 4:52 pm

      I am not aware that this plugin would affect the ability to upload images. Have you contacted your web host? Are you using any other plugins that might be conflicting with w3 total cache?

      • Reply Faiz February 3, 2015 at 9:55 am

        Hello dear. waiting for your reply please guide me i am stuked with W# Totle Cache.

        • Jonathan Griffin February 5, 2015 at 1:54 pm

          Those plugins look ok to me, but I would need to see your website to check.

          Can you provide your website url. You can provide it in a ticket reply, but it will go to moderation, so although it won’t show up, I will see the comment with the link in.

        • Faiz February 9, 2015 at 6:29 am

          my web is factorypk(dot)com please look into the matter as suggest

      • Reply Faiz January 31, 2015 at 9:51 am

        i am using these plugins. Please let me know if your found any of them may conflicting
        HH sortable ID columns
        iThemes Security
        Jetpack by WordPress.com
        PC Hide Pages
        UpdraftPlus – Backup/Restore
        WordPress SEO
        I would like to listen if any of them is unnecessary or should be not in the list as i am new WP user have no much idea. One more thing after network deactivate W3TC … my imgs uploding fine. waiting for your reply

  45. Reply Alex January 29, 2015 at 6:57 pm

    Just set up CloudFlare. gtmetrix.com results for goringeaccountants . co . uk

    Before = 6.13 secs, 2MB, 111 requests

    After = 2.74 secs, 1.16MB, 56 requests

    I can thereby confirm that this is indeed ‘magic’.

  46. Reply Portalpower January 18, 2015 at 4:07 am

    Congratulations tutorial, I never saw my website so fast!

    You can not imagine how happy I am, hugs!

    Below my test!


  47. Reply stephanie January 16, 2015 at 6:15 am

    You are a LIFESAVER!! Thank you for simplifying this dizzying process! x

  48. Reply Rup fox January 6, 2015 at 3:03 pm

    Awesome tutorial, I’m on Siteground’s “go geek” planand tried to follow this tutorial. But when I click “enable page cache” it doesn’t save that setting and the box is left unchecked. Is that because THE GO GEEK plan already comes with the varnish caching of super cacher? Also, how were you able to save the cloudflare api settngs with low security? If I do that i get an error “unable to make cloudflare api request” and I have to set it to high for it to work, but then if I try to enable page cache from w3 total cache again I get the same cloudflare error and the page cache stays unselected. Any tips?

  49. Reply Paul December 2, 2014 at 2:03 pm

    Excellent guide, helped me a lot to set up everything, thanks.

  50. Reply pjc123 November 28, 2014 at 5:50 pm

    Great writeup. I must say that there was a very noticeable improvement in the speed of my site with these setting changes; I definitely never saw load times below a second before (tested with both webpagetest and pingdom). This is also the first time I ever received grade “A”‘s across the board when using webpagetest to test my website.

    Hopefully it isn’t because everyone is physically shopping for Black Friday and staying off the Internet!

  51. Reply Justin Barracosa November 26, 2014 at 4:31 am

    Fantastic article, incredibly helpful and straightforward. I’ve been able to speed up my two sites.

    Thank you sir.

    One question, perhaps you would be so kind to clarify for me?
    There were a few examples of the following issue i came across:

    2.10 Advanced Settings – Monitoring
    Your guide tells us to “Ignore all.”

    If we click on “Monitoring” there are a few things already ticked by default.

    Does “Ignore all” mean everything within should be inactive?
    I went through those sections (there are a couple others) and unchecked things that were checked.

    2.9 Advanced Settings – CDN also asks us to “ignore all.” It also had several things checked by default. I also unchecked those settings.

    Can you confirm if this is what was meant by “ignore all” and what you did in those sections?

    Thanks so much! 🙂

    Justin Barracosa

  52. Reply tarek ahmed November 22, 2014 at 8:37 pm

    i used above settings for my wordpress w3tc plugin and clouflare but still my page takes 10/12 seconds to load. in whole process one thing i didnt do acording to your tutorial, in browser cache settings i had to disabled “Set expires header” in all places. because if i tick mark that option my site gives 500 internal server error, which i posted on ur blog. so i had to go without that option. could you please take a look on my site why im getting that much time on loading?

    site link i have sent to your email.

    one thing i must also add, even after deleting my browser cache when i go to my site it loads quite faster. not less then ~2sec but within ~4/5. but in pingdom test or on other machines it takes 10/12 sec. on mobile the condition is even worst.

    i really appreciate your help.

    • Reply Jonathan Griffin November 25, 2014 at 1:44 pm

      I never received the link via email. Can you resend to jonathan @ besthostnews.com please.

  53. Reply Tarek November 21, 2014 at 9:21 pm

    i was following your tutorial and went fine until 2.3 Advance Setting > Browser cache

    i cant remember but any part of modify css & js part my site crashes. now always getting 500 internal server error. after i googled with the issue i discover its the .htaccess file then i remove and my site works again.

    i have stoped the w3tc installing process, i believe i should fix the htaccess file issue then proceed with other modification as per your tutorial

    what i get from my .htaccess file many lines of codes added and i believe its for w3tc settings, and at the bottom part im getting this part.

    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTPS} =on
    RewriteRule .* – [E=W3TC_SSL:_ssl]
    RewriteCond %{SERVER_PORT} =443
    RewriteRule .* – [E=W3TC_SSL:_ssl]
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteRule .* – [E=W3TC_ENC:_gzip]
    RewriteCond %{HTTP_COOKIE} w3tc_preview [NC]
    RewriteRule .* – [E=W3TC_PREVIEW:_preview]
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} =””
    RewriteCond %{REQUEST_URI} /$
    RewriteCond %{HTTP_COOKIE} !(comment_author|wp-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
    RewriteCond “%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}” -f
    RewriteRule .* “/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}” [L]

    # END W3TC Page Cache core

    could you please tell me what should i do to bring back my site and should i proccess without .htaccess file?

    • Reply Jonathan Griffin November 21, 2014 at 9:34 pm

      What I suggest is that you remove the W3TC plugin and start again. You will need to login via FTP, or the file manager in cpanel or something and carry out the following actions:

      NOTE – Take a backup of your .htaccess file first. It looks like you have a comment spam plugin installed, so you may need to reinstall that.

      1. Edit the .htaccess file and delete everything (or the parts between the W3TC comment tags) and add:

      # BEGIN WordPress

      RewriteEngine On
      RewriteBase /
      RewriteRule ^index.php$ – [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]

      # END WordPress

      2. Remove the following filesfolders:

      That should hopefully fix it. But as I have not seen your full .htaccess or anything you will need to use your best judgment with the .htaccess file.

  54. Reply eran November 21, 2014 at 9:41 am

    i have siteground, and enabled CloudFlare from inside the cPanel. i also use W3 Total Cache.
    i enable cloudflare on W3tc as well, but for example i want to change the “Security profile – Low”
    i should do it in the cPanel as well in the W3tc plugin? or only at one place?

    similar Q about the Rocket Loader, if i put it on Automatic on W3tc plugin i should put it on automatic inside my account on CloudFlare website?

    thanks!! great tutorial!

    • Reply Jonathan Griffin November 21, 2014 at 12:25 pm

      You should only need to do it in one place. Personally, I like to do all my Cloudflare configuration via the cloudflare website.

      If you installed Cloudflare via cPanel you will find that not all options are available within the cPanel interface. In particular it sets Cloudflare to CDN only as default, and you actually need to log into the Cloudflare.com site in order to change that to Aggressive optimizations.

      The settings within the W3TC should be linked with the Cloudflare website, so you only need to make the changes once.

  55. Reply Tarek November 16, 2014 at 11:12 am

    Hello mate,
    should i choose Page cache method – Select “Disk: Enhanced”. even when im choosing “Opcode: Alternative PHP cache” for others like Minify, Database Cache etc??

    nice tutorial by the way, ill will test and give feedback

    • Reply Jonathan Griffin November 16, 2014 at 11:32 am

      You should just use APC caching for Database and Object Caching.

  56. Reply tarek November 15, 2014 at 9:12 am

    its a nice tutorial and really helpful.

    im having some issue with opcode : alternative PHP cache. i would really appreciate if u could help me.

    im running ubuntu 14.04 with apache. PHP Version 5.5.9-1ubuntu4.5
    using digital ocean as hosting.

    i have installed opcode successfully but still in w3tc it says not installed. therefor can choose only disk method for caching. all opcode options are grayed out.

    from my info.php i can see opcode is running

    Zend OPcache
    Opcode Caching : Up and Running
    Optimization: Enabled
    Startup: OK
    Shared memory model: mmap
    Cache hits: 59075
    Cache misses: 412
    Used memory: 34051344
    Free memory: 33057520

    i contacted with my hosting they says its installed on server. cant understand where is the problem actually. after i googled i found opcode not run in php 5.5. so do i have to proceed with disk option only?

    thanks again


    • Reply Jonathan Griffin November 15, 2014 at 11:32 am

      Hi, Yes you will need to downgrade your PHP version for this to work.

      HOwever, seeing as you are with digital ocean, check out their tutorials on Nginx or nginx as a reverse proxy. You will find that even better!

      • Reply Tarek November 16, 2014 at 11:17 am

        Hello, brother,
        somehow i m managed enable opcode for my server. now from w3tc i can choose opcode as a caching method. but in my info.php now i see apc status like this

        APC support: Emulated

        APCu Support: enabled
        Version: 4.0.2
        APCu Debugging: Disabled
        MMAP Support: Enabled
        MMAP File Mask: no value
        Serialization Support: php, eval
        Revision: $Revision: 328290 $
        Build Date: Feb 19 2014 09:18:08

        is it normal?

        • Jonathan Griffin November 16, 2014 at 11:39 am

          If you can select it within W3TC then it should be ok. Just need to test it now!

  57. Reply Fabian November 7, 2014 at 1:35 am

    Thanks for this! This was fantastic in detail!

    Question: Will you keep this updated? How will we know if updates are made to your guide?

    Thanks again!!!!

    • Reply Jonathan November 7, 2014 at 1:43 am


      I hope to review it again in the next couple of weeks, to make sure it is all up to date.



  58. Reply Marco October 24, 2014 at 10:16 pm

    What to do if your hosting party also offers a CDN?
    Now I use the CDN of my host, W3 Total Cache and Cloudflare.
    How do I combine them?

    • Reply Jonathan Griffin October 25, 2014 at 11:14 am

      You only need one CDN active. What CDN does your host use? Who is your host?

  59. Reply Vasil October 21, 2014 at 8:03 pm

    Hi after setting up W3 Total Cache setting like your guide, for some reason when i login to my wp on chrome it take up to 5min and it not openine fully my dashboard, on mozilla is loading fully in 10sek, and my site after login if i open it on chrome it takes like 20sek to refresh or open, on mozilla like 10sek, can u give me suggestion why is that? im new user on wordpress btw

  60. Reply Andita Sely Bestoro October 10, 2014 at 10:28 pm

    Hi Jonathan,

    Already subsribe your site and especially this page 🙂
    Btw, I see this site using NetDNA (MaxCDN) as your CDN . So, Are you still using Cloudflare Pro? Or you combine it together?


    • Reply Jonathan Griffin October 10, 2014 at 10:34 pm


      Yes I use maxCDN as when I went to use an EV SSL certificate it was not compatible with Cloudflare unless you pay $200 pm. TBH, I preferred CLoudflare, but MaxCDN is pretty good too, just doesn’t have alot of the advanced optimizations 🙁 Its a very recent change.

  61. Reply Mike September 19, 2014 at 2:00 pm

    Thanks for this guide. I managed to trim a 1.5MB site load down to 950ms, which is pretty damned impressive!

    I do have one question though… Using all of the recommended minification settings here resulted in PageSpeed Insights complaining that a bunch of stuff wasn’t minified and it broke a tabbed table plugin that we were using.

    As a test I left minification turned on in W3 but also enabled full optimisations in CloudFlare. While I was expecting the site to break completely it actually shaved another 54ms off the load time, bumped the PageSpeed score up a little and magically fixed the broken plugin!

    I’m assuming you can’t foresee any particular issue with leaving both turned on? (Though as W3 ties in to CloudFlare and can read its settings, it could be that it’s intelligently disabling its own minification for those items)

    Still, either way I’m seeing better performance with W3 and CloudFlare combined than with either alone, so thanks again!

    • Reply Jonathan Griffin September 19, 2014 at 2:15 pm

      There is no problem with having both turned on. Because many themes and websites are different, it can often be the case that a few tests of slightly different configurations are required. Glad our W3 Total Cache Tutorial was of help!

      • Reply Mike September 19, 2014 at 3:14 pm

        Looks like I answered my own question: W3 actively disables minification if you’re using the CloudFlare version. I only noticed when I was trying out some tweaks, attempting to up the PageSpeed score a little more.

        I guess you could force both by disabling the CloudFlare extension but I’m happy with the current results.

        • Jonathan Griffin September 19, 2014 at 3:25 pm

          Yes, we have disabled the cloudflare extension on occasion, but ultimately I prefer the cloudflare minification. With the minification it is more a matter of trial and error to see what works best.

  62. Reply Priyanka Beswal September 17, 2014 at 7:23 am


    Thank you for a great tutorial!!

    I have followed the steps on using cloud fare and w3 total cache, however my site is still really slow. The load time is 11.94s. I am quite new to this, I have built my site on wordpress using a theme – I have very few plugins. Any help would be really appreciated!

    Thank you in advance 🙂


  63. Reply Wim September 11, 2014 at 5:40 am

    Thanks Jonathan. I’m on site ground GoGeek using cloud flare pro and MaxCDN. My load time is still around 4 seconds with these W3TC settings (although I use a lot of pictures I know). Any ideas on how to get it lower?

  64. Reply 3dmax vray September 8, 2014 at 4:41 pm


  65. Reply rabin September 6, 2014 at 5:41 pm

    Thanks for complete tutorial. Let me apply these settings in my website and let’s see if anything changes.

  66. Reply sampheap August 18, 2014 at 1:05 pm

    As you disable HTML minify, why didn’t you recommend enabling it in Cloudflare?

  67. Reply Jesse August 1, 2014 at 9:38 am

    Hi my W3TC plugin keeps saying this :

    – Recently an error occurred while creating the CSS / JS minify cache: GET[‘f’] param part invalid: “”.

    Even though, I disabled CSS and JS minify, it still shows the same error.

    • Reply Jonathan Griffin August 2, 2014 at 4:30 pm

      Apologies for the delay in responding. I am unsure what this relates to, although I do see it is a bug that goes back at least 3 years. I would suggest deleting the plugin and try reinstalling.

      • Reply Jesse August 3, 2014 at 7:15 am

        Hi Jonathan,

        Thank you for your reply, for now the error has disappeared but currently Ihave moved my site onto Bluehost VPS but unfortunately I see a much slower page loading speed compared to when I was using Bluehost shared hosting plan.

        As I can see that your VPS-hosted site loads really fast, so was there anything else that you configured further on your VPS to achieve those result?

        • Jonathan Griffin August 3, 2014 at 10:28 am


          Can you send your website url to jonathan @ besthostnews.com please.

          As regards the VPS, all a VPS does is give more resources. If you have Root access, it can be configured to be pretty fast, but you will need some knowledge to do this. It is not necessarily faster, and in many cases can be much slower. The reason is, is that it won’t have all the optimizations that a host would have made to its shared hosting product. I think from when I last tested Bluehost, their shared hosting was pretty good compared to most other major brands.

          Also, please note that whilst I used to use a VPS, I now use Wh Geeks hosting, which is based on Nginx (pronounced Engine X). In addition my theme is highly optimised, with very few plugins and other things that generally slow down a website. But send me you website URL and I will let you know where you might be going wrong.



  68. Reply Vik July 31, 2014 at 5:00 pm

    I have a WP site on SiteGround with Cloudflare. I’ve followed the guide, and my page load time is a baffling 6.56 seconds with a page size of just 680k. (About the same as it was before I followed the guide.) I would be very grateful for your advice!

    • Reply Jonathan Griffin July 31, 2014 at 5:01 pm

      Can you send me a link to your domain? Email to jonathan @ besthostnews.com.

  69. Reply Phil July 29, 2014 at 8:15 pm

    Firstly I want to say thank you so much for putting this together. Very informative and helpful.
    You have sped up my site by 300-500%!!

    2 questions though:
    – 2.4 Advanced Settings – Database Cache
    – 2.5 Advanced Settings – Object Cache

    For both the lifetime of cache objects is it really 180 seconds or 1800 seconds? 180 seemed short but I wouldn’t know.

    …and second question…

    When I try to setup the settings for the database cache and click ‘save” I get this message:
    “The Database add-in file db.php is not a W3 Total Cache drop-in. Remove it or disable Database Caching.”

    There is a “Remove it for me” option that pops up. Should I click that?
    I’m scared I might delete the database or something.

    Thanks in advance.

    • Reply Jonathan Griffin July 30, 2014 at 2:35 pm

      Removing the add-in file should not harm your site. However, I don’t really understand why it is asking you to do this. But certainly, it won’t delete your database or anything like that. So feel free to proceed.

      As for the low cache times on Database and Object Cache… because the content is more likely to change more frequently the time needs to be lower. This is fine.

      • Reply Phil August 1, 2014 at 2:37 am

        Thanks for the reply, one last one.

        In the cloud flare setup:

        “Auto Minify – If you have W3 Total Cache configured for minification turn it off here. We have found that it runs much slower that if W3 Cache handles it.”

        Do you mean the site is faster if W3 or Cloudflare has auto minify activated?
        Should I have js, css, html ticked in the cloud flare settings or untucked?

        I’m a bit confused.

  70. Reply Adeilson Alves July 24, 2014 at 5:26 pm

    Hello friend.
    English first peopl forgiveness for this post. The reason is because I am Brazilian and I speak only Portuguese, so I’m using Google Translator.
    My website (which is under development) was opening more than 5 seconds, and when I set the W3C improved, is now opening 3.45 seconds on average.
    However, when you configure CloudFlare, the site continued in the same way, did not change the speed, sometimes even took longer to open.
    I analyze my site in GTMetrix.com and realized that CloudFlare has not helped my site until the CDN does not appear in GTMetrix. You could check out my site? Could you tell me what could it be?

    Thanks in advance.

  71. Reply Retired by 40 July 23, 2014 at 7:07 pm

    When I try to enable cloud flare I get an error message that says “Unable to communicate with CloudFlare API: Setting: async Invalid token or email.” Can you help?

    • Reply Jonathan July 23, 2014 at 7:40 pm

      Hi, have you double checked the email your registered CloudFlare with, and the API? Check for any extra spaces or something like that.

      In any event, adding the CloudFlare details is not that important.

  72. Reply Ronald June 10, 2014 at 9:58 am

    Thanks Jonathan! It helped me to improve the sitespeed and perfomance. However, like oby_one, at Google Pagespeed tool the performance of Mobile is 79/100 and I can’t get it higher. Desktop is 92/100. I also tested at Pindom, performance 92/100 and at Gmetrix grade A. But this Google Pagespeed Mobile keeps me bothering. Any idea would be appreciated.

  73. Reply Anna June 5, 2014 at 5:36 am

    Great tutorial! My site was loading in over 3 seconds, and based on your W3 Total Cache settings, Cloudflare and removing some plugins it now loads in 0.8 seconds. I can hardly believe it.

  74. Reply Mark May 12, 2014 at 6:40 pm

    Awesome guide for W3 Total Cache. Saved about 2 seconds on my site loading time.

  75. Reply Alex May 11, 2014 at 1:01 pm

    Nice guide! I never used to dig that deep into w3, but gained 3 points on pingdom. I enabled cloudflare via cpanel, and left w3’s options blank. Thing to remember is that with most shared hosting sites, i’ll never acheive 90+% reliably unless I use a CDN (Google page speed is free).

  76. Reply oby_one May 7, 2014 at 3:45 pm

    mysite seem ok after I got this setting,.. after using google test speed(desktop :91/100) and gmetrix (B : 89%), but the problem goes on mobile device,.. with google test speed I got 69/100, any idea….?


    • Reply Jonathan May 8, 2014 at 10:05 am

      Can you email your website URL to jonathan [@] besthostnews.com please, and I will take a look.


  77. Reply Josh Smith May 7, 2014 at 4:32 am

    Does using a service like Photon from Jetpack interfere with this setup? Or do I even need Photon if Cloudflare does something identical?

    • Reply Jonathan May 7, 2014 at 9:37 am

      It shouldn’t interfere. But please test and let me know if you do run into problems.

  78. Reply Josh April 22, 2014 at 2:01 am

    Thanks for the detailed post. Ive updated most of my settings on mexicanponcho.com.au except im waiting for my server admin to install memcache on my VPS because your option Opcode: Alternative PHP Cache (APC) is no longer available. Is this what you would now recommend?

    Im also experiencing issues minifying CSS on W3 but there is no bugs when i do so on CF. Im now minifying everything except CSS on w3 and CSS on CF. Would you do the same?

    The site is still taking over 10 seconds to load though.. One of the biggest problems is that it takes at least 4 seconds of waiting before the HTML starts to load. There is nothing blocking it that I can see. I have had 4 different developers look at it, tried changing hosting providers and tried lots of different site speed adjustments but just cant get it to go down. Do you have any ideas what I should try?

    • Reply Jonathan April 22, 2014 at 2:04 am


      Can you email me your domain to jonathan @ besthostnews.com, and I will take a look tomorrow.


      • Reply josh April 22, 2014 at 4:31 am

        Done, Thanks Jonathan

  79. Reply Viktor April 16, 2014 at 5:02 pm

    I have a different speed results every time using PingDom, and the differences are quite noticeable which makes me question their reliability.. For instance I checked Copyblogger’s website, running one of the best frames and servers for site speed, so I doubt their load time is 5.19s. What do you think?

    • Reply Jonathan April 16, 2014 at 5:17 pm

      If you look at the waterfall of Copyblogger’s site there are a few calls that take a long time to load.

      This site too uses the genesis framework, but any theme can be made slow with lots of javascript, and other things loading like video players, and various other things.

      It would appear in their particular case though, that the delayed loading of their files does not effect the appearance of the loading speed when I visit the site. Therefore, they may have made alternative optimizations which are not truly reflected in the Pingdom speeds for that site, or at least the necessary files needed for rendering the appearance of the page are loaded first.

    • Reply Jonathan April 16, 2014 at 5:04 pm

      Within pingdom you can choose one of 3 locations. They will vary by a little depending on where your server is based, and whether cloudflare is fully activated. If you send me your website address (jonathan @ besthostnews.com) I will take a look.

      • Reply Viktor April 16, 2014 at 6:42 pm

        Just sent you an email. Looking forward to hear back.

        Thank you for your offer to help.

  80. Reply Lucian April 16, 2014 at 4:56 pm

    Following this guide, just the Total Cache part except Cloudfare for now, I managed to get my website load in less then a second from ~1.5seconds: www . fldtrace . com
    One thing however I have disabled the minification which actually slowed down everything by 300ms or so. I believe the reason is that it took my code from the footer and uploaded it in the header but not sure.
    I’ll implement the Cloudfare within one week and I’ll keep you guys posted on the performance.

    • Reply Jonathan April 16, 2014 at 5:08 pm

      Yes minification is important, but it is worth testing via w3 total cache, and via cloudflare to see which is the fastest.

  81. Reply Ivan April 13, 2014 at 12:39 pm

    Hi thanks for the information. I just have one problem i cant find any option to configure network peformance and security powered by cloudflare! It is just not there. I created my account with cloudflare and had no issues. Is there some specific option at cloudflare that will point to w3 ? Looking into the list of cdn at w3 other cdn are listed but not cloudflare. I must be missong something,

    • Reply Jonathan April 13, 2014 at 12:46 pm

      Cloudflare doesn’t point at W3 total cache per se….

      To configure cloudflare, you simple alter the various settings within the cloudflare admin area.

      If you have setup cloudflare via a cPanel option, I recommend you actually log into cloudflare to change the settings.

      • Reply Jean April 13, 2014 at 3:13 pm

        I’m having the same issue. In the W3 Total Cache plugin, the option “Network Performance & Security powered by CloudFlare” doesn’t exist. It looks like it should be between “Reverse Proxy” and “Monitoring”, but I’m not seeing it.

        Any thoughts?


        • Jonathan April 17, 2014 at 2:27 pm

          It seems that you now have to activate an extension for cloudflare under the “Extensions section” in the sidebar.

          That worked for me.

        • Jonathan April 13, 2014 at 3:18 pm

          Hmmm, I understand now. This must have been a very recent change.

          However, don’t worry about it. Simple ensure the minification is dealt with either by W3 Total Cache or by CloudFlare itself. It is good to try both, and use the one that gives the most performance.

          I will update the tutorial in the next day or so.

  82. Reply Blair March 29, 2014 at 4:32 am

    Hi I use MaxCDN what settings can I follow , please if you can help me especially my first load is slow
    my website htpoint.com

    • Reply Jonathan March 29, 2014 at 3:46 pm

      Have you setup minification via w3 total cache? I actually think CloudFlare may work better for you to be honest. Cloudflare does alot more than just act as a CDN, and I have found makes more of an improvement with a higher number of requests (your site has 105).

      Most of your files are going through the CDN, so it is very hard to tell what is going on. If you are paying for Max CDN, then for a little extra, the Cloudflare Pro should provide a better feel with some of its other features.

      Also something like Nginx may help too, especially when you get more visitors. You may want to check out whgeeks.com who hosts this site (see our review). Ultimately though, the first thing I would do is play with the minification settings, and try cloudflare.

    • Reply Jonathan March 29, 2014 at 3:37 pm

      Ouch that is slow. Let me look into it for you.

  83. Reply Abinash Mohanty March 27, 2014 at 2:03 pm

    Thanks a ton for the entire and detailed instruction. I have just setup my W3 Total Cache after removing Super Cache plugin. 🙂

    • Reply Jonathan March 27, 2014 at 2:07 pm

      Your welcome. Did you setup CloudFlare too? and have you found much difference in speed?

      Also, I have been trying some much cheaper SSD Nginx Accelerated Shared hosting (from $2.99 per month) which is much cheaper than the Hostnine VPS I use, so watch out for an update to this article sometime tomorrow Saturday, as well as a new hosting review too!

  84. Reply Franz March 6, 2014 at 2:54 am

    Hey Jonathan, amazing guide. I followed it straight through.

    On my site I run a community, and there was a weird bug where after a user logged in, they would see no change to the immediate page (avatar, sign-out, etc..).

    If you have BuddyPress or bbPress sitess especially, dynamic menus, or objects that change once a user is logged into the front end, do the following:

    – Under Browser Cache –> Set expires header –> Turn Off

    • Reply Jonathan March 6, 2014 at 10:55 am

      Great… Thanks for the feedback.

      Yes from my experience different settings need tweaking for different sites. For example on one site cloudflare minification slowed the site down, on another it sped it up. So do try a few different combinations to optimize.

    • Reply Franz March 6, 2014 at 3:06 am

      More specifically:

      – Under Browser Cache –> HTML & XML –> Set expires header –> Turn Off

      I didn’t realize I could keep the other expires header on!

  85. Reply Kyle February 26, 2014 at 4:50 pm

    I followed your guide and my page speed score on google’s test went from 79 to a 73.
    It says one of my issues is not using caching, it has my images, css, etc for 4 hours. Shouldn’t Total Cache be changing these types of things?

Leave a reply