If you use WordPress as a content management system (CMS) on your website, it can be helpful to install a “caching” plugin which serves saved/cached webpages to visitors instead of making dynamic requests to the mySQL database connected to your site every time a page is visited. Once you’ve published a page or updated it, a “cached” copy is made which is served more quickly to web visitors. This speeds up your site’s performance. In this post, I’ll describe how and why I’ve switched from using the WP Super Cache plugin to W3 Total Cache. Both are free to install and use, but Amazon S3 and Amazon Cloudfront ARE commercial services used by W3 Total Cache. I’m expecting to pay less than a dollar a month for this installation, based on Steven Campbell’s explanation.
Kyle Robinson Young defines and describes “caching” on a WordPress site by writing:
Each time you visit your blog, WordPress will go through a sometimes lengthy process to build everything you see. First it will process the PHP code which will make numerous calls to your database and finally output HTML for your web browser to display. On some blogs this could happen between 20 to 200 times per page! WordPress has often been criticized as slow but we can change that by enabling caching.
If you enable caching only the first visitor will go through this entire process. The caching mechanism will save the data and then serve every subsequent visitor the final result. Thus speeding up WordPress by a huge factor. Trust me, you want it and your visitors will thank you for using it.
The fastest and most complete WordPress performance optimization plugin. Trusted by many popular sites like: mashable.com, smashingmagazine.com, makeuseof.com, kiss925.com, pearsonified.com, lockergnome.com, tutsplus.com, johnchow.com, ilovetypography.com, webdesignerdepot.com, css-tricks.com, yoast.com and others — W3 Total Cache improves the user experience of your site by improving your server performance, caching every aspect of your site, reducing the download times and providing transparent content delivery network (CDN) integration.
I used Steven Campbell’s clear and thorough instructions to get everything configured. I already had an account with Amazon S3, so the activation of Amazon Cloudfront was speedy. If you don’t have an existing account, you’ll need to create one with a credit card to complete these steps. Basically, this setup lets the majority of the media files on your blog download from Amazon’s servers instead of your own server. After getting everything configured, the plugin uploads your existing files to your Amazon S3 “bucket,” and then does the magic so your site pulls content from Amazon instead of serving it locally.
A couple of weeks ago I started having problems with my installation of the WP Super Cache plugin. Since then, I’ve been running without a caching solution. My site has seemed to still be pretty responsive, but at times I HAVE encountered some “page not available” and timeout errors. I’m not sure if these can and will be remedied now that I have W3 Total Cache installed, but I hope so.
After going through Steven’s setup instructions, the one additional tweak I had to do was follow these nimopress instructions for optimizing WP Total Cache with WPTouch. WPTouch is a free WordPress plugin I use to optimize my site’s display on mobile devices, including iOS devices like the iPhone and iPod Touch. Before adding the list of “user agents” described in that post to several configuration page settings of WP Total Cache, my site didn’t display properly on my iPhone. Now it looks fine. Hopefully that’s the case for other mobile browsers as well!
Are you using W3 Total Cache or another WordPress caching solution? I’d love to hear about your experiences and recommendations. Setups like this are REALLY geeky and get close to maximizing my daily geek instruction following quota, but the payoff in terms of site performance seems to justify the hassle.
One thing I’m unsure about is how this configuration will affect accessibility to my website in schools and countries (like China) where strict content filtering is enforced. If Amazon S3 is blocked in a location, I’m thinking the media from my website will now also be blocked. If you can confirm or test this I’d be interested to hear your feedback as well. Of course we need to advocate for more balanced Internet content filtering, but no one is likely to make BIG changes in this landscape anytime soon… In our U.S. schools or in foreign countries which also love Internet censorship.
Did you know Wes has published 3 eBooks, and 1 of them is available free? Check them out!
If you're trying to listen to a podcast episode and it's not working, check this status page. (Wes is migrating his podcasts to Amazon S3 for hosting.) Remember to follow Wesley Fryer on Twitter (@wfryer), Facebook and Google+. Also "like" Wesley's Facebook pages for "Speed of Creativity Learning" and his eBook, "Playing with Media." Don't miss Wesley's latest technology integration project, "Mapping Media to the Common Core / Curriculum."
On this day..
- Check Out Teetsie: A GameSalad-created iPad Game - 2013
- Amplify Art with Media (Oct 2013) - 2013
- Captivated by the Tesla S Series Electric Car in Portland, Oregon - 2012
- A Second Grade Field Trip to the Zoo with AudioBoo - 2011
- K-20 Innovative Learning Institute Nov 4th in Norman, Oklahoma - 2010
- Google Docs Adds Folder Sharing - 2009
- Remember to turn YouTube channel comment moderation ON - 2009
- K-12 Online Conference 2008 starts tomorrow! - 2008
- A 2nd grade classroom podcast! - 2008
- NowPublic Citizen Journalism and intellectual property - 2008