Plugins are one of the best things about using the WordPress CMS, though they are also some of the worst page load lag time offenders. We reported last week about how advertisements can severely increase (sometimes doubling) page load time, and this week we have plugins on our chopping block.
Page load time is a major factor in how well your site ranks in search engines as well as keeping visitors on your pages. There are an incredible amount of resources (this is a good one here that really drives the point home) that have already been published that talk about how important a fast loading blog is, so I won’t go into detail here. All I will say is: the faster the better. Aim for under 2 seconds. If you’re over this then tweak, tweak, tweak.
To test how fast my pages load I use Pingdom Tools. When I ran the homepage of Vagabond Journey, www.VagabondJourney.com, it reported that it loaded in 2.74 seconds. Not horrible, especially considering all the elements I have running on that page, but I can do better.
So I installed a plugin called P3 Plugin Profiler, which is a plugin that measures and compares the load time of all the plugins you’re using on your site, and ran it.
This was the report:
I was using 26 plugins (this is a lot, but many are backend plugins that are either not loaded when visitors view the site or do vital tasks, such as decreasing page load time — more on this later).
I found that these plugins where the cause of 54.7% of the page load time of my site and that they were producing 57 database queries per page load. This was a problem that I needed to do something about.
So I looked at the main offenders:
All In One SEO Pack
Blogmechanics Keyword Link
Custom Post Limits
Surprisingly, Microkid’s Related Posts, SliderPro, and Youtube Channel Gallery, the plugins that I previously thought would be adding on large amounts of load time, were not having that much of an impact.
So now I needed to triage my top six load time adding plugins. There is an old saying in the WordPress community: Never use a plugin when you can use a function, never use a hack when you can use a plugin. But I’d like to add one more line to this: never use an element on your site that you don’t really need. So I ask myself: do I really need these plugins?
All In One SEO Pack?
I’ve been planning on migrating from All In One SEO to Yoast’s WordPress SEO for a while, and now I was given the impetus to get on with it. The later is by far the better option, and migration of data from the old SEO plugin is easy (instructions here).
Blogmechanics Keyword Link?
This is a plugin that can automatically link certain keywords on your pages to other pages that you specify, Wikipedia style. While this plugin in helpful, it’s time intensive: you have to load in each keyword you want linked manually (obviously) and I haven’t been keeping up with it. In the end I don’t really need this plugin, so I axed it.
Custom Post Limits?
I’m actually surprised that this plugin was taking up so many resources. All it does is provide the option to manually determine how many posts you want showing on the homepage and archive pages. I started using it so I could have a different number of posts showing on my homepage than on category and tags pages, but I was just being lazy: I can easily do this with a function. So I axed this plugin as well.
Anytime a plugin is called an “engine” by its developers you know it’s going to be resource intensive. But this doesn’t mean that it’s automatically bad. What the WP-Minify plugin does is combines and condenses all of my various CSS and JS files, so this plugin ultimately decreases page load time in a big way. It’s essential, so I’m kept it.
This plugin adds a new taxonomy (series) to categories and tags, and allows me to string two or more posts together in short series. What I like about this plugin is that the series archive pages are displayed from oldest to newest, instead of newest to oldest, like cat and tag archives. This allows readers to easily go through a series of articles that are essentially all part of the same story from start to finish. This plugin is cool, especially since I like to sometimes have long stories that span more than one post — but do I really need it? For now, I put this one in the “maybe to be axed another day” pile.
This is pretty much the top podcasting plugin out there. The problem? I hardly ever publish podcasts. In over 3,000 pages on VagabondJourney.com, I only have one podcast. While I have some others on other sites, for this blog it’s not worth slowing down page load time of all pages for a single audio interview. Axed it!
So that takes care of the biggest plugin derived page load drags.
Now, I’m going to look through my list of plugins to see if there are any others that I don’t really need. Plugins are something that are easy for publishers who use WordPress to hoard, store, and forget about. The realization that I was using 26 plugins was kind of a shock? Really? I’m using this many?
Even if a plugin doesn’t add that much load time, if it’s not truly needed any time is too much. So after looking through my list of installed plugins I found some that I don’t really need anymore: Widget Context, Copy Link, and Google Sitemaps.
I only use one Widget on my entire blog and it goes on all pages, so I don’t really need a plugin that provides additional functionality for them. As far as Copy Link goes, I find it truly F’in annoying when I copy and paste from other sites that use similar scripts, so it would be rather two faced to keep using it on my sites. Also, most of the top SEOs out there (who have hard data on the usage benefits of such things) are not using this plugin on their sites, so I figure that it’s probably not worth the load time (also, this plugin sometimes conflicts with others). I also no longer need the Google Sitemaps plugin because a sitemap generator is included with the Yoast SEO plugin that I just migrated over to.
After deactivating and deleting six plugins, and switching another, I got plugin load time down to 46% and page load time reduced by half a second. If you don’t think this did much for performance, check this out:
- Facebook pages that are 500ms slower result in a 3% drop-off in traffic.
- If Google increased page load by +500 ms they get 25% fewer searches.
- If Yahoo increased page load times by +400ms they see a 5 – 9% drop in full-page traffic.
Now don’t take this tip to mean that all plugins are bad and all increase page load time. That’s not the case, especially when there is an entire class of plugins that are designed specially to make sites run faster. Some of the plugins I use for this purpose are: WP-Supercache (I’m in the Supercache camp, please don’t suggest I use Total Cache), WP-Widget Cache, WP-Minify, and I would use Google Libraries if it didn’t clash with other plugins that I run. I also do a lot of backend work manually to increase page load speed that many webmasters use plugins for (including Gzip compression and photo compression), so that’s why they’re not mentioned here.
Remember, unless running a plugin that increases site speed, each time you push that “Install Plugin” button you’re adding onto your site’s load time. Only use plugins when you have to.
Oh yeah, and make sure you delete P3 Plugin Profiler when you’re finished with it.