Home Notes Web development Speeding up your WordPress site with plugins

Speeding up your WordPress site with plugins E-mail
Thursday, 14 January 2010 20:00

It's somewhat ironic that at one end we're collecting more and more data, we're clammoring for more and more bandwidth and storage space and ways to access it.  Yet on the other hand we obsess over the kilobytes and even bytes we can shave off our webpages in order to have them load fractionally faster.  We minify, we GZip, we cache, we do all sorts of things...anyway, it's just an observation I thought was interesting.

I wrote earlier about ways to speed up your website.  Those were mainly .htaccess fixes.  If you use WordPress, however, a lot of the hard work is taken care of for you by some excellent plugins out there.  Here are a few I've tried, and my experience with them on WordPress 2.8.6:

 Autoptimize

Autoptimize is advertised as a do-it-all plugin for your WordPress site, and it works pretty well although I haven't tried all its features.

Observations and conflicts

  1. Optimization of JavaScript code broke Hackadelic Slider Notes on one of my pages.  Enabling the "Add try-catch wrapping?" option, however, fixed that issue.
  2. "Optimize CSS Code" breaks WP-Cufon
  3. I have enabled "Rewrite Image URLs" and changed the "Image Base URL" to use CoralCDN's nyud.net URL appendage, but I haven't noticed it working on the images on my WordPress site.
  4. I enabled "Rewrite JavaScript URLs" and "Rewrite CSS URLs" and they work fine.  (I'm using CoralCDN's nyud.net for these as well.)


 Free CDN

Free CDN lets you use Coral CDN to reroute several types of assets on your website, including CSS, JavaScript, images, and external content.

Observations and conflicts

  1. This plugin worked unreliably in my experience.  I tried to figure out which other plugin(s) it was conflicting with but couldn't narrow it down because it's most likely more than one.  When it was working, it screwed up CSS rendering and some JavaScript functionality.  It should be noted that this might not be the plugin's fault at all.  It has been noted elsewhere that CoralCDN is better for bigger assets (pictures, movies, MP3s) than smaller ones (images, CSS, and JavaScript files).  Using CoralCDN with Autoptimize works fine, so most likely the problem is with the plugin.
  2. It seems to conflict with one of either the Star Rating for Reviews or WP Movie Ratings plugins, or maybe both.  The Movies page on my blog shows up blank when this plugin is activated, and both of those plugins are used on only that page.


 JavaScript to Footer

JavaScript to Footer is a no-frills plugin that does just what the title says: It moves all your JavaScript to the footer of the page for faster loading.

Observations and conflicts

  1. Works as advertised.  There is nothing to configure, just turn it on and go.
  2. It breaks WP-Cufon, which makes me wish it let you configure which files it moves and which ones it leaves alone.

 GZIP Output

Another simple plugin with nothing to configure, GZIP Output does just what it says: It Gzips the HTML content of your WordPress site before sending it out.

Observations and conflicts

  1. I didn't find this plugin conflicting with any other plugins.  However, I think going the .htaccess route is a more efficient way than using a plugin for Gzipping your HTML content.

 Parallel Load

Parallel Load loads all your JavaScript files in parallel, with the additional option to move them to the footer of your webpage.

Observations and conflicts

  1. jQuery fails to load with this plugin enabled, so it won't work for me.

 My CDN

By the author of Parallel Load, My CDN rewrites your URLs to use a CDN.  You can specify different URL for CSS, JavaScript, and theme files.

Observations and conflicts

  1. Rewriting the URLs to use CoralCDN's nyud.net breaks the loading of CSS files, similar to Free CDN.  Again, since CoralCDN works fine with Autoptimize, the problem is most likely with the URL rewriting method used in the plugin (I am just speculating because I haven't looked inside the plugin code).
  2. The good news is that this plugin does not break the site altogether like FreeCDN does.  It's a much smaller plugin with fewer features, which means fewer chances for conflicts with other plugins.

Please remember that these are just my experiences with these plugins.  Yours might be different, depending on the version of WordPress and other plugins you're running.