Best WordPress Cache Plugin 2019

Update January 20th, 2019: Hyper Cache is now being actively developed again. Thus, it has returned as my #1 go-to WP Cache plugin. Changes marked in green

This blog post was originally posted just over 4 years ago. WordPress Cache plugin options have changed a lot since. As such, I’m updating this list of 5 best WordPress plugins.

Are you already using a Wordpress Cache Plugin? I’ve tried many WordPress caching plugins over the years and after much testing, I’m able to narrow down the options to what I think are the best WordPress Cache Plugins currently available.

The issue with most Wordpress Cache plugins is that they store cache to disk only and/or use .htaccess mod_rewrite. Even if you move .htaccess rules into Apache you must also disable AllowOverride (AllowOverride None) as per Apache docs:

“When AllowOverride is set to allow the use of .htaccess files, httpd [Apache] will look in every directory for .htaccess files. Thus, permitting .htaccess files causes a performance hit, whether or not you actually even use them! Also, the .htaccess file is loaded every time a document is requested.”

With that in mind, here’s my updated list of the best WordPress cache plugins:

 

#5 W3 Total Cache (No change)

(Download size: 1.87 MB 2.2 MB)

This plugin can be fast. The operative word being “can” because with some setups it’s not. There are just so many ways to misconfigure this plugin. Please don’t read too much into that statement yet. I’ve had blog owners complain to me that W3 Total Cache “made their blog slower”. To troubleshoot, I used curl to test and many times that confirmed W3 Total Cache as the issue. BUT, this only happens when the plugin is misconfigured. For example blog owners that go crazy enabling all features to disk. Just head over to Google and start typing: w3 total cache sl  …you’ll see what pops up first. :) Also, once you begin to load up all those features notice how fast the .htaccess file grows. You should really move all the .htaccess rules into Apache’s config. Due to this, I would say W3 Total Cache isn’t for the average user, but it’s obvious that with around 4 million downloads it’s been used by just about everyone.

Pros:
— Allows for storage to Memcached and Redis.
— Many performance options beyond caching. (be careful)

Cons:
— Relies on .htaccess for most features to work.
— Feels bloated, especially if you have server root access and only need WordPress caching.

 

#4 WP Fastest Cache (New!)

(Download size: 0.37 MB)

A cross between WP Super Cache and increasingly W3 Total Cache-like, sort of. The older versions from 2014/2015 offered more for free, without the premium bloat (check out the screenshots here). However, unlike the other plugins listed you cannot download previous versions via the “Developers” page (Update: This has been added, so you can go back as far as version 8.6.) Still, its listed here because it’s not a paid-only plugin and the original core is basically still intact.

Pros:
— Easy to setup
— Very actively supported and developed.

Cons:
— Also relies on .htaccess
— Below par customer support.

 

WP Rocket

#3 WP Rocket (would be #1 if there was a free cache-only version)

(Download size: 0.90MB 2.0 MB)

This is a paid plugin with no free option, I’ve used WP Rocket from May 2016 until about a week ago. Its pretty powerful all-in-one plugin. Similar to W3 Total Cache but easier to configure and won’t slow down your site if you check or select certain options. Also uses .htaccess. There’s no option for Memcache or Redis.

Note: this blog is using WP Rocket + Nginx.

Pros:
— Easy to setup
— Great support!
— Offers wide compatibly with 3rd party themes and plugins.
— All-in-one with options for Cloudflare, CDN, Varnish, Opcache, minify, preloading, etc.

Cons:
— With Apache server, relies on .htaccess
— No free version! (Plugin could have been free for cache-only related feature and then charge for support or pro version with more features.)

 

#2 WP Super Cache – (+2 positions) 

(Download size: 0.88 MB 0.93 MB)

Update: Since this list was originally posted, WP Super Cache has changed PHP caching to the “Recommended” option for caching. Happy to see that the PHP caching method is now recommended over mod_rewrite/.htaccess!

