Perfmatters

Perfmatters is one of my top 2 WordPress performance plugins. Full disclosure: I personally know the plugin author, Brian Jackson. I first met him in 2016 when he was working for KeyCDN, publishing awesome content about WordPress performance. And now he works for the performance-focused WordPress host, Kinsta (check out our 5-star review).

Brian is obsessed with performance. Seriously, he cares about every millisecond of every page load. So while Brian is a good friend of mine, he’s arguably the best person I know to develop a WordPress performance plugin.

Brian provided a copy of his plugin, free of charge, for me to try out.

Exclusive Discount: Use code WPSMACKDOWN for 20% OFF. Buy Now »

In this Perfmatters review, we’ll cover the following:

🚀The Holy Grail of WordPress Performance = Kinsta Hosting & CDN + WP Rocket + Perfmatters

What is Perfmatters? 🤔

Perfmatters is a premium WordPress performance plugin that allows you to disable unneeded features (mostly JavaScript & CSS) in order to speed up your site. It’s a great compliment to our favorite performance/caching plugin, WP Rocket.

NOTE: This is not a caching plugin. It provides more fine-tuned options to optimize specific areas of your site, remove individual scripts, and manage assets on a page-by-page basis. It’s the perfect compliment to a caching solution.

Why you need it

Most WordPress themes & plugins load quite a few files to make your site look & function the way it does. These CSS (styles) & JavaScript (scripts) files add weight to your page, which slows down the loading of your site. Your visitors have to wait longer for the pages to load, and Google might bump you down in results because of it. Not good.

The following WordPress plugins are notorious for adding styles & scripts when they aren’t necessary:

SEE ALSO: The 10 essential WordPress plugins

Perfmatters makes it easy to disable any of these styles or scripts. You can disable them for your entire site, only on specific post types, or even on an individual post/page basis.

A fast WordPress host (we recommend Kinsta), a quality theme & a solid caching plugin (WP Rocket) might get you 80-90% of the way to a fast site. Perfmatters powers you across the finish line to that final 10% of ultimate WordPress performance.

Perfmatters Features

All Perfmatters features
All of Perfmatters general options

Here’s a rundown of Perfmatters many features:

  • Script ManagerSee below This is a game-changer!
  • Run Google Analytics locally – This feature is in beta and should be used with caution. DO NOT use it with any other Google Analytics plugin. But if you want to run the Analytics script on your own server, instead of from Google, this can provide some performance benefits. More about local analytics »
  • Disable emojis – WordPress loads a script on every page (wp-emoji-release.min.js). If you’re not using emojis, you should disable it.
  • Disable embeds – This enables pretty previews of YouTube videos, tweets & other embeds. If you don’t care about these, you can disable this script (wp-embed.min.js).
  • Remove query strings – Query strings can hinder some CDN’s ability to cache your styles & scripts. Removing them can provide some speed improvements.
  • Disable XML-RPC – This is only needed if you’re using other apps to access your WordPress site (mobile app), or using some plugins, like Jetpack. If you’re not using these, disable XML-RPC for better performance.
  • Remove jQuery Migrate – This is a script (jquery-migrate.min.js) that most themes & plugins do not need. In most cases, it’s fine to disable it, which eliminates another unnecessary file from loading on your site.
    * Some page builders might need this file, so be sure to test this one.
  • Remove unnecessary stuff from <head> – WordPress adds a bunch of stuff to the <head> section of your pages. Much of it is not necessary, and other stuff you just might want to remove. You can remove the following:
    • WordPress version number
    • wlw manifest link (Windows Live Writer)
    • RSD link (if you don’t need XML-RPC, you probably don’t need this)
    • Shortlink (<link rel="shortlink">)
    • REST API links (most sites aren’t using the REST API, so you don’t need these)
  • Disable RSS Feeds – RSS feeds add several links to your site’s page. If you don’t want your site to be available for RSS feed readers, you can disable these.
  • Disable Dashicons – Some themes load a stylesheet (dashicons.min.css), but if you aren’t using these icons, you don’t need it.
  • Limit/Disable Heartbeat API – This causes server requests very frequently, which can bog down your server. Learn more about how to limit/disable the Heartbeat API.
  • Disable Password Strength Meter – This will disable the /wp-includes/js/zxcvbn.min.js script from loading across all pages, and just load when it’s needed.
  • Enable Preconnect & DNS Prefetching – These allow you to alert the browser in advance of certain files you know you’re going to need to download. This helps save time when loading pages, and speed up your site.
  • Disable/Limit Post Revisions – These can clutter your database and slow down your site. Turn them off completely or limit them to only a few.
  • Change Autosave Interval – By default, WordPress autosaves your posts every 60 seconds, which means writing to your database. Lengthen this interval to speed things up a bit, especially in the admin area when you’re editing posts/pages.

