So I am a big user of Divi by Elegant Themes. As I have taken on more local clients, the theme has allowed me to quickly and easily make good looking sites that convert well. At the same time, because of the container each element has, having the customer update it is much easier as well. For this reason, I am using Divi for more and more of my customer websites. In fact, this site is using Divi as well.

As good as Divi is, anytime you have integrated page builders, lots of javascript and other elements, it can slow down sites quite a bit. I have gotten really good at optimizing sites using good sized images and not using a lot of stuff that slows the page down. That being said, I am always trying to increase the speeds of my sites. Definitely less than 3 seconds but the closer to 2 seconds, even better. I accomplish this in a variety of ways:

  • Good website hosting. I use a reseller plan for my customers. My reseller uses high quality SSD drives and uses Litespeed instead of Apache to get that little bit extra speed.
  • Optimize Images. I have Adobe Master Suite CS6, and I swear 90% of the time I use it for optimizing images. I could probably go further.
  • Caching Plugins – For the most part, caching is one of the best ways to speed up your site. But, when you start using these more advanced themes, different caching plugins work better or worse than others.
  • Content Delivery Network. I do not use these right now as I just can’t justify the extra costs of hosting a website. The best benefit is serving files closer to the computer requesting them.

The problem is there are literally dozens of different caching plugins both free and paid. Add in, I am not a programmer, I am a business person, and the ability to configure them properly can be difficult to handle. So in the interest of science and helping out others, I have decided to test a variety of caching plugins to see which ones work best, at least in my situation, for Divi.

I wanted to make this as fair as possible, so I have decided to clone a simple customer site (and of course change all the branding and wording) to see how this might work in a real world scenario. This post will take you through the entire process I use. I will show the mistakes I made as well.

DISCLAIMER: I am probably doing half of this wrong. I am not a programmer, network engineer, linux administrator, PHP and javascript guru, etc. So, if you want to help and optimize a caching plugin to make it run faster, please reach out and I will set up a test environment for you. 

Other Themes: If you arent using Divi and are looking for caching tests on both Avada and Salient you can find them below:
https://onlinestorehelp.com/caching­-plugins­-with-­the-­avada-­theme-­by-­theme-­fusion/
https://onlinestorehelp.com/speeding­-up-­your-­website-­using-­the-­salient­-theme/

Criteria for testing my Divi Install

As you can imagine there are hundreds of caching plugins to use through the WordPress repository. So in order for me to test it, it had to have the following criteria:

At least 1000 installs – I figured with 1000 installs kinks will be worked out.

At least 4 Star Rating – Most people reading this don’t want to deal with hassles so a good rating is key.

Updated in the last year – no need for a caching plugin to open up security holes.

My Hosting Environment for Divi

I have a reseller plan through Veerotech based in North Carolina. This allows me to set up individual CPanels for any test sites I create. Theoretically, this means it should be a cleaner install compared to using add-on domains or installing and uninstalling plugins that could leave residual code in the site. I like them as a host and recommend them.  Click the link below to be taken to their site:

Using WHM, I set up both a test site I can use to clone, and a cache site to test the caching plugins on. Even though they reside on a sub-domain, those sub-domains each have their own CPanel.

test-site-whm

Once I had the test site up, I cloned and genericized (is that a word) a dentist website. It is not a heavy site, and is really only about 5 pages long. But, most local business sites are not real big.  Below is what the site looks like:

test-site-screen

After I finished making my generic site, I installed the normal plugins that I use plus one extra. The extra plugin was the WP Clone plugin to easily blow out and re-clone the website on the caching test domain. The other plugins that I normally install on a customer site include:

So finally, I am going to run the test site through GT Metrix to get a base line speed test. When I ran it, I got a, well lets be realistic, horrendous 3.3 seconds. I also ran it a second time and got a more respectable, but still needs improvement 2.4 seconds. That doesn’t mean I can’t improve the score using some of the suggestions such as scaling my images. Normally, for a customer I would, but I also want to see what I can do with a not- to optimized site.

gtmetric-base

