skip to content

W3 Total Cache

The fastest and most complete WordPress performance optimization plugin. Trusted by many popular blogs like: mashable.com, pearsonified.com, noupe.com, webdesignerdepot.com, freelanceswitch.com, briansolis.com, tutsplus.com, yoast.com, css3.info and others — W3 Total Cache improves the user experience of your blog by improving your server performance, caching every aspect of your site, reducing the download time of your theme and providing transparent content delivery network (CDN) integration.

Benefits:

  • At least 10x improvement in site performance (when fully configured: Grade A in YSlow or great Google Page Speed Improvements)
  • “Instant” second page views (browser caching after first page view)
  • Reduced page load time: increased visitor time on site (visitors view more pages)
  • Optimized progressive render (pages appear to load instantly)
  • Improved web server performance (easily sustain high traffic spikes)
  • Up to 80% Bandwidth savings via Minify and HTTP compression of HTML, CSS, JavaScript and RSS feeds

Features:

  • Compatible with shared hosting, virtual private servers and dedicated servers / clusters
  • Transparent content delivery network (CDN) integration with Media Library, theme files and WordPress itself
  • Caching of (minified and compressed) pages and posts in memory or on disk
  • Caching of (minified and compressed) CSS and JavaScript in memory, on disk or on CDN
  • Caching of RSS (comments, page and site) feeds in memory or on disk
  • Caching of search results pages (i.e. URIs with query string variables) in memory or on disk
  • Caching of database objects in memory
  • Minification of posts and pages and RSS feeds
  • Minification (combine and remove comments / white space) of inline, embedded or 3rd party JavaScript (with automated updates)
  • Minification (combine and remove comments / white space) of inline, embedded or 3rd party CSS (with automated updates)
  • Browser caching of CSS, JavaScript and HTML using future expire headers and entity tags (ETag)
  • JavaScript grouping by template (home page, post page etc) with embed location management
  • Non-blocking JavaScript embedding
  • Import post attachments directly into the Media Library (and CDN)

Easily improve the user experience for your readers without having to change WordPress, your theme, your plugins or how you produce your content.