We’ve also written extensively about how to limit/disable post revisions & how WordPress autosaves work.

  • Disable Google Maps API – Some themes/plugins load Google Maps scripts when they’re not needed. If you aren’t running Google Maps on your site, you can stop these scripts from loading (//maps.googleapis.com/maps/api/*//maps.gstatic.com/mapfiles/*)

Running Multisite?

Perfmatters is 100% compatible with WordPress Multisite. You’ll need an unlimited license, but if you have a bunch of sub-sites, it’s totally worth it.

Perfmatters Multisite options
How to use Perfmatters on a WordPress Multisite install

Running WooCommerce?

You only need to run certain scripts on product, cart & checkout pages. Perfmatters makes it easy to disable scripts, styles, widgets and more so you only load them when they’re needed.

Perfmatters WooCommerce options
Perfmatters WooCommerce options available

Local Analytics

Here’s a quick look at the current features (as of July 2018) for Perfmatters local analytics implementation:

Perfmatters local analytics

Perfmatters Script Manager

The script manager is arguably one of the best features of the Perfmatters plugin. It gives fine-tuned control over every page, every stylesheet and every script that your site loads. You are in full control over which files you serve up to your users.

How to access the script manager

First, you need to enable it from the Extras tab of the Perfmatters settings page.

  • Navigate to Settings > Perfmatters
  • Click the Extras tab
  • Enable Script Manager and click Save Changes

Enable script manager in Perfmatters

Then, there are two ways you can access the script manager:

  • If you have the WordPress toolbar enabled, you can click “Script Manager” when viewing any page on your site

Perfmatters script manager toolbar link

  • You can also add ?perfmatters to the end of any URL. You’ll need to be logged in as an administrator to access it.

How to use the script manager

You’ll be shown a list of all styles & scripts that are loaded on that page. You have 3 options:

  • Keep the script enabled
  • Disable the script on your entire site
  • Disable the script only on the current page
Perfmatters script manager example
An example of the script manager in Perfmatters (click image for full size)

As you’ll see in my performance tests below, I was able to prevent at least 14 unnecessary files from loading on my test page. You can do the same throughout your site, on a page-by-page basis.

Global Settings

Perfmatters scripts manager global settings screen
Click image for full size

The script manager also has a Global Settings tab. This allows you to see a visual representation of the styles/scripts you have enabled and disabled for your entire site, and breaks it down by:

  • everywhere (meaning your entire site)
  • current (meaning the current page only)
  • post_types (meaning only on certain post types)

You can read full documentation on the script manager here »

Exclusive Discount: Use code WPSMACKDOWN for 20% OFF. Buy Now »

Perfmatters Speed Tests 🚀

I ran speed tests on one of my sites, without Perfmatters installed and again after setting up a bunch of its optimization features. I’ll briefly introduce my site’s setup, show you which features I enabled, and then show you the results from my tests. Just how much did Perfmatters speed up my site? 👇🏼

Testing Notes

Page tested: https://analternateroute.com/2017/colorado-adventures-wide-open-space/

  • hosted on SiteGround’s GoGeek plan
  • running the Twentysixteen theme
  • not using any CDN
  • using Cloudflare for security & some performance benefits
  • testing a single post with 734 words, 9 images & Jetpack’s sharing buttons enabled

My Perfmatters Settings/Features

In the global settings, I enabled almost every setting.

  • I kept RSS feeds active since many sites will want to continue allowing RSS
  • I did not enable local analytics because I’m using another plugin to load Google Analytics already
  • I disabled more than 10 scripts & styles from the page using the script manager

You might only notice subtle differences in the tests below, but the main metric to look at is Requests. This refers to how many files are requested by each visitor. The lower the number, the better.

Most of the files I request on this site are quite small, so only minor performance benefits are observed. But for bloated themes, page builders & sites with 20+ plugins, you’ll likely see a huge difference in page size & load times.

Green = positive change
Red = negative change

GT Metrix Performance Test

Test Results: Before, After

Before After Change
PageSpeed Score F (35%) F (36%) +1%
YSlow Score C (75%) B (80%) +5%
Load Time 2.0s 2.3s +0.3s
Page Size 3.95 MB 3.90 MB -0.05 MB
Requests 68 54 -14
GT Metrix score before
GT Metrix score BEFORE Perfmatters
GT Metrix score after
GT Metrix score AFTER Perfmatters

GT Metrix Summary

Nothing too staggering here, but 14 fewer requests to your server is noteworthy. It just goes to show you how many files are being loaded that simply aren’t needed.

Pingdom Performance Test

Test Results: Before, After

Before After Change
Performance Grade 74 89 +15
Load Time 1.63s 1.67s +0.04s
Page Size 4.1 MB 4.0 MB -0.1 MB
Requests 68 52 -16
Pingdom score before
Pingdom score BEFORE Perfmatters
Pingdom score after
Pingdom score AFTER Perfmatters

Pingdom Summary

The 0.04s increase in load time is negligible, but huge improvements in performance grade & number of requests. And like I stated before, Brian cares about every single byte. 0.1 MB matters, especially when you multiply it by hundreds of thousands of visitors over time.

Google PageSpeed Insights

I’m including this data because Google PageSpeed Insights are popular, but not because I think they’re important. I agree with WP Rocket’s statement that:

Google PageSpeed gives you recommendations how to improve the performance of your web site, but it does not actually measure the speed (aka: loading time) of your website. If your site loads fast, you can safely ignore PageSpeed’s recommendations.

* X out of 100. Higher numbers are better.

Before After Change
Desktop Score 75 76 +1
Mobile Score 58 60 +2

Conclusion

I tried to make the information in this review speak for itself. You can make your own determinations based on the features I’ve outlined & the results of my speed tests. I believe Perfmatters provides that little bit of extra control that fills the gap in WordPress performance.

Exclusive Discount: Use code WPSMACKDOWN for 20% OFF. Buy Now »

And just in case you’re curious about some of the intangibles that make a plugin successful and truly worth the money…

What about Support? You’ll receive support directly from Brian and his brother. I can guarantee you’ll receive quick responses & top-notch customer service.

Documentation? Some of the best in the business. Over 50 articles on how & why to use each feature, complete with tons of screenshots.

Feature Requests? Brian is great at listening to feedback. They have a dedicated page for requests, and he’s even implemented a few of them already.