Speeding Up Your WordPress Site With W3 Total Cache - sonumahar/sonu GitHub Wiki

These days speed is a big factor on the web. Your website taking a couple more seconds to load can mean bad news and there's no doubt you'll see the results by optimising your site's code and loading times. After optimising mine I noticed a decrease in bounce rate the next day WordPress Support Services so it does make a difference. Search engines are starting to take this in as well so practicing these SEO skills will definitely help in the long run.

Luckily, if you're using one of those content management systems that have extremely wide ranges of support options and extensions such as WordPress then there's some simple solutions. There are lot of plugins available that claim to instantly speed up your website so there's a lot to name but none of them compares to W3 Total Cache. With all my experience in bespoke web development where I have to optimise static or dynamic websites that don't have these plugins available; this one for WordPress really does cover all the important factors as makes the biggest difference compared to the rest.

Super charge your website with W3 Cache

So What's So Good About W3 Cache?

This plugin has been worked very hard on and deserves all the credit it gets. I'm surprised the plugin isn't be sold instead of being available for free. Just by configuring the plugin properly, you can save 80% of your bandwidth and improve the loading times for your pages by at least 10 times. It also give you a Yahoo! YSlow A Grade which ranks your optimisation on a number of factors, YSlow is the website speed debugging tool by Yahoo! just like Google has PageSpeed and even in PageSpeed you'll notice massive improvements in your score. It can integrate perfectly with shared hosting servers but if you're using a VPS, dedicated server or a cluster based service then you can make good use of the amount of power available by using Opcode or Memcache for multiple servers which are extremely powerful caching services.

And that's only half the story! The W3 Total Cache settings are categorised by each feature. The first one is Page Cache, it caches all your pages that make queries using up server resources and time so a static one can instantly be produced to a visitor. The second one is Minify, I actually don't use this one so I left the box un-ticked meaning nothing will be minified by Total Cache. I had some problems using this feature because I didn't notice anything being minified what-so-ever when debugging and have always had this problem. A lot of other people have had this problem and the cause of the issue is yet to be investigated but I found a better solution for this anyway so there's no point.

While having the Minify feature disabled in Total Cache, I've got the WP-Minify plugin installed which is really useful, it minifies all the CSS and JavaScript files into 2 separate documents and then presents them in the code with a 'pretty URL' without parameters so it works out really well. I was a bit disappointed because the W3 Minify features allow you to move separate stylesheets and scripts to different parts of the document and can be removed from a certain page if not used so it's even more optimised. Nonetheless, the other plugin does the job quite well and I've never had any problems with it.

Is That All It Can Do?

Certainly not, this nifty little plugin is just packed with features and is always being updated to fix bug and implement new techniques as the web is always changing so the team is just great. The next two options for the plugin are the Database Cache which reduces the post, page and feed creating time whereas the Object Cache further reduces execution times for common operations. The settings for that are all fine tuned so I'd just leave them checked so they can do what they're meant to do.

The next option is CloudFlare, it was recently introduced to the plugin as CF is a relatively new service. Personally I've had quite a bit of trouble using this and in fact I refrain from it these days because of the attacks on their servers and down-time. This is probably going to improve over time but what CloudFlare does is manage your DNS servers so once your complete the transfer they can protect your site from spammers and hackers by making them have to enter a Captcha before entering the site. It works a bit like a CDN and has a number of features to help increase your site's speed so it sounds really good so it's quite exciting though at time I noticed a decrease in my site's loading times using it including downtime and even real people being blocked from my site so I ended up leaving that even after speaking to their support team on Twitter who were quite helpful indeed.

Varnish Caching. This is also a relatively new feature introduced to the plugin and is a pretty good one to have if you can make use of it. Varnish is a web application accelerator known as a caching HTTP reverse proxy. It's extremely fast and according to their website it can potentially increase a website from 10x to 300x depending on the architecture of the coding.

The next is my favourite and is the Content Delivery Network. This is the most common practiced way of speeding up delivery of content on a website and is being using by Google to deploy jQuery using their servers to a number of websites online. Having resources load from more than one domain reduces latency because you're having stress load put on more servers instead of all on one meaning you can have objects load simultaneously at blazing fast speeds.

W3 Total Settings

MaxCDN is a great service to use with a large amount of bandwidth, functionality and has 2 main zones available. Pull and Push zones; what you do is you firstly need to have another domain ready (so you can CNAME it to theirs) to serve the content from (well just to make the URLs look good) or you can use the ugly one they provide because content is basically hosted on their servers. Pull zones should be created for content like your images, CSS and JavaScript files; so all your small media should be setup like this when configuring the plugin because then when a certain file is requested, the CDN caches the file on their servers and serves it from them using the (sub-)domain you set it to use, and all this is instant so you don't even notice.

With Push zones, and these should only be used for large media resources such as video, when you upload a video it would be pushed to their servers and uploaded there so it's more convenient, especially in terms of bandwidth which your provided with a lot of when using MaxCDN. The best bit is that they have multiple servers located across the world, so if you were located in London, their London server will server the content with less latency and faster speeds. It simply works! Finally there's Browser Caching which again the settings should all be fine tuned as they are. It reduces server load and decreases response times by using the cache available in site visitor's web browser so it's a nice one to have too.

The plugin has an amazing support community and is constantly being updated with bug fixes and new features. I've never seen something like this so it's definitely worth a try. I'd also like to hear people's experiences with the plugin so just comment if you use it already or setting it up for the first time. I'd be happy to answer any questions.