Allows the use of PHP for caching instead of .htaccess, however like others it only offers to store cache to disk. Its interesting that while WP Super Cache has been downloaded one million more times than W3 Total Cache, it has HALF the number of WordPress support forum threads. Yes, it is a lot harder misconfigure this plugin and is faster than default WordPress no matter the setup you choose. If you are going to use mod_rewrite then make sure to move all the .htaccess lines into Apache’s config and disable AllowOveride. Otherwise, I recommend to stick with the PHP method instead. It’s important to remember that WP Super Cache was first released over 11 years ago when PHP 5.2 and PHP 5.1 were the most popular versions of PHP… Yikes!! Since then, with each new version, PHP has significantly improved in performance (even more so now with PHP 7!) and the use of opcode caching being enabled by default.

If the cons below are addressed, WP Super Cache would probably become my #1 plugin. Get rid of ALL bloat and redesign/simplify GUI.

Pros:
— Easy to setup
— Very fast when configured correctly.
— Can be used without .htaccess by selecting to cache using PHP. (recommended)
— They’ve also added a disk cache location option (or tmpfs eg. /dev/shm)

Cons:
— No option to save cache to memory.
— The verbiage of options and some suggestions are a bit dated.
— Too many plugin/addons that aren’t useful.

 

#1 Hyper Cache – (replaces Cachify)

(Download size 0.05MB)

This is a fast, simple WordPress cache plugin. Its been around for a number of years and yet unlike many others hasn’t fallen into the trap of becoming too bloated.

Pros:
— Very lightweight at < 50kB!
— Very Fast by default!
— KISS principle. (Simple)

Cons:
— Not the best user interface.

 

Best WordPress Cache Plugin 2019: Conclusion

If you are looking for a WordPress Cache Plugin that focuses mainly on Caching WordPress, go with Hyper Cache. If you are looking for a WordPress Cache Plugin which offers additional performance features, then go with the time-tested king WP Super Cache or pay for WP Rocket. No matter the choice, avoid using .htaccess cannot stress this enough (not an issue for those using Nginx instead of Apache).

At the end of the day almost all plugins are monetized in some way. However, most have free forever versions. I’m a bit disappointed that this isn’t the case with WP Rocket. I believe they would ultimately sell more copies of the FULL plugin if there was a free lite version. Not a free trial, but a caching-focused free version listed in the official WordPress plugin directory. As mentioned this blog is already powered by WP Rocket + Nginx.

I believe the next plugin to hit the #1 spot will be a paid plugin that has a free version, as well as customized versions. By this I mean, a paid plugin which allows you to download only the features you need. So in my case there won’t be settings for Varnish, DB clean, Lazy load, Sucuri, or any other bloat I don’t use. A plugin compiled with only the features you choose! Will update this post in another 2 years.

 

How to force your WordPress Cache plugin to cache to RAM

Remember you can also force plugins to use memory by mounting the WordPress cache (/wp-content/cache/) folder to tmpfs.

Be Careful!!! Don’t attempt unless you understand what’s being done!

It is probably best to disable your cache plugin first. Also, check the contents of /wp-content/cache/ to make sure that you know what you’ll be moving.

First we mount the WordPress cache directory from disk to tmpfs (server memory). Commands require root privilege:

mount -t tmpfs -o size=1G tmpfs /full/path/to/wp-content/cache

Next, if still enabled, clear your WordPress plugin’s cache. Then to make this persistent on reboot edit /etc/fstab and add this at the end:

tmpfs /full/path/to/wp-content/cache tmpfs defaults, size=1G 0 0

this is not necessary since the Linux kernel will cache to memory anyway.

 

If you find this post helpful, comments and questions are welcomed. If you are looking for more WordPress and web server performance and scalability, or would like to optimize the performance of other web applications such as Magento, Drupal, Joomla, etc. …send me a note.

Tags: ,

Best WordPress Cache Plugin 2019