Download it now or get support here.

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

  • does this plugin has an option to not show cached pages to logged in users?

    Reply
  • does this plugin has an option to not show cached pages to logged in users?

    Reply
  • EXCELENT PLUGIN, I MOVED TO W3 INMEDIATLY, FULL OF GOOD ENERGY AND GOOD AND HARD WORK, I REALLY APPRECIATE THE GOOD THINGS AND THIS PLUGIN FOR YOUR WORDPRESS IS THE ONE !!!!!!!!!!!

    THANK YOU!

    Reply
  • I could not understand a thing about the CDN in it nor I could be able to use CDN (For expert user, not enough help, i dont know whats domain rename tool, its complex, i tried but…) but I am using W3TC now. I am impressed. This plugins is difinitely the best out there and if you are using WP-Super Cache, I would suggest you to give W3TC a try. You will be amazed and drop WP-Super Cache today. Guaranteed.

    Reply
  • Have just installed this software and i must say i've already seen some improvements in upload speed. cheers mate

    Reply
  • Thank you for this great plugin. It's saved my server from crashing every evening during high user traffic. Pages are also loading really fast now.

    Reply
  • GREAT Plugin! – I have a question though. is there a way to have files that are in the CDN referenced as cdn.mydomain.com/photo.jpg instead of the longer cdn.mydomain.com.s3.amazonaws.com/photo.jpg ? I have a CNAME in place that works but don't see how to enable the virtual CDN name in the admin menus. If I ever were to change from S3 I wouldn't want to have to go back and change all the links for pages.

    Reply
    • You don't need to worry about links as W3TC is dynamically replacing the URLs to your images in the cached file. It does not modify your database. In other words, when W3TC is disabled, your images will load from your server as they used to, not the CDN.

  • I am having a similar problem to Glenn, Francesco and Dan where I get a fatal error upon activation and it asks me to chmod 777 wp-content/w3tc. However, w3tc/ doesn't exist and if I create it, chmod 777 it, and then try to activate the plugin it gets deleted and I get asked to change the permissions and reactivate it again.

    Software versions are W3TC 0.8.5.1 and WP 2.9.2

    I have previously installed a much earlier version of the plugin before, and it worked fine at the time, but I wasn't able to use the caching because disk caching wasn't implemented yet, so I deleted it.

    Reply
  • I love this plugin, but it dosen't seem to work very well with the WP-ecommerce plugin. Anyone else combining these two plugins?

    Reply
    • Unfortunately there are too many settings to give you more than a "no, I've configured this with W3TC fine before" response. If you fill out the bug submission form in the support tab of the plugin I can then see what settings you have hopefully what is going wrong.

  • Hi,

    great plugin!

    I'm receiving the error "Memcached server(s): localhost:11211may not running or not responding." although I have double-checked that the daemon is running.

    ps aux | grep memcached
    nobody 24541 0.0 0.0 55740 836 ? Ssl 03:02 0:00 /usr/local/bin/memcached -d -m 128 -p 11211 -u nobody -l localhost
    root 24552 0.0 0.0 3924 700 pts/0 R+ 03:02 0:00 grep memcached

    So, do you have any suggestions? I am running 2.9.1, maybe there's something wrong in the code?

    Thanks,
    Oliver

    Keep up the good work

    Reply
    • I recommend installing the PECL memcached extension to make memcached more reliable for you. You also may want to test telneting to the port memcached is listening on to be sure that it is in fact responding.

  • I'm receiving the error: Server localhost (tcp 11211) failed with: Failed reading line from stream (0)

    Also, I noticed that the daemon will automatically stop after some time or probably always when I quit putty.
    If anyone had similar problems, I would appreciate a quick tip

    Thanks!

    Reply
    • These problems are not normal. You have not compiled it properly or are not running it as a daemon with flag '-d' as per the instructions on the install tab. If you do not have a multiple server configuration, do not use it at all. If you do have a multiple server configuration, make sure to use PECL memcache PHP extension and test the connection from within W3TC.

  • i alwasy get this error
    Warning: Cannot modify header information – headers already sent by (output started at /home/volkan/domains/yemektariflerin.com/public_html/wp-config.php:1) in /home/volkan/domains/yemektariflerin.com/public_html/wp-includes/pluggable.php on line 865
    please help

    Reply
    • It's hard to guess what's causing that error. Can you fill out the bug submission form in the plugin so I can get a report of your settings?

  • i alwasy get this error
    Warning: Cannot modify header information – headers already sent by (output started at /home/volkan/domains/yemektariflerin.com/public_html/wp-config.php:1) in /home/volkan/domains/yemektariflerin.com/public_html/wp-includes/pluggable.php on line 865
    please help

    Reply
  • The plugin is amazing, thank you so much for making it. I really want to use it, but one problem is that it conflicts with my download plugin.

    Essentially the Total Cache plugin is sending a Content-Length: 0 header which prevents the zip file I am trying to send out working, and downloads a file at precisely this size though named correctly. The plugin that underlying this, before caching, is sending its own headers. Is there any way I can either adapt the plugin or change a setting to prevent this? I could even adapt my plugin to turn off W3 on the fly if this is what is neccesary. I've tried exempting it in the settings by specifying /files/* and /downloads/*. The download code from the plugin can be looked at here – http://github.com/recordsonribs/ribcage/blob/mast...

    Thanks very much in advance.

    Alex

    Reply
    • W3TC does not send (or modify the) content-length header. Modifying the headers may cause compatibility issues. Did you try not caching a single page without using * ?

  • silly question but do i need a different plugin so that the media uploader uploads to my cdn as well?

    thanks.

    Reply
  • I've just about got everything working the way I want to but I had a question in regards to the "reject user agents" for the bots/spiders/etc. I would think that it would be good to give the compressed versions to them. From what I have seen so far, this plugin is serving up the latest posts and information in the cached mode (in other words – the version the spider would get would not be old).

    The compressed version is obviously quicker and this is what we are all after, so why serve the bot a slower dynamic page when we have the fast cached one sitting right next to it?

    Thanks for the great plugin

    Reply
  • I've just about got everything working the way I want to but I had a question in regards to the "reject user agents" for the bots/spiders/etc. I would think that it would be good to give the compressed versions to them. From what I have seen so far, this plugin is serving up the latest posts and information in the cached mode (in other words – the version the spider would get would not be old).

    The compressed version is obviously quicker and this is what we are all after, so why serve the bot a slower dynamic page when we have the fast cached one sitting right next to it?

    Thanks for the great plugin

    Reply
  • Hey there guys! Just wanted to ask a quick question.

    I am receiving this message in my dashboard on my WordPress site, "One or more plugins have been activated or deactivated, please 'empty the page cache' and check your 'minify settings' to maintain the desired user experience.
    'Hide this message'"

    What is it all about and is it something I should be worried about? I have W3 Total Cache installed on two blogs of mine and both are displaying that message. I hope to hear back from someone soon.

    Reply
    • As the message says, if you change the status of plugins, it may affect your minify settings. So if you're sure that it hasn't then hide the message.

  • Thanks much for sharing all your work and being supportive with everyone's questions. I'm using a random post plugin on a few sites and I've enabled debug mode and I think this query is getting cached and preventing real time random display of headlines.

    enabled | Cached | SELECT * FROM wp_posts WHERE post_status IN ('publish') AND post_type='post' AND post_password ='' ORDER BY RAND() LIMIT 0, 4

    I looked in the database section of the plugin and tried to add RAND to ignore DB queries but this didn't seem to work. Perhaps a feature to not cache ORDER BY RAND queries is needed?

    Reply
    • If you've checked to make sure that that query is longer cached, then the page caching itself is preventing the updates from being visible. So until fragment caching is added to the plugin it's best to lower the 'Maximum lifetime of cache objects' value so that the page cache is regenerated more frequently.

  • is there some manual describing the different options in more detail ?

    Reply
  • Hi, can you add plugin folders to the custom file list in the CDN settings?

    Reply
  • WP 2.9.2 W3TC 0.8.5.1
    I had to change
    <script type="text/javascript" src="<?php echo w3_get_site_url(); ?>/<?php echo WPINC; ?>/js/jquery/jquery.js"></script>
    <script type="text/javascript" src="<?php echo w3_get_site_url(),WPINC; ?>/js/jquery/jquery.js"></script>
    in file wp-content/plugins/w3-total-cache/inc/popup/common/header.phtml

    the before added an extra / (http://www.domain.com//wp-includes...) which caused jquery to 404. this made it so I was unable to upload files to my cdn via the popup.

    Any word on when lighttpd compatibility will be added? most things appear to be working fine except I am unable to combine and minify js files to the disk.

    Also, I would like to enable memcache, but I have another project using it and I am worrying about key collisions. Is there a key prefix that gets used, or what is the key structure?

    Reply
    • The enqueue functionality is not reliable, so this is already changed in the next release. You don't need to worry about key collisions. There has not been a lot of demand for lighttpd support, so it's currently not scheduled.

  • by InglesTotal
    on March 3, 2010 at 8:51 am

    Would implementing the Total Cache affect my SEO??? I am well positioned and do not want to ruin it.

    Reply
  • One question. Does implementing TOTAL CACHE affect my ranking in google? I mean, it creates static pages and I wonder if it may influenced how well I am positioned in google search. Please respond.

    Reply
    • In general, because Page Speed is a factor, it will improve your Google ranking especially if you send cached pages to search engines.

  • I´m looking for a cache system for my buddypress site.
    I really would like to use W3 Total Cache. On the plugin page at wordpress.org, you wrote, bbpress and buddypress support will come.
    Is there a time frame?

    Also I would like to know, if xcache will be supported in the nearest time.
    I really need to know, if I wait for your plugin or use an other plugin.

    Reply
  • Can you tell me when the new fixed version is coming out so the image bug is fixed?
    Any images within posts get cached by the CDN and the link TO the image is correct (linking to the source on the CDN), but image is still being served from the local server and not CDN (IMG SRC is still pointing to the original server and not CDN).
    See my blog http://LeanStartups.com for an example.

    Reply
  • Thank you for the plugin, it's really great. I've used it recently for http://www.meinrad.cc and http://www.sba-rss.com, the difference to the uncached version is very cool.

    Thanks, Wolf

    Reply
  • What exactly happens to "Rejected User Agents"? When I use Google Webmaster Tools to access my site via Googlebot, I get

    Page Caching using disk (enhanced) (user agent is rejected)

    The site is properly compressed and minified.
    __

    a) does the UA-rejection have any negative implications on the indexing/listing of the page?
    b) wouldn't it be better to provide Google with a faster (=cached) version, too?

    Best, Wolf

    Reply
    • The point here is that pages that bots visit should not be cached since there is no need to fill up the cache with pages that normal users are not using. I'm debating whether or not to remove these default options, but in any case it won't matter as if a search engine is visiting old pages it's not possible to cache them before hand unless you prime the cache for all pages in your site in advance which wastes resources.

  • How can I disable the plugin on certain pages?

    Reply
  • Tried installing W3 Total Cache earlier and enabled CDN (used self-hosted option) but after it didn't work, I disabled it and used the plugin without the CDN capabilities. When I imported all my attachments to the Media Library, I had the "Use permanent redirects" option checked. All my post images don't show up because the image URL path is wrong and the domain name is repeated twice.

    Example:

    http://domain.com/http://domain.com/wp-content/up...

    How do I fix this and is there any way to undo the permanent redirect? What should be the right settings when importing attachments to the Media Library?

    Thanks!

    Reply
  • Hi Frederick,

    This is a great plugin!

    I wanted to report a possible conflict between w3 total cache and Gravity Forms Plugin. It seems that Database Caching does some problem with recording the form entries. This is not confirmed yet by Gravity Forms – but since i use and love both plugins a would appreciate if you can look into that.

    And also wanted to know how will turning off just database caching will effect total site speed improvements?

    Great work on the plug!!!

    Reply
    • Try adding wp_rg_ (if your blog uses the default table prefix) to the ignored query stems field on the database caching tab. Whether or not database is helping your site is a relative thing that would require me to review it to answer. In general database caching is going to reduce the time required to build a new page, so it's important.

  • This is a great plugin!

    Thanks..

    Reply
  • I really don't think it takes so long to understand how to set up the plugin. If you want to use all of the options, then yes it will take some time depending on your experience level or the problems with your site/server.

    Reply
  • FT,

    no, it doesn't take that long. 5 mins tops if one goes for basic setup using page and database caching. like Hiroshi, Minify and CDN were new stuff to me. child + parent themes setup were not in instructions though. that took me awhile to figure out that i needed to upload both into the self-hosted CDN. that said, to do the same on a new site shouldn't take me more than 20 mins now. :)

    Reply
  • Is there specific ways that changing the status of plugins could effect the minify settings? Like if I was to add a plugin, what's a couple of errors that are likely to show? Just as examples so I know what to expect and so I know what to fix.

    Mind you, my minify settings are set to default.

    Reply
  • If you're using default settings then the warning the plugin shows is irrelevant. The point of the warning is to remind you to check/update your settings in case JS or CSS has been added/removed from your theme or file names modified.

    Reply
  • Thank you i solved problem. Problem about UTF codding notepad ++ solved my problem thak you

    Reply

Leave a Comment

*Gravatar supported image - Sign up
						You can use: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>