Caching-Bare

I cloned the site over and did my first test.

WP Super Cache

So I installed WP SuperCache, turned it on and just used the basic settings. Ok, my page speed score stayed about the same , but my page load time got super fast. I went from 2.4 seconds to 1.6 seconds.  A significant improvement. And all of this with little to do on my end. In fact, one advantage to WP Super Cache, is its compatible with many membership programs including the one I use, Digital Access Pass.

WP-Super-Cache

I also enabled “Compress pages so they’re served more quickly to visitors. (Recommended)” and it seemed to slow things down. When I turned it back off, things sped up by about a second.

Comet Cache/ZenCache

Next I tried out ZenCache. I installed ZenCache which let me know it is now Comet Cache. I un-installed Zen Cache, then activated Comet Cache and used the standard settings. I only saw about a second improvement.

Comet-Cache

I then included Gzip compression which gave me an extra second. But, client side caching slowed it down to 2.8 seconds.

comet-cache-with-gzip

WP Fastest Cache

Next I tried WP Fastest Cache. It is not as click one button and it works but for the most part, it was easy to set up. I did the first round without minifying HTML, Javascript and CSS as I have found this can cause issues where everything on the screen disappears. It also integrates with MAXCDN, Photon CDN and and other CDN. A nice plus. Since I do not use a CDN I was not able to test this. Their premium version also includes image optimization and additional caching options.

Fastest-Cache-Settings-1

When I ran the speed test, I was pleasantly surprised to see I hit 1.6 second load times.

fastest-cache-rnd-1

I also tested other configurations including combining CSS, Javascript as well as minifying CSS and Javascript. What I found was, combining CSS I was able to get .2 to .3 more seconds reduced. Combining CSS seemed to work the best. I didn’t get better improvement with combining Javascript.

Fastest-Cache-Combine Fastest-Cache-Minify

Edit – 9/7/2016: The plugin developer did reach out to me to let me know that WP Fastest Cache works with Woocommerce as well. In fact, it auto detects Woocommerce and automatically excludes the required pages from the cache (like the checkout pages). As I get more information I will continue to update this post.

Hyper Cache

So I installed this caching plugin. I ran it once, got a good score, then saved the options and got a worse score. I couldn’t replicate the good score so I am not sure if that was a fluke. All in all, I got about 2.2. seconds. It was asking me to add a line to my wp-config file and I just couldn’t be bothered to do that and I know a lot of people won’t be comfortable playing in those config files. I imagine if I did update it, the cache might perform better.

Hyper-Cache-Config hyper-cache-score

Gator Cache

I installed Gator Cache onto the new test site. Once you activate it you have to “install” some items by pushing a button. The only setting is to enable page cache. When I ran that, I got a speed of 1.6 seconds, very respectable. There are other settings like custom cache rules (including for HTTPS) but I didn’t see anything for integrating with a CDN.

Gator-Settings gatorcache-speed

W3Total Cache

This is the plugin I have been using with a lot of websites I built and it worked reasonably well with some caveats.  Using the most basic settings and not minifying is what I started out with. That got me a respectable 1.6 seconds, just like on Gator Cache. W3Total Cache has a ton of options including access to using external Content Delivery Networks.

W3-setting-1-test

From experience, W3Total Cache can mess up your site when you use the minify options. But I wanted to turn them on anyway, to see if it messed up this simple site I set up. After turning on Minify, it didn’t mess up the site (no white blank screen) but it did increase my load times to 1.9 seconds. What I have done in the past is used a separate plugin called Autoptimize to minify css and javascript which has worked pretty well. I installed and ran the test again. It made no difference in load times. I still got 1.6 seconds. I also ran Autoptimize on its own and with everything turned on, I only got to 2.3 seconds.

A2 Optimized WP

This is a plugin created by A2 Hosting. Since the server configurations are similar to what I have with my own hosting, I thought it would be good to test and see what type of results I got.

a2-security

Apparently the plugin has some security features as well which is a nice add but I didn’t play with. After hitting most of the settings:

a2-setting-1

