3 WordPress performance plugins I swear upon (for the moment)

3 WordPress performance plugins I swear upon (for the moment)

Optimizing performance has been a high priority in every new WordPress I’ve set up. In two recent projects, it was expected that each installation would get over 500,000 hits a month, and one blog receives over 5000 comments in the same period.  Though delivering optimized pages depends on multiple factors, using the proper performance plugins has helped me in getting the job done right.  Here’s 3 plugins that I’ve used time and again that have led to speedier sites and great success.


Before installation, cover your bases

As I mentioned, speed depends on more than just using the right plugins. Any web page depends on multiple layers of technology to deliver, and each layer provides opportunities for optimization. Also, there’s additional things to keep in mind before installing your first performance plugin.

  1. For static assets, use a CDN.  This includes your static JavaScript, images, and CSS files.  Chances are great that you already utilize the jQuery JavaScript library in your WordPress installation. By default, WordPress serves jQuery files off of the one included with your WordPress files (in other words, it uses your server’s bandwidth), but it’s not too hard to use Google’s CDN to serve these files.  Likewise, you can use a free CDN to deliver the rest of your sites’ static assets.
  2. It’s never fun to discover that an untested or poorly developed plugin has completely fouled up your database — and yes, I’ve been in this position before. Nothing kills productivity more than spending hours and hours having to clean out data tables.   Therefore, make sure you back up your database and your server files before making major changes.  Inquire with your hosting provider to see if they automatically do backups on a daily basis.  There are also plugins like UpdraftPlus that can schedule backups to file hosting services like Dropbox, Google Drive, or an alternate file server you control.
  3. There’s a large selection of websites you can use to gauge your site’s speed and it’s a good idea to use them whenever you’ve made a change.  Google’s PageSpeed Insights rates your site speed on a scale and suggests improvements.  Is My Blog Working? provides similar features and also shows a history of your previous site speed queries via a graph. WebPagetest is a fantastic utility that renders a complete waterfall chart showing where potential slowness factors may lie, along with other useful tools like traceroute.

Okay, enough stalling! Here’s the 3 performance plugins I’ve used that have worked, time and again.


Plugin #1: P3 (Plugin Performance Profiler)

Let me first be clear: I am no fan of Go Daddy, its executives, or its advertising strategy. Imagine my strange mix of revulsion and delight when I discovered their P3 plugin — an invaluable tool to gauge exactly how your plugins are affecting your overall WordPress experience.

It’s very easy to start using P3.  Just install the plugin, and select Scan Now in the plugin listing.  On the plugin main page, hit the large “Start Scan” button in the top left panel.  P3 will begin crawling your site and measuring plugin execution times and queries.  Scans will sometimes take up to three minutes to complete, so be patient.

Once the scan is complete, hit View Results and you will be greeted with a graph much like the one below.

After a quick scan, the P3 Plugin Performance Profiler shows graphs and information about how your plugins consume your WordPress resources.
After a quick scan, the P3 Plugin Performance Profiler shows graphs and information about how your plugins consume your WordPress resources.

Multiple types of visual breakdowns are available post-scan providing different insights.  For example, the Simple Timeline and Detailed Timeline views show how different plugins affect different pages.  The Query Timeline view details how many SQL queries are made per page.

Another nice feature of P3 is that when you’re not installing new plugins or making other changes, you can just turn it off, minimizing server load.  Just go to Plugins and select “Deactivate”.  Reactivate it again if you need to use it, as there’s no reason to keep it running.

For my part, I use P3 as part of every new WordPress project and new plugin install.  It’s P3 that steered me away from the hugely popular (yet hugely bloated) Jetpack plugin (use Slim Jetpack instead!). It’s suitable for any and all WordPress administrators regardless of experience level.  I’ve personally gained many valuable insights using P3, and it should definitely be a part of your WordPress project and upgrades.


Plugin #2: W3 Total Cache

The first time I used W3 Total Cache, it saved a project.  Despite a server-side HTTP accelerator already in place, the WordPress site I was working on continued to be slow.  With the client about to pull the project because of pages taking up to 4 seconds to first byte, I installed W3 Total Cache and immediately TTFB was reduced to 1.2 seconds. Instant love.

W3 Total Cache has many options to tweak; use as many or as few as will work for your specific setup.
W3 Total Cache has many options to tweak; use as many or as few as will work for your specific setup.

W3 Total Cache provides your WordPress installation with multiple forms of caching and optimization — all of which will reduce your blog’s need to draw from time-intensive resources like your database and repeated PHP renderings.

One of the nifty features of W3 Total Cache is that after initial installation, all options are turned off.  This makes setup and debugging very easy, because it allows you to turn on options one at time and test, instead of activating all options and making you guess which option is causing your blog to crash.  I would recommend using caution utilizing the “Toggle all caching types” option at the top of the Settings page for that specific reason.

W3 Total Cache also has a minification feature to minimize the overall size of your included JavaScript, CSS, and HTML files, but I haven’t always had luck getting this to work without some fiddling.  When this occurs, you can always instead minify your JavaScript and CSS by hand.


Plugin #3: WP-Optimize

A factor in overall WordPress delivery speed is the size of its database; in this case, smaller is faster.  The longer it takes for a SQL query to finish, the longer your users will have to wait to read your posts.  This wait becomes especially apparent when the administrator chooses for any number of reasons to not to use some sort of caching system like W3 Total Cache (described above), Varnish, or WP Super Cache.

The options for WP-Optimize can't get much simpler than this.
The options for WP-Optimize can’t get much simpler than this.

WordPress also has its own ways to unnecessarily increase the size of your database. By default, WordPress saves all of your past post revisions — and for the blogger that doesn’t refer to old drafts to finish publishing posts, this is completely wasted database space.  Also, the prevalence of automated spam comment systems on the web can greatly increase your database size if you’re not already using a spam filter addon like Akismet.

WP-Optimize makes the task of optimizing your database size ridiculously simple.  Just check the items you’d like to clean out and it’s done.   The addon will also run a report for you showing your newfound savings.


Test it, test it, test it

Though I do recommend each of these plugins/solutions, not every solution works for everyone’s particular installation.  Make sure to always test your blog thoroughly whenever installing or configuring your plugins.

If you’ve found success with any WordPress performance plugins that I haven’t mentioned, I’d sure like to hear about it!  Let me know in the comments below.


Additional reading

WordPress Optimization/WordPress Performance

Comments are closed.