Discover This Hidden WordPress Performance Gem

Discover This Hidden WordPress Performance Gem

At first I must issue an apology for the link-baity headline. I was going to go with the standard Top n ways to improve WordPress performance, but I realized pretty quickly that Top 1 way to improve WordPress performance would be a less than inspiring way to start, and also factually inaccurate for what I’m about to share.

If you would prefer I just got to the point, the hidden gem I’m going to share is a great little plugin called Plugin Organizer. For a plugin I’ve found so valuable I’m a little surprised that it only has just over 10,000 active installs on WordPress.org.

Before we dive in to why this plugin is important for improving the performance of your WordPress website, a little background is in order.

How WordPress Plugins Impact Performance

Out of the box WordPress includes fairly standard blog and website functionality. While themes help customize the look and feel of your website, plugins help customize and extend the functionality of your website. Plugins can make small additions to site functionality, such as adding a contact form, or augmenting the commenting features of your site. Plugins can also be fairly extensive, such as the GeoDirectory plugin which allows you to add all the features of popular websites like Yelp.

Unfortunately all this additional functionality comes at a cost. For the purposes of this article we’re not going to talk about the complexity, maintenance and security concerns of using WordPress plugins, and instead focus on the performance concerns.

Elegant Themes published an article last year where they analyzed the performance impact on a site of some popular WordPress plugins. The takeaway being that plugins have an impact on performance, more complex plugin or poorly written plugins can degrade performance in a more significant way, and that using more plugins compounds the effect.

What happens When a Plugin loads

Without going into too much detail about how WordPress plugins work, when a plugin loads three things happen:

  1. Server side processing takes place, which likely includes many database queries to load data or settings. Depending on the type of query this could take just a few milliseconds or many seconds.
  2. Additional files are downloaded to your web browser that can include javascript, css and more. Depending on the plugin this may be a lot for features that are front-end heavy, or may be fairly minimal or none at all for plugins that primarily affect server side behavior.
  3. Client side processing takes place. Javascript may be run, or css rules evaluated within the browser. This tends to slow down the page load for less powerful devices, and can particularly have an affect on mobile devices where both battery life and performance are sacrificed.

How Plugin Organizer Speeds Up Your Website

Plugin Organizer speeds up your website by only loading the plugins necessary to view a particular page. A common example would be contact form plugins. Typically the server side processing, additional downloads and client side processing are only necessary for the contact page. Performance for all the other pages can benefit from not loading the contact form plugin. A popular contact form plugin, Contact Form 7, even has a guide for selectively loading their plugin to improve performance. A task made significantly easier by using Plugin Organizer.

While any single plugin may not degrade performance significantly, for more complex websites that use 20, 50 or even 100 plugins, Plugin Organizer can quickly become essential to ensure your website loads in a reasonable time.

Plugin Organizer Is Different From Script Blockers

Another popular approach to improving performance is script blockers. One of my favorites is the Perf Matters plugin, written by one of the team leaders at Kinsta. Blocking scripts and other files from downloading can speed up the perceived performance since it avoids unnecessary downloads and client side processing, but it does not prevent the plugin from loading server side, so there is still some performance penalty on pages where the plugin is not necessary.

I’ve found Perf Matters to be more useful in situations where a poorly written plugin downloads unnecessary resources. A recent example one of my websites was using a plugin that would download all the Font Awesome fonts, to the tune of almost 500 KB on every page, even though it only used a few. This was fixed by using the Font Awesome plugin to selectively download the icons, and blocking the download of all the icons.

The Downside of Using Plugin Organizer

Apart from the time to configure and test, there is generally very little downside in using Plugin Organizer. The one worth mentioning is its affect on caching.

Plugins such as Autooptimize combine and minify the css and javascript on a page to help improve performance. While the specifics of how this improves performance are beyond the scope of this article, and worthy of a deeper discussion in light of http/2, there are still many situations where combining resources is useful.

In this case, by selectively loading only certain plugins, the combined css and javascript on each page will differ. This means that users won’t necessarily benefit from either the browser or server side cache on each page, and in certain instances may require these resources to be re-downloaded.

Getting Started With Plugin Organizer

In a future article we’ll cover the setup of Plugin Organizer in more detail. The easiest way to get started is to take three steps:

  1. Install and Activate Plugin Organizer
  2. Disable a few plugins in the Global Plugins settings page. Choose plugins you know are only used in a few places, like a contacts plugin for the contacts page.
  3. Create a Plugin Filter for those pages that selectively enables the plugin on just those pages.

Viola! Measure and enjoy the improved performance from using Plugin Organizer. Feel free to ask any questions below, I love talking about WordPress and WordPress performance.