34 Responses

  1. @hayden Do you have specific advice for WordPress caching on PaaS such as OpenShift?

    gavin July 16, 2014 at 7:15 pm #
  2. Hi James,

    thanks for this great article. WP-FFPC looks nice and I will probably test this plugin. But I think you missed another great Cache-Plugin: Cachify

    Best,
    Josef

    Josef August 10, 2014 at 6:24 pm #
    • Thanks Josef, for adding that plugin.

      Hayden James August 10, 2014 at 6:30 pm #
    • Thanks! Cachify is now #1

      Hayden James August 31, 2016 at 6:52 pm #
  3. Amazing to discover cache plugins I did not know before ! I would be curious to have an advice on Quick Cache – https://wordpress.org/plugins/quick-cache/

    Li-An October 24, 2014 at 1:25 pm #
    • Quick Cache is pretty good! It’s even been around longer than some of the above options. Its good to see it’s being maintained again! It went at one point what seemed to be years without any updates and thus I didn’t keep under radar. Thanks for pulling Quick Cache in.

      Hayden James December 30, 2014 at 10:30 am #
  4. Awesome post on all the caching programs. I have Varnish Cache and what do you recommend as a caching plug-in to go along with it. And why?

    Also do you have any numbers to share with us on load speed.

    Rafael November 16, 2014 at 10:34 am #
    • You don’t really need a WordPress caching plugin if you have FPC via Varnish Cache. It won’t hurt however.

      Hayden James December 30, 2014 at 10:27 am #
    • Well, i have varnish, i installed wp-fppc along with memcached and didnt see any improvements. So i guess you really dont need any wp cache plugin…

      However my question is this: I have varnish, i have also memcached installed. i use memcached on wordpress by putting object-cache.php in wp-content folder and adding a small code to wp-config file..

      is this necessary when you have varnish?

      mert February 18, 2015 at 11:37 pm #
  5. Thank you for this post!
    I’ve just moved my wordpress websites site from shared hosting to VPS. I used WPSC plugin before, but now I’m looking for a better solution. My VPS is 512 RAM, running Ubuntu 14.04, nginx, php5-fpm. Could you please give me any advice what caching method to use? I have 21 small website on it. Thank you!

    Roller December 13, 2014 at 5:10 am #
    • For a 512MB VPS I would recommend using Lite Cache. It’s extremely lightweight and nice for small setups.

      Hayden James December 30, 2014 at 10:34 am #
    • Thank you, Hayden! I am already testing it. Have you tried it on nginx also? I see that it has “htaccess” stuff in settings, so it seems that its more for Apache. Am I wrong?
      Happy Holidays!

      Roller December 30, 2014 at 10:47 am #
  6. Hey Hayden, great post! Could you please give me a recommendation… I have a 2GB VPS with php 5.4.36 and so far I was using W3 total cache with just the disk caching (which now I now is not that good). After I installed APC and set w3tc to work with it the speed actually went down and I started getting some errors in the apache logs.
    My hosting sysadmin uninstalled the APC and things improved. He advises that I ditch the APC (as it’s buggy with my php version) and install Zend Opcache, preferably also upgrade PHP to 5.5. But as much as I’m aware W3tc doesn’t work with Zend opcache so I started to look for other plugins.

    Now after reading your post I feel even more motivated to switch to another caching plugin. Which one of these above would you recommend for php 5.4 (or 5.5) and zend opcache? Or do you have any other setup that you recommend?
    thanks a lot!

    Peter January 22, 2015 at 1:06 pm #
    • Hi Peter,

      I would recommend Lite Cache. Can you check if your VPS has the /dev/shm or /run/shm tmpfs?

      Type: df …in console of VPS and see if its listed. If so, use Lite Cache.

      If not, then use WP-FFPC with APCu (https://github.com/krakjoe/apcu) to cache to RAM. You can run both Zend Opcache and APCu (user/variables cache) together. See above post for details.

      There are many options, even beyond this, but the above makes for an easy start.

      Hayden James January 27, 2015 at 5:58 am #
    • thanks a lot Hayden!
      btw, by Fast cache do you actually mean Lite cache? (Fast cache plugin is not on the list)
      cheers!

      Peter January 29, 2015 at 2:51 pm #
    • indeed, I meant Lite Cache. Will correct above message now. Thanks.

      Hayden James January 29, 2015 at 7:12 pm #
    • if I might add one more thing :) I see that Lite Cache is no longer actively maintained and the author suggest migrating to his other plugin (Hyper cache). would you, nonetheless, still recommend lite cache as the first option?
      Thank you!

      Peter January 29, 2015 at 9:19 pm #
  7. btw, I am using simfs on tmp on my VPS….
    mount|grep /tmp
    /dev/simfs on /tmp type simfs (rw,nosuid,nodev,noexec,relatime)
    is that ok?

    ps. sorry for multiple comments

    Peter January 29, 2015 at 10:11 pm #
    • If you view source on my blog notice I use lite-cache still.

      Don’t you already have tmpfs when you list df on your box. Usually you don’t have to manually mount. Just have to enter correct path in Lite Cache (Hyper Cache was recently updated to have the same option for cache path as well).

      Hayden James February 20, 2015 at 5:56 pm #
  8. In my case:
    VPS (1x 3.2GHz CPU, 3GB RAM, 3GB vSwap)
    OS: CentOS 5 or Ubuntu 12 64bit /w cPanel/WHM
    Apache: 2.4.10
    PHP: 5.5.20
    MySQL: 5.5.40-cll
    Zend Opcache
    2x WP MU (Multisite) Setup with subdomains & Domain Mapping and some single wp in feature

    I type df in console of VPS and show me this:
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/simfs 103079200 18341944 79494480 19% /
    none 1572864 4 1572860 1% /dev

    What cache plugin I must use?

    Alex February 19, 2015 at 3:14 pm #
    • Those specs don’t influence what should be used. For beginners, use Lite Cache or Hyper Cache.

      Hayden James February 20, 2015 at 5:50 pm #
  9. Hi James,

    great article. Thanks.
    My dedi runs with php 5.5, FastCGI and opcache already. There are some WP-applications which i would like to speed up. Which plugin would be your suggestion?
    I would be grateful to receive your reply.

    Conrad

    Conrad February 15, 2016 at 11:45 am #
    • @Conrad Upgrade to PHP 7 :)
      I use W3 cache on this blog. Disk cache mounted to tmpfs.

      Hayden James February 29, 2016 at 5:49 pm #
  10. Did you try “WP Rocket” plugin ? I would be very interested to know how good or bad it is against these others plugins you mentionned.

    Paul March 21, 2016 at 2:46 pm #
    • Yes I tried WP-rocket. I have 6 months left on license. But I switched to cachify + autoptimize:

      Wp-rocket kept messing up Sumome, Advanced Ads and other plugins. Got tired of openings tickets. Its great. Its fast but I would the combination of cachify (minify disabled) + autoptimize (html, js + css minify and combine enabled) to be faster.

      I will update this post this week.

      Hayden James August 27, 2016 at 6:39 pm #
  11. Any advice for users of W3TC who have upgraded to PHP 5.6, which now uses Zend opcache and no APC? We have installed APCu, but W3TC hasn’t changed with the times. No options for either. Since APCu supports all the API calls that APC does, shouldn’t W3TC keep working fine with Zend Optimizer/APCu in place of APC? The actual opcode caching is done before W3TC touches anything, so we should be good there. What about the user cache entries? Would they be generated by W3TC in APCu the same way as they were in APC?

    Winston March 28, 2016 at 9:16 pm #
    • If you have SSD just cache to disk. For even more speed on very busy WP blogs… mount the W3tc cache dir to TMPFS (RAM).

      Hayden James August 27, 2016 at 6:41 pm #
  12. Awesome article Hayden! Cachify is definitely a must have plugin. I’m using it on all of my WP websites upon recommendation from my hosting provider. They configured the plugin on all of my websites and I noticed a huge improvement in the loading speed.

    Thanks!

    Henry Freeman August 31, 2016 at 4:30 pm #
  13. Have you try Cache Enabler by KeyCDN?

    LiewCF June 14, 2017 at 6:22 am #
    • Yes nothing special unless you are already using their CDN and for the sake of simplicity.

      Currently using: Hyper cache (developer has returned to activity)

      Hayden James June 17, 2017 at 6:09 pm #
    • Glad to know that Hyper Cache is back!

      LiewCF June 17, 2017 at 8:12 pm #
  14. Good compilation. Have you tried Breeze? A free WordPress cache plugin by Cloudways.

    Mustaasam Saleem May 3, 2018 at 7:49 am #
    • I have not tried Breeze but I will give it a try before next article update.

      Hayden James November 17, 2018 at 10:56 pm #

Leave a Reply