I ran a speed test and got 1.6 seconds.

a2-test-1

I wanted to play with some of the other setting and see if they made any difference in speed. Minifying the HTML gave me an extra second of speed and increased my pagespeed score but reduced my YSlow score. Turning on or off minify for both CSS and Javascript made no difference in speed.

a2-html-minify

WordFence and the Falcon Caching Engine

EDIT: Wordfence just announced (October 12, 2016) they are discontinuing their Falcon Caching Engine, sometime in the next month. It’s a shame since it performed so well with Divi.

Wordfence is a popular security plugin for wordpress that also includes both basic Caching the the Wordfence Falcon Engine. Because it is included as an add on to their security plugin, I decided to turn off iThemes Security Pro since most likely, you would be using these together. They allow both a basic as well as advanced caching.

wordfence-basic-caching-setup

I started with Basic Caching first and ran the first test. This gave me results of 1.9 seconds. Not great but not bad. I then turned on the Falcon Engine and reran the test. Falcon does make changes to your .HTACCESS file so they recommend you back up your site incase things go sideways. Upon running the test I got a very respectable 1.5 seconds.

wordfence-basic-results wordfence-falcon-results

Just to make sure, I also implemented the firewall which makes further changes to the .HTACCESS file to see if it changed performance. I still got the same 1.5 second load time so it made no difference on the speed test.

Hummingbird by WPMU

Since I have a subscription to WPMU, I was able to test their Hummingbird Caching plugin. I installed the WPMU Dashboard and then installed Hummingbird. In set up browser caching and it apparently modified the .HTACCESS file as well. but, I was getting an error and that may be to me using Litespeed instead of Apache. After running a test, I got  2.1 seconds. I tried configuring Gzip and it didn’t want to accept Litespeed so its stuck on Apache. I was still sitting at 2.1 seconds. I then minified the JS and CSS files. That gave me a .1 second increase to 2.0. Just to give WPMU a fair shake, I also installed Smush It Pro. I then bulk smushed the images to see if I could get more speed out of it just by decreasing the size of the images. The first run, I actually got WORSE performance. So I ran it through Super Smush and ran the speed test again. I got down to 2.0 seconds.

hummingbird-final-test

Once thing I discovered though, is somewhere in the optimization process, some CSS on the home page got messed up.

Messed-up-CSS

Cachify

Cachify was the next one on my list to test. With Cachify, you have very limited options. Caching method and whether you want to minify. My first run I did a Database Cache and got 2.4 seconds. Not that great. I then turned on minify HTML only and ran the test again. It got worse and ran up to 2.9 seconds. I then minify’ed with both HTML and inline Javascript. That brought it down to 2.7 seconds but worse than if minify was turned off.

Cachify-best-results

Just out of curiosity I did change it to Harddrive Cache as well, but it requires a change to the .HTACCESS file and the instructions look like they are in German… https://github.com/pluginkollektiv/cachify/wiki

Simple Cache

Simple Cache was my next try. This is again, another lightweight simple caching plugin. I turned on the most basic settings which was, turn on caching. The first run, nothing spectacular, 2.3 seconds. I then turned on compression which is the only other option available. This actually gave me a surprisingly good 1.5 second load time. I then ran it again, and got a 1.9 second load time. I then turned off compression, purged the cache and got 1.4 seconds. I then enabled Compression, again purged the cache and got 1.5 seconds. One last try, I turned off Compression, purged the cache and did one more run. It came up at 1.9 seconds again. I am not sure exactly what I am doing wrong ( or right) as I had to run it again and got a great 1.5 seconds. I am going to stick with the 1.5 seconds but I am unsure if this plugin does something weird or funky. It was all over the place in speed tests.

Simple-Cache-test-1

Cache Enabler – WordPress Cache

This plugin is created by KeyCDN so I wanted to try it out. As you can imagine, it will work with KeyCDN (which seems to be, at least at the plan level above basic) cheaper than MaxCDN with more zones.

Turning on the basic cache gave me a 2 second load time. Not great, not bad, but not great. I then turned on HTML only minification. Finally I turned on HTML and inline Javascript minification and ran the speed test again. That actually gave me a 2.2 second load time. I have a feeling this plugin is more of a resource for KeyCDN customers.

keycdn-speed

Litespeed Cache

I decided to try the Litespeed Cache since one, its made by Litespeed technologies which is an apache drop in replacement, and two, my hosting uses Litespeed. I wanted to see if it made a difference. After I installed it, I got this error that I didn’t have something enabled which makes me think this plugin is more for people that run a VPS and have more server skills than I do.

litespeed-

WP Rocket

WPRocket is a popular caching plugin but it is also a paid plugin. the guys over at WP Rocket gave me a trial of the plugin to text head to head with the other plugins. First, I installed the plugin and activated it, and ran the first test. Without doing anything besides activating, i got a 1.5 second load time.

WPRocket-install-1

Next I turned on lazy load for images and iframes and videos. This dropped the page load time to 1.1 seconds. One tiny anomoly I saw but it is not a deal killer, is an overlay image in the hero area (under the header) loads about a second after the rest of the image but to be honest, the speed of load is so darn fast, I don’t see how you could really complain about it.

WP-Rocket-Lazy-Load

I also tried minifying some of the content. Minifying HTML provided no benefit in page speed as did minifying inline JS and Inline CSS. I still got 1.1 second load time. That being said, it didn’t hurt performance. Finally, I turned on all minification and clicked one more setting which replaced emojis with default WordPress smiley. With these settings, I got a 1 second load time.

wp-rocket-final

One area that never gets talked about is the ability of the plugin to clean up revisions on your website. As a site ages, those revisions can add up. Just on a test site alone I had 57 revisions it cleaned out. Add to this the plugin works with varnish, CDN’s, SSL and allows you to keep pages out of the cache which is great for both e-commerce stores and membership sites.

Conclusion

Before you read into the conclusions, it is important to realize where this is not the most scientific results. For example, I ran these tests over several days. Given that I am on reseller hosting, it’s possible, I was testing during times when accounts that share the same server with me had a lot (or less) traffic than normal (A KVM VPS would be a better test since its a more pristine environment). Also, I ran this on good quality reseller hosting. My gut tells me, these results will be even more dramatic if you are using one of those cheap shared hosts that all the GURU’s tell you to use (you know the one I am talking about…). In addition, since I use Litespeed instead of Apache, that could make a difference in the results. Finally, the site I was testing with this, was a pretty lightweight site of just 5 or so pages. I could have optimized the pages even further, especially images. But, some of the heavier intensive websites might perform different.

Overall WInner: WP Rocket at 1.0 Seconds

Second Place: Fastest Cache with 1.3 Seconds

Third Place: A2 Optimized Cache and WordFence at 1.5 seconds. Simple Cache was to finicky for me to put them in second place

Fourth Place: WP Super Cache, Gator Cache and W3 Total Cache at 1.6 seconds.

Cache Enabler, Hummingbird, Comet Cache/Zen Cache, Hyper Cache and Cachify all had 2 seconds or slower load speeds.

Recommendations for Divi

If you run an e-commerce store or membership site, then WP Rocket is the way to go. If you have a simple site (like I tested) and are on a tight budget, then WP Fastest Cache would be my next choice. If you run just a single site, and need security, don’t discount Wordfence as both the cache and security. For my customers, as much as I like Wordfence, it is more economical for me to use iThemes Security Pro which means if I have at least 10 customers, WP Rocket would be a great addition to my value add.

Plugin Developers

If you are the plugin developer for any of these and want to give it a run with any optimizations, please let me know and I will rerun your tests and post the results. Also if you are a premium plugin and you want to give me a trial to test, I am happy to as well. Finally, if I missed you on the Plugin Repository and you meet the criteria, reach out to me on my contact page and I will look at testing your plugin as well.

 

 

 

 

Get Our Free Mini Ecommerce Course

Get Our Free Mini Ecommerce Course

Jumpstart building an ecommerce business.

Check your email!