A Caching Plugin and How It Can Thrust Your Site's Performance


Caching is a vital element when it comes down to website speed, especially when we talk about Wordpress sites. The reason is that Wordpress is powered by PHP and all of your content is stored in a MySQL database. Each time a visitor references content on your website (in other words, requests a page/post), a database query is created which then extracts the relevant information from your database.

The output of that is then formulated it in such a way, so that it is visible to the reader in the exact same way as you created it for your website. This is a very simplistic approach as to the internal processes and steps followed from the time you click a post until it is fully displayed on your screen but I believe the above gives you an idea on the processing complexity and time required to generate the end result.

Note: This image was used with the sole intention to demonstrate the complexity I was trying to describe above! Please confirm that it doesn't so that I can remove it without any guilt :-).

What a caching plugin does is that it basically takes the final output (a fully build page or post) from the chain of events described above and it stores it for future reference. In other words, the next time that a visitor requests the same webpage, it will save the processing power and time and it will serve the already processed (and ready to send) static content, rather than going again through all the required steps in order to generate the dynamic equivalent.

One of the most popular caching plugins is the W3 Total Cache and it is also the plugin I use for my sites. Of-course there are other plugins (like WP Super Cache) that you can use with same benefits for your website. It is commonly accepted though that W3 Total Cache is perhaps the most complete and efficient one out there.



The Benefits Of Using W3 Total Cache or Any Other Caching Plugin

By installing W3 Total Cache or any other caching plugin for that matter your site will enjoy the following benefits:

  • Up to 80% savings in bandwidth via compression of HTML, CSS, JavaScripts and minify.
  • Improvement in overall website performance that could reach up to 10x what you had before.
  • Significant increase of your Google Page Speed and YSlow scores (check them at GTMetrix).
  • Increase in server performance due to the decrease of CPU consuming processes.
  • Improved visitor experience since first visits are served much quicker.
  • Improved visitor experience since second visits are served instantly (through browser caching).

Overall, the value for you as a webmaster of using a caching plugin is that you increase the time a visitor spends on your website and the number of pages he/she visits. And you do that simply because you reduce your page load time.

I am not gonna go into the details of configuring W3 Total Cache because that would be a sperate training of its own. I can say though that you will enjoy all the benefits listed above only by applying the default settings that the plugin is installed with.

If in any case you would like to go deeper or you have a problem with W3 Total Cache, please comment below and I will try to help.


Join the Discussion
Write something…
Recent messages
Pobman Premium
I would not suggest most people run with W3 Total Cache, unless your server is setup right you will not see all the improvements from this plugin and you can actually make things worse. If you install it and you only have options for Disk caching, i.e. no APC etc. then I would just jump ship to Super Cache which pretty much works out of the box.

Running with the CDN though is a massive improvement for most people, I now run most sites with static content on cloudfront and the difference is out of this world.

FYI Cloudfront have added Sydney Australia to their CDN... makes them a winner in my book!

Nice guide though.
Reply
Viterbi Premium
I agree: W3 Total Cache, works even better with APC. For those who don't know, APC stands for Alternative PHP Caching and it's an opcode running on the server side which offers a more efficient caching model. In other words, in some hosts you cannot enable it and you have to use the Disk Caching option in W3 Total Cache. For those cases, I fully agree, it's better to use WP Super Cache as your caching solution.

As far as the CDN and CloudFront is concerned, I also think it's one of the best CDN providers around.

Thanks for the comment Pobman!
Reply
Denisara Premium
smush it doesnt appear to work. it does nothing if I 'mass smush' and if I do them one at a time (and I have 364 pics) it times out. any suggestions? here is the error message I am getting: Automatic smushing has been disabled temporarily due to an error. Operation timed out after 20071 milliseconds with 0 bytes received

i tried a few more pics to "smush" and now they show up "BLANK" how do i get them back? this does NOT work
case in point:
http://bonestrivia.com/bones-season-eight-begins/bones-season-eight

this is one pic "smushed" out of about 12 that i tried this on. how do you reverse this ??????

i guess i have to redo that work completely if I want pictures to show UP
Reply
Pobman Premium
smush does work... some of the time.. the problem is the service is totally overloaded and Yahoo clearly dont care to improve things... it works like 1:10 times it would seem... a shame.

However other than getting the error I have never actually had an issue with it damaging a site.
Reply
Viterbi Premium
Sometime Yahoo's server gets overloaded from users doing the same thing as you do. The reason is that Smush.it sends a COPY of your image to Yahoo's server -> It optimizes this copy -> And then downloads it to your website. Next time you try it, it should be fine.

Regarding the problem with the blank picture, I also never had any issues and I also cannot find any similar incidents online. It's very safe, especially because of the way it's working (described above: copy is sent to server, optimized and then downloaded). Even if the process get's stack in the way, your original will stay intact.
Reply
Pobman Premium
There are other plugins which do similar things, though they all seem to require certain resources to be installed on your server which makes them unlikely to work for those on shared hosting.

If you need to 'fix' a whole site and the bulk change tool is not working then using the multiple upload tool at smush.it is almost as easy. Just FTP all your images down, smush and upload. The advantage here is you do get to check each image first. Thinking back to the problem of SmushIt breaking images I have now and then had issues with PNG and transparency...

A lot of people will just rely on the CDN though, because at the speed the CDN works at even large images come down lightning fast. This of course is not solving the problem, just going around it.
Reply
Denisara Premium
funny, I was told that W3 Total Cache is a mistake to use unless you get like over 10k visitors per month by either Jay, Kyle or Carson...among others. The rest of what you say to do does not make sense to a newb such as myself but thanks for the article...maybe it will help someone else
Reply
Viterbi Premium
W3 Total Cache is a really complicated plugin and you have to do your homework if you want to start playing with the advanced options it provides.

I also agree with the opinion that W3 Total Cache might perform even better in more popular sites (sites receiving more visitors). For less popular sites, WP Super Cache could be more efficient and easy to use.

Bottom line: Each site is different and you can test both options (or even other ones as well) to see what works best for you. The point here is that your website would be far more efficient and optimized if you integrated a caching solution to it (whatever that is).

P.S. I tried to make this training as "newb-friendly" as possible :-)
So please let me know where you need support and I'll do my best to help!
Reply
Viterbi Premium
Thank you Roger!
Reply
morlandroger Premium
WOW this is very comprehensive! Will come back to it and look at some of my sites again with a view to speeding up load times. Thanks for this
Reply
Top