W3 Total Cache is one of the best WordPress Plugins for increasing server performance, reducing download times and providing transparent content delivery network (CDN) integration. In one of our articles we have showed how to Speed Up Your WordPress & Boost Performance, with many plugins, tricks and tips. But this W3 Total Cache plugin performs many of those options all on its own. So now is a great time to introduce this superhero to all of you. Below, we have covered almost everything to do with the installation and configuration of this plugin.
Why is W3 Total Cache better than other cache plugins?
W3 Total Cache Plugin is a complete framework. This plugin remedies numerous performance-reducing aspects of any web site going far beyond merely reducing CPU usage (load) and bandwidth consumption for HTML pages alone. It does not require any theme modification, .htaccess (mod_rewrite rules) modification or programming compromises to get started. It is designed to optimize all practical hosting environments, small or large. There are many options, and installation is easy.
Installing W3 Total Cache in WordPress
In the article How to Install a WordPress Plugin?, we have already showed you the basic installation process. To make it easy, here’s a quick refresher:
- Go to your WordPress Admin Panel.
- From the Plugins menu, click Add New.
- Search for the plugin W3 Total Cache.
- Click on Install Now under W3 Total Cache, and then click OK.
- Click on Activate Plugin.
If you want to install it via FTP or SFTP then you can take help from another article, How to Upload WordPress Plugins Using FTP or SFTP with Filezilla? Briefly, download the plugin to your computer and extract it if it is zipped, then upload it in to your /wp-content/plugins/ directory.
Settings and Configuration of W3 Total Cache
After activating the plugin, a new menu option will be added in your WordPress admin panel named Performance. Click on the tab, and you will find the configuration area. Now proceed with the following:
Go to the Performance menu and click General Settings.
Scroll down the general settings page and ensure that each main section is enabled.
- Page Cache – Enable.
- Page Cache Method – Disk: Enhanced.
- Minify – Enable.
- Minify mode -Auto.
- HTML minified – Default.
- JS minified – JSMin (default).
- CSS minifier – Default.
- Database Cache – Enable.
- Database Cache Method – Disk.
- Object Cache – Enable.
- Object Cache Method – Disk.
- Browser Cache – Enable.
- Miscellaneous – Optimize disk enhanced page and minify caching for NFS.
Now click on Save all settings.
Go to the Performance again in the left-hand menu, and click on Page Cache.
Ensure the following options are check marked, then click on Save all settings:
- Cache home page
- Cache feeds: site, categories, tags, comments
- Cache 404 (not found) pages
- Cache requests only for yourdomain.com hostname
- Don’t cache pages for logged in users
What is CDN?
Content Delivery Network or CDN allows you to serve your static content from multiple cloud servers rather than only one central hosting server. This helps to reduce server load and speed up your website. We have an article Why CDN is required for WordPressBlog which we suggest you read and understand thoroughly.
W3 Total Cache supports MaxCDN, NetDNA, Amazon S3, Rackspace Cloud, and Amazon Cloud Front. We are using MaxCDN and we recommend you to use it as well. After you Enable CDN and select the CDN type, your screen on the General Settings Page of W3 Total Cache should look like the below image:
Setting up MaxCDN with W3 Total Cache for WordPress
You are required to have an Origin Pull CDN account to proceed from here. Origin-Pull is simple to use and highly transparent, which is also known as mirror CDN.
1. Login to your MaxCDN account.
2. Go to the MaxCDN dashboard menu, click on Manage Zones option and then click Create Pull Zone button.
3. Fill in the necessary information to create a Pull Zone in the next page.
Pull Zone Name: This can be anything without spaces; minimum of 3 characters long, similar to your username.
Origin Server URL: Enter the URL of your WordPress blog with http://and the trailing slash (/).
Custom CDN Domain: It is optional, but useful for branding. Use any subdomain: for example, try cdn.wp-solution.com
Label: This is like a description field, which is of course optional.
Compression: It will save the usage of bandwidth on your account, so Enable it.
After creating this, you will get a screen with a URL for your CDN. If you select the option for Custom CDN Domain, it will ask you to create a CNAME record for that domain.
Here’s how to create the CNAME Record with cPanel Webhosting providers such as HostGator and Bluehost. Login to your cPanel and then scroll down to the Domains Section and click Simple DNS Zone Editor.
Now fill out the fields that come up, such as Name and CNAME to Add a CNAME Record.
Name: Just like you used in the MaxCDN Pull Zone for the Custom CDN Domain. We have used our custom CDN domain as cdn.wp-solution.com, which keeps cdn in our name field.
CNAME: This is the URL that is provided to you by MaxCDN when you create the Pull zone.
This method will be different for different hosts. CNAME records are created via Domain Registrars such as Godaddy.
Configure W3 Total Cache Plugin to work with MaxCDN
You should already have enabled the Content Delivery Network option and set it to Mirror: NetDNA/MaxCDN. Now you will see an option for Configuration on the CDN Settings page. W3 Total Cache requires you to enter the API ID, and the API Key. It will be found in your MaxCDN Dashboard by going to Manage Account > API. Copy those and paste in these fields. Now in the Replace site’s hostname with, add your custom CNAME. To continue with our example, we use cdn.wp-solution.com.
Your MaxCDN is now ready to go! If you load your site, the image URLs would be served from the CDN subdomain rather than your site’s actual domain. For instance:
would be replaced with:
If you find that any of your static files are not loading with the CDN, then you need to specify it in the custom files list setting in W3 Total Cache. We have done it for the OIO Publisher plugin to serve ads. To check this out, in CDN settings page, you will get the Advanced option:
Just add all the files or folders that you want to include for CDN. There is a rejected file list as well. When you update a small design, your style.css will not update right away. So you can replace it in a rejected file list for a time while you are making changes. If you looking for only a one-time purge, you can do that over in MaxCDN settings.
If you find any problems after configuration of the plugin, clear your cache by clicking Performance, and then empty all caches. Try visiting your site in a different browser as well, because W3 Total Cache does not show cached content for logged-in users.
If you’re still having problems, it might be a conflict between W3 Total Cache and another plugin or your activated theme. To identify the reason, follow these steps:
- De-activate all the plugins except W3 Total Cache.
- Click on the Performance, and then empty all caches to clear your cache.
- Check your site in a different browser.
- Enable the plugins one-by-one, and clear your cache, until you find out which one is problematic.
- You can temporarily switch to one of the WordPress default themes to check if any custom code of your theme interferes with caching.
After you identify the conflict between W3 Total Cache and another plugin, you should activate only one of them on your site. You can also connect with the plugin authors about a potential solution, as they may have come across the problem in the past.
If, after all that, you are still getting problems with your site, submit a bug submission form from the Performance tab, and click Support to submit the form for free support and troubleshooting. Finally, deactivate W3 Total cache until your support request is handled.
If your site is showing a 500 error and you fail to log in, then log in via FTP or via the FTP File Manager and edit your .htaccess file. Remove all code sections that look like the following:
# BEGIN W3TC [section name here]
# END W3TC [section name here]
With any luck, you should now be able to install and configure your W3 Total Cache without any problem.