Perfmatters – Our lightweight but powerful WordPress performance plugin

We are excited to share that our premium WordPress plugin, Perfmatters, recently turned three years old. With it, you can now get all the web performance hacks we do on our sites, all within one simple and easy to use plugin.

Check out below how Perfmatters can help take your site to the next level. Unlike some developers who build plugins to make money, we build plugins to solve problems first.

Diving into our Perfmatters WordPress plugin

We developed the Perfmatters plugin with simplicity in mind. We use all of these optimizations on our own sites and are excited to provide an easy way for you to now have them too! No messing around with code or your functions.php file. Performance optimizations shouldn’t have to be complicated and so everything can be enabled/disabled with a single click.

Perfmatters settings
Perfmatters settings

The main way this plugin helps speed up your site is by disabling things that might not be used on your site. For example, by default emojis load on every single page of your site. If you don’t use them, this is simply slowing it down. By disabling it, the script no longer loads and so it reduces your overall number of HTTP requests and your page size.

Another great optimization is to limit your post revisions. These can quickly fill up your database and slow down your site. By limiting them you can ensure a fast and snappy database.

This plugin isn’t designed to replace your caching plugins or image compression plugins, but rather work alongside them to further strip out things that aren’t needed on your WordPress site. Perfmatters is compatible with all popular optimization plugins like WP Rocket, Cache Enabler, Autoptimize, etc. It also works great on hosts like Kinsta, WP Engine, and SiteGround, who have server-level caching.

Perfmatters is for those of you who want to squeeze out every ms of speed from your sites. And maybe you already have some of these hacks in place, this is a great way to manage them without having to edit your functions.php or wp-config.php files.

Perfmatters features

Here are some of the current features in the Perfmatters plugin. And there are a lot more coming too! We use this plugin on woorkup.com and were able to get rid of 6 plugins and a bunch of messy hacks, as they are now all in the Perfmatters plugin.

The above are just a few of the features in the Perfmatters plugin. There are a lot more. And don’t worry about this plugin being too big! It doesn’t load a single thing on the front-end of your site. And is only 60 KB on the back-end.

Script Manager + MU mode

When it comes to WordPress there are a lot of plugins out there that aren’t coded for performance. They are coded for usability and for their rich feature sets. While these things are important, performance almost always get left out of the equation. This is one reason WordPress has such a bad wrap in the non-WordPress developer community.

Why don’t plugin developers simply load their scripts only when the plugin is being used? Well, actually, it’s a little more complicated than that. For example, let’s say you have a plugin with a shortcode that allows you to place it anywhere. With WordPress, it’s much harder to query data from them when you dequeue scripts as opposed to querying data from the post or page metadata.

Therefore, a lot of times this is simply due to usability issues. The less chance they have for a plugin to break, the fewer tickets and support they will have. However, with a lot of plugins on the marketplace, there are ways to get around this and code for performance if they really wanted to.

But that is where the Perfmatters Script Manager comes into play. With it, you can easily one-click disable scripts in WordPress. You can do this on a per post/page basis, by custom post types, or even globally across your entire site. This is very powerful and can drastically increase the speed on your WordPress sites (especially your homepage). A few examples of what this can be used for:

  • The popular Contact Form 7 plugin loads itself on every page and post. You can easily disable it everywhere with one click and enable only on your contact page.
  • Social media sharing plugins should only be loaded on your posts. You can easily disable it everywhere and load only on post types, or even custom post types.
Perfmatters Script Manager
Perfmatters Script Manager

You can disable or enable scripts in the Perfmatters Script Manager using Regex (regular expressions). This is especially helpful for sites that have a more complex URL structure in place or dynamically generated pages (archives, search, etc.).

Disable scripts with Regex
Disable scripts with Regex

(MU) mode takes the Script Manager to a whole new level. It gives you more control and the ability to disable WordPress plugin queries and hooks as well as inline CSS and JS. You can control every aspect of a plugin, from its front-end scripts, inline code, and MySQL queries.

You can use the included Testing Mode to safely preview the Script Manager’s configuration before applying the changes to your public site.

Examples

Below are some examples of sites we are using the Perfmatters plugin. They are of course also optimized, but wouldn’t be as fast without all these additional optimizations. Check out our speed up WordPress guide for additional ways to decrease the load times on your site.

Chad Barnes provides WordPress maintenance services over at SkyrocketWP. He already purchased our Perfmatters plugin and ran some tests. Here’s what he had to say!

skyrocketwp

“Awesome! Perfmatters couldn’t have been easier to setup—really clean design and to-the-point documentation. We took the recommendations from the documentation and reduced our requests by 10% and shaved 12% from our page speed—down from 1s to 864ms.”

We decided to run a few tests for you to see the performance differences when you disable scripts in WordPress.  Also note, all of our sites are pretty optimized already. If you were to run this on an unoptimized site you definitely will see even more speed improvements.

Without Perfmatters on nogluten.com

We are using our nogluten.com site since it is bigger. We first temporarily disabled Google AdSense on the site so we could run tests. Why? Because when AdSense is enabled it loads different amounts of ads each page load, which makes it impossible to run comparison tests like this. We then ran five tests on Pingdom and took the average. This is with Perfmatters disabled.

Speed test without perfmatters
Speed test without Perfmatters

With Perfmatters on nogluten.com

We then enabled the Perfmatters plugin and ran five more tests on Pingdom, again taking the average. As you can see, it decreased our total load times by 20.2%. And on our homepage alone we were able to reduce the number of HTTP requests from 46 down to 30! The page size also shrunk from 506.3 KB to 451.6 KB.

Speed test with perfmatters
Speed test with Perfmatters

You can’t really argue with those results. And this is on top of our server-level caching.

Disabling JavaScript from loading

Now you might be curious what all we disabled in the Scripts Manager, so we will show you. Of course, this will be different on every site. Here is a screenshot of JavaScript we disabled.

Disable JavaScript on homepage
Disable JavaScript on homepage

Here is the JavaScript disabled from loading on the homepage:

  • /wp-content/plugins/wp-shortcode/js/jquery.tipsy.js
  • /wp-content/plugins/wp-shortcode/js/wp-shortcode.js
    • Both the above scripts are being used by a shortcode plugin. With this particular theme, shortcodes aren’t used on the homepage.
  • /wp-content/plugins/extended-widget-options/assets/js/jquery.widgetopts.min.js
    • Used by the extended widget plugin we have running. This isn’t used on the homepage.
  • /wp-content/plugins/table-of-contents-plus/front.min.js
    • Used by a table of contents plugin, also not used on the homepage.
  • /wp-content/plugins/aawp/public/assets/js/scripts.min.js
    • Used by an Amazon affiliate plugin which isn’t used on the homepage.

Here is the JavaScript disabled from loading everywhere on the site except for on certain custom post types:

  • /wp-content/plugins/social-warfare/js/script.min.js
    • Used by our social media sharing plugin. This only needs to load on posts you want people to share.

Disabling CSS from loading

Here is a screenshot of the CSS we disabled.

Disable CSS on homepage
Disable CSS on homepage

Here is the CSS disabled from loading on the homepage:

  • /wp-content/plugins/extended-widget-options/assets/css/widget-options.css
    • Used by widget plugin, not needed on homepage.
  • /wp-content/plugins/nogluten_old/css/style.css
    • Used by a custom plugin we wrote for the site, not needed on homepage.
  • /wp-content/plugins/table-of-contents-plus/screen.min.css
    • Table of contents CSS is not used on homepage.
  • /wp-content/plugins/aawp/public/assets/css/styles.min.css
    • Used by Amazon Affiliate plugin, not needed on homepage.
  • /wp-content/plugins/wp-shortcode/css/tipsy.css
  • /wp-content/plugins/wp-shortcode/css/wp-shortcode.css
    • Both of the above scripts are used by a shortcode plugin, not needed on homepage.

Here is the CSS disabled from loading everywhere on the site except for on  certain custom post types:

  • /wp-content/plugins/social-warfare/css/style.min.css
    • Used by our social media sharing plugin. This only needs to load on posts you want people to share.

woorkup.com

We use the perfmatters on this site, and along with other optimizations, it loads well under 600 ms.

woorkup speed test
Perfmatters speed test 2

wpcoupons.io

We utilize the perfmatters plugin on the site where we sell our other premium WordPress plugin, WP Coupons. As you can see our homepage is blazing coming in under 400 ms.

wp coupons speed test
Perfmatters speed test 3

arizonamri.com

This website is running the Avada theme, which is known for having high load times, but after being optimized, along with installing the perfmatter’s plugin, it easily achieves a 600 ms load time.

avada wordpress theme fast
Perfmatters speed test 4

perfmatters.io

And of course, we utilize the perfmatters plugin on the perfmatters.io, which achieves a 100/100 on Pingdom with a load time of under 400 ms.

perfmatters 100 score pingdom
Perfmatters speed test 5

Getting some good feedback from the rest of the community as well. Make sure to check out Kevin’s in-depth review of perfmatters.

Joe Fletcher

The guy who knows more about WordPress optimization than anyone I know just released a plugin. Tackles a good chunk of my checklist. @tryfletch (source)

Lazy loading

Lazy loading is a quick and easy way to speed up your WordPress site. This works by delaying the loading of images, iframes, videos, etc. until the user scrolls down and the media enters the viewport. In our own tests, we’ve seen on average a 33% speed increase just from this feature alone.

Here a few lazy load features in the Perfmatters plugin:

  • Lazy load images, inline background images, iframes, and videos (YouTube, Vimeo, etc.). This includes WebP support.
  • Swap out iframes with preview thumbnail and SVG play icon which loads the video on click.
  • DOM monitoring for better infinite scroll compatibility.
Perfmatters YouTube thumbnail example (click to load)
Perfmatters YouTube thumbnail example (click to load)

Database optimization

While Perfmatters focuses mainly on the front-end of your site, the back-end is still important when it comes to performance. The plugin also has fast and easy to use database optimization features which can do the following:

  • Delete WordPress post revisions
  • Delete WordPress auto-drafts
  • Delete WordPress spam comments
  • Delete WordPress trashed posts
  • Delete WordPress trashed comments
  • Delete WordPress transients (expired or all)
  • Optimize WordPress database tables
  • Schedule optimization so you don’t have to worry about it
Perfmatters WordPress database optimization
Perfmatters WordPress database optimization

Instant Page

Perfmatters has an awesome feature called Instant Page which lets you automatically prefetch URLs in the background after a user hovers over a link. This results in almost instantaneous load times and improves both the user experience and perceived performance (how fast a site feels). We use this on all of our sites!

Prefetch URLs in Perfmatters
Prefetch URLs in Perfmatters

Defer JavaScript

One of the easiest ways to speed up the paint of a page is to defer JavaScript. This is actually recommended by Google and it will fix those “render-blocking resources” warnings. With Perfmatters you can easily defer JavaScript, and exclude it from deferral where needed.

Defer JavaScript
Defer JavaScript

Host Google Analytics locally

Ironically, the Google Analytics script can be quite heavy. But there are some easy ways to speed this up. Our Perfmatters plugin gives you a few options:

  • Host Google Analytics locally (analytics.js) 17 KB
  • Minimal Analytics 1.5 KB
  • Minimal Inline

We are big fans of the Minimal Analytics option and is what we use on all of our sites. It’s very small, loads incredibly fast, and takes advantage of caching in the browser and your CDN.

Host Google Analytics locally
Host Google Analytics locally

Support from the developers

You get support directly from me and my brother. We don’t outsource anything. We work on our plugins full-time over at forgemedia, this isn’t just a hobby or side gig for us.

Brian Jackson
Brett Jackson

Previously I was the CMO at Kinsta. I have been knee-deep in the web hosting and CDN industry for years. During this time I have optimized thousands of sites and have published hundreds of articles across the web pertaining to WordPress optimization and performance.

Prior to forgemedia, Brett was a WordPress developer for an agency in the medical space. He loves building awesome web applications and of course anything WordPress. He is constantly figuring out new performance optimizations that can he implement to speed up client’s sites.

We take pride in our support and the quality of our plugins. Check out the changelogs for our other plugins (Novashare changelog, WP Coupons changelog), you can see that we push out a lot of updates! That is because we utilize our own plugins on every site we use.

This is the perfect scenario for both us and you, because we also want new features! A lot of developers build plugins to simply make money. We build plugins to solve problems first. So if someone has a great idea that we should add, let us know and we can all benefit from it.

You can check out our current feature requests page for the Perfmatters plugin. If you have a performance idea we haven’t thought of we would love to hear about it!

Pricing

Because it takes time to develop the plugin, update it, and fix bugs we tried to keep the price as cheap as possible. Here are the pricing options:

  • $24.95 for 1 site license. Includes 1 year of support and updates.
  • $54.95 for 3 site license. Includes 1 year of support and updates.
  • $124.95 for an unlimited site license. Includes 1 year of support and updates. The unlimited license also supports multisite setups.

And yes, the plugin comes with a 30-day money-back guarantee. For a limited time though, use our coupon code PERFMATTERS for 15% off!

Visit Perfmatters

Summary

We hope you enjoy the Perfmatters plugin as much as we do! We have a lot of great new features already planned for it and hope to make it the #1 lightweight performance plugin for WordPress.

Brian Jackson

I craft actionable content and develop performance-driven WordPress plugins. Connect on Twitter or subscribe to my newsletter (twice a month, no spam).

33 thoughts on “Perfmatters – Our lightweight but powerful WordPress performance plugin”

    • Glad to hear it Chad! Now everyone can benefit more easily from all these performance hacks. We are already working on new features.

      Reply
      • Hi,

        Just love the feature requests / pending page especially all those WooCommerce hacks as loading all those Woo scripts and CSS is crazy on home page and other non Woo pages.

        Dale.

        Reply
          • Something I would say before even playing with it is (and i dont even know if this is maybe a separate plugin or what!) but one thing we spend a LOT of time on is trying to speed up Woocommerce! Maybe your plugin will do this anyway! I will be back with feedback in a week!

            Cheers

  1. Hi,
    I’ve just purchased the plugin and only 1 comment thus far.

    I am blind myself and use a screen reader to access the web – Jaws from Freedom Scientific / VFO Group.

    In altering the plugin settings, you have used a non standard graphical switch to alter the settings – which I can’t access.

    Can I implore you to switch to standard HTML controls that my screen reader will work with – radio buttons, checkbox for on/off / combo box with on/off options etc.

    This small change would really be appreciated.

    Thanks,
    Dale.

    Reply
    • Thanks Dale for the comment and feedback. We already have an email conversation going back and forth about this. We definitely want to accommodate everyone.

      Reply
    • Just for everyone else reading this. We pushed out an accessibility mode option in version 1.0.2 which solves the screen reader issues. Thanks!

      Reply
  2. Congratulations Brian, it’s a very useful plugin, it make easy a lot of tricks to earn precious milliseconds.

    Do you think to add other optimizations in next updates?

    Reply
    • Hey, I did Amir! It was so much feedback my email back to you is still in draft. I appreciate you taking the time, so I wanted to return the favor. You should hear back from me by tomorrow. We are going to be adding a lot of what you mentioned. Thanks

      Reply
        • Hey Amir,
          Ya sorry, for feature requests I am a little behind on emails. But just responded to you via email. For support requests, we always respond within 12 hours.

          We are about to launch the ability to disable scripts on a page/post. This is a huge update that we have been working super hard on. It is going to make the plugin even better :)

          Reply
  3. Great looking features. I’m beating myself up because I bought a plugin two months similar to your Scripts Manager feature… Argh!

    Reply
  4. Hey Brian, just came across this plugin, looks good from the sounds of it but you mentioned that it is not designed to replace an existing caching plugin, will it conflict with an existing one? Which caching plugin is most compatible with Perfmatters?

    Thanks

    Isaac

    Reply
    • Hey Isaac, it’s designed to work with all caching plugins :) It works great with WP Rocket, Super Cache, etc… and even plugins like Autoptimize. We meant it’s not meant to replace them, as in you will still want a caching plugin if your host doesn’t have server-level caching. Perfmatters plugin is designed to give extra performance on top of your caching plugin.

      Reply
    • Perfmatters works great with WP Rocket. We do additional things they don’t and we don’t try to fix things they already do well. So it’s a perfect harmony :)

      Reply
  5. I notice you have added pre fetch DNS as a feature. WP Rocket under its preload tab has a prefetch feature. Is yours the same or does different things so I should add the urls to both settings?

    Reply
    • Our DNS prefetch does the same thing. So you can use one or the other. We also just added preconnect this week. Recommend using your CDN URL with these.

      Reply
  6. You recommend using our CDN url with these – if using Cloudflare do we have to do anything as it just uses our domain name url?

    Reply
    • If you’re using Cloudflare, then no, you don’t need to add a CDN URL. You can still take advantage of it for external resources though, such as //fonts.googleapis.com/ for prefetch.

      Reply
  7. Hi Brian!

    Is Perfmatters a replacement for wp gonzales?

    Perfmatters feature page isn’t updated? I can see that this post has a lot more features.

    Reply
    • Hey James, it definitely can be! You can disable scripts on a per-page/post basis or sitewide. With our new MU mode, you can also disable plugin queries and inline CSS/JS. I’m working through all my marketing stuff since we are now working on all of our plugins full-time. To be honest we’ve been really busy with development lately, so the features page needs a little updating. I’ll try to do that this week. But everything you see in the post above is in the plugin, and much more. You can check out our changelog here: https://perfmatters.io/docs/changelog/ We’ve also got an exciting update coming this week we’ve been working on.

      Reply

Leave a Comment

5