Perfmatters is a multi-dimensional plugin. It is a script manager, a WordPress optimization plugin, that provides Google Analytics integration, image optimization, database management, and CDN features as well.
If you’re a stickler for website performance, you will be open to learning more about the relatively lesser-known speed optimization plugins available today. Perfmatters is one such performance plugin for WordPress websites.
It’s lightweight, easy to configure, and offers only those features that will actually boost your website speed without sapping your server resources. Perfmatters was created by two brothers, Brian and Brett Jackson, who are avid web performance geeks.
Brian Jackson was the former CMO at Kinsta. So these guys know what they’re talking about and I am interested in listening. I hope you too will as I review Perfmatters and guide you with configuring the best Perfmatters settings for your website.
What is Perfmatters and is it required?
Perfmatters is a performance optimization plugin for the backend and frontend. But, it’s not a caching plugin. It does not cache your pages or scripts. It should be used collectively with a WordPress cache plugin like WP Fastest Cache or WP Rocket (check out my WP Rocket settings guide).
I will also clear any remaining doubts about Perfmatters vs WP Rocket at the end of this post.
Your website will experience a lesser number of HTTP requests, a lower amount of code that will enhance the user experience as well as a faster WordPress admin panel for logged-in users.
Recommended: Speed Up WordPress in 10 Easy Steps
It has many overlapping features with cache plugins and other optimization plugins. However, it also has many unique features of its own that are not found collectively in one plugin.
That’s why our focus will be on utilizing its unique optimization features to boost the overall website performance.
Finally, if you still haven’t bought Perfmatters, kindly purchase it using my affiliate link. I will receive a tiny commission in return. While it won’t make me rich, it will surely motivate me to write more such walkthroughs and guides.
Use code PERFMATTERS for a 10% discount.
Once you upload the plugin, activate it and proceed to Settings > Perfmatters in your WordPress dashboard.
The settings panel is uncluttered with a simple layout. All the grouped options are listed under a single tab (General, Assets, etc.) and you can toggle any feature on and off.
I also liked the extensive documentation that Perfmatters offers. You can click the ? icon beside any option to read about that feature in detail.
Perfmatters Settings: General Options
The options in the General settings tab are the first and most important ones to configure. Let’s tackle them one by one.
- Disable Dashicons: Dashicons are the small icons that appear in the WordPress dashboard menu and in the top menu bar. This option turns off dashicons on the front-end when logged out. The backend will display the dashicons like before. So you should enable this feature.
- Disable Embeds: This option disables embed previews when you embed YouTube videos, tweets, etc. in the post editor. The front-end displays normally. Turn off embeds if you don’t care much about in-post previews.
- Disable XML-RPC: The XML-RPC function in WordPress is used for pingbacks and trackbacks which is another name for comment spam. Also, XML-RPC can result in security vulnerabilities. So it’s best to turn off XML-RPC completely.
- Remove jQuery Migrate: jQuery Migrate is required by plugins and themes that have still not updated the legacy version of jQuery. WordPress added support for jQuery Migrate in version 3.6 and stopped enabling it by default from version 5.5. However, if you’re using a page builder then it’s recommended to keep this option turned off.
- Hide WP Version: WordPress reveals the version number in the meta tag information by default. You should active this option to hide your WordPress version from hackers who may be looking to exploit some vulnerability in a particular version of WordPress.
- Remove wlwmanifest Link: This feature is required only if you use Windows Live Writer for writing and publishing your blog posts, which in 99% of cases you don’t. So just turn it off.
- Remove RSD Link: WordPress inserts a RSD link on every page to provide support for off-browser editing. Since 99% of users edit their blog content from a web browser, you can remove the RSD link and save a HTTP request in return.
- Remove Shortlink: WordPress adds the post/page id to the meta information for every page. This is not required if you have selected a pretty permalink structure like yoursite.com/my-page. So, it’s recommended to remove the shortlink from the meta info.
- Disable RSS Feeds: This option will disable all RSS feeds on your blog. Not recommended to turn on since it deprives users of accessing your feed content.
- Remove RSS Feed Links: This option removes the WordPress-generated RSS feed tags even if you keep RSS feeds enabled. Again, since some services might require these links, it’s best to keep this option disabled.
- Disable Self Pingbacks: Whenever your publish a new post, WordPress pings the post that are linked to from this post, which is really not required. So, you should disable self pingbacks.
- Disable REST API: The REST API is required by some plugins and themes to communicate with the developers and also required by the WordPress block editor. But it also reveals the username of the authors who have published a post on your site. So it’s recommended to disable it for Non-Admins or disable when logged-out. However, if you’re running a multi-author blog, then it’s best to keep it enabled (default).
- Remove REST API links: WordPress by default adds API links to your site header apart from other code that is not needed even if you have REST API enabled. So it’s safe to remove these links and reduce your page load times.
- Disable Google Maps: Does your theme have Google maps API built-in? This can be a resource hogger as the site will make constant calls to Google maps API. If you don’t use Google Maps, just turn them off with this feature. Even if you do, input the Post ID in the box below to display the maps only on those selected pages.
- Disable Password Strength Meter: The password strength meter on your profile page or password reset page is a cool WordPress feature. However, WordPress loads the script on every page even when not required. This option turns off the password strength meter script from loading on non-essential pages.
- Disable Comments: This feature is self-explanatory. To turn off commenting on your blog, activate it. Otherwise, leave this option disabled.
- Remove Comment URLs: WordPress includes the website URL in the comments field by default. Many spammers leave spam comments just to get a comment backlink even though it has zero SEO value. Turn on this option to remove the comment URL field from the comments box and say goodbye to comment link spam.
- Add Blank Favicon: If your site lacks a favicon, it may trigger a 404 error on speed testing websites. To avoid this, use the Blank Favicon feature.
- Disable Heartbeat: The WordPress Heartbeat API makes constant calls at one call per 15 seconds to your server to check for updates, save post drafts, etc. This can quickly eat into precious hosting resources. That’s why you should select the option to allow the Heartbeat API only when editing posts/pages. Secondly, you should reduce the Heartbeat frequency to one call every 60 seconds for optimal performance. If you’re using WP Rocket to control the WordPress Heartbeat, then do not tinker with this setting.
- Limit Post Revisions: By default WordPress saves multiple copies of post revisions automatically. This bloats your database needlessly. That’s why I suggest to limit your post revisions to 3 to avoid database bloat.
- Autosave Interval: WordPress auto saves your drafts every minute. This can cause browser lag when you have multiple images and other media. Tha’s why I recommend to set the autosave time to 3 minutes.
- Login URL: Perfmatters has this cool security feature where you can change your login URL to deter automated login attempts. Just input the login URL you would like to use in place of the default page (yoursite.com/wp-login.php) and you’re all set. The best part that is you can change the login URL as frequently as you like. But make sure that you have not changed your login URL using some other plugin otherwise it will cause a conflict.
The Assets tab in Perfmatters lists the settings for managing the scripts on your site.
1. Script Manager
The Script Manager is a powerful feature in the Perfmatters plugin. Once enabled, it displays an option to manage scripts in the top admin panel on every page of your site.
Note: You will need to view the page from the front end to be able to use the Script Manager.
The Script Manager displays all the scripts that run in the background on page load. You can turn off individual scripts from running if they are not required.
For example, a contact form script might load on all the pages while it should load only on pages where a contact form is embedded.
The scripts that load on a page are categorized under 3 heads: Plugins, Themes, and Miscellaneous. You can disable all the scripts that are grouped together (like all the scripts inserted by a specific plugin or theme) or you can disable them on an individual basis.
I recommend disabling the scripts on an individual basis. Also, always check the front end of your website and that particular page whenever you disable a script. If something breaks, just re-enable the script.
Another cool feature is that you get to know the exact size of individual scripts as well as the total size of the scripts inserted by a plugin, theme, or other tools. This way you can decide whether it’s worth disabling a script or not.
- Include jQuery: When this option is activated, jQuery files will also get deferred but this may cause your web pages to break. Hence, it’s recommended to keep this feature disabled.
- Exclude from Deferral: You can exclude specific files that are needed for page load from getting deferred. Just input the file URLs in the box in the following format: /generatepress/js/menu.min.js
The preloading feature in Perfmatters works just like in cache plugins like WP Rocket. It preloads and prefetches resources like URLs, files, domain names, etc. beforehand to load the page almost instantly for your visitors.
📢 Since this is an overlapping feature with cache plugins, you can keep some or all of the settings disabled if you’re using some other plugin for this purpose.
- Enable Instant Page: This feature prefetches a URL when a user hovers over it resulting in almost instant load times. Highly recommended to enable this option.
- Preload: You can preload resources like fonts, images, embeds, CSS files, etc. on chosen pages. You will need to enter the complete URL of the resource to preload. Also, it is a good practice to preload only those resources that are required immediately for page load and not every resource. Finally, you should mention the page ID in order to preload the resource only on specific pages and not everywhere.
- Preload Critical Images: This is a new feature in Perfmatters. You can preload the images on pages to reduce the Largest Contentful Paint (LCP) Core Web Vital. The default is set to 0. You can preload up to 5 images on a page. I suggest that you start with 2 images and if it results in lower page load times, you can try to preload more images.
- Preconnect: Your web pages constantly need to connect to some resources hosted on external sites like fonts, analytics, etc. So it’s a good practice to preconnect to these domains to reduce the page load times. Some of the common preconnections include fonts.gstatic.com, googleanalytics.com, etc.
- DNS Prefetch: Let’s say a script is hosted on an external website. So, the browser needs to first lookup the external site before initiating a connection. DNS prefetching looks up the external domain before the user clicks on a URL to reduce the time involved in this process. Enter domains to prefetch in the following format: //googleanalytics.com.
Lazyload is a great way to boost web page performance. It ensures that objects like images are loaded only when they appear in the viewport of the user. Perfmatters offers a number of lazyload options.
- Images: Since images usually account for the biggest chunk of your page size, you should enable image lazyloading. But make sure that this feature is not already enabled by an image optimization plugin or your cache plugin.
- iFrames and Videos: Toggling this option will lazyload iFrames and videos embedded on your blog pages. iFrames can make pages sluggish and result in a poor user experience. That’s why I recommend to turn on lazyload for iFrames and videos.
- YouTube Preview Thumbnails: Once you activate lazyload for iFrames and videos, you should also activate lazyload for YouTube preview thumbnails. This option will replace the YouTube video iFrame with the video thumbnail. The iFrame will load only on user click. This feature results in massive savings in page load times as per tests conducted by Perfmatters developers.
- DOM Monitoring: This feature adds lazyload for pages with infinite scroll. If your site does not utilize infinite scroll, you should keep this option disabled.
5. Add Missing Image Dimensions: If you’re not using a dedicated image optimization plugin, you can turn on this feature and add the correct image dimensions to all images on your website so that they load faster on web browsers.
6. Fade In: This feature adds a fade-in effect to all images when they enter the viewport of the user on scroll. It helps to prevent jerking when the image appears on the screen. Consider it an optional feature only.
7. CSS Background Images: Your website theme and some page builder plugins may load background images from CSS that are not critical for page load. These images can be lazyloaded so that the normal rendering of the page is not adversely affected.
We all love to use fancy fonts on our pages but fonts also notoriously increase the page load times since many font files are loaded on external sites like Google fonts. Fortunately, Perfmatters has multiple font options that allow us to display different fonts while leaving minimal impact on page speed.
- Disable Google Fonts: This setting will disable Google fonts across your website. Not recommended to turn on if you’re not using Google fonts. And if you are, you should not bother as Perfmatters has local Google fonts feature as well.
- Display Swap: This setting will activate the ability to display local fonts while the selected Google font file loads for the user. This also fixes the problem of “text should be visible at all time during page load”. So you should activate it.
- Local Google Font: This is an outstanding feature in Perfmatters. When you activate the local Google fonts option, Perfmatters will host the selected Google font file locally on your server without you having to lift a finger!
- CDN URL: This setting is useful only if you’re using a traditional CDN with custom URL. If you’re using Cloudflare, just leave it blank.
Perfmatters provides support for integrating your CDN on your website.
Note: Do not use these settings if you’re using Cloudflare since your website traffic is already routed through it and nothing more needs to be done. Also, skip these settings if you’re using another plugin for integrating your CDN.
- Enable CDN Rewrite: To be able to use your CDN, you will need to first activate this option.
- CDN URL: Now input your CDN URL here. Example: https://rocketcdn.yoursite.com
- Included Directories: Include all the WordPress directories you would like to be hosted on your CDN. WP-Content and WP-Includes are added by default.
- CDN Exclusions: If you wish to exclude some directories or file extensions from your CDN, you can enter them here.
You can use Perfmatters to easily integrate Google Analytics into your website.
Note: Only use this feature if not already using a plugin (except Monster Insights) to integrate Google Analytics code. Adding the same code twice will skew your Analytics data.
- Enable Local Analytics: This is a great feature. When you enable this, Perfmatters will host the Analytics script locally on your server resulting in lower page load times.
- Tracking ID: Input your GA tracking ID like UA-000000-2.
- Tracking Code Position: Do you want to place your tracking code in the header (default) or footer. By placing in the footer, you can eliminate render blocking but on the downside it might not work well for slow a loading site. So I recommend to place it in the header.
- Script Type: Choose which GA code you wish to integrate. If unsure, just leave it to default (analytics.js).
- Disable Display Features: Enable to disable display features in GA like remarketing and advertising. If you’re using these analytics features then skip this option.
- Anonymize IP: Anonymize visitor IP in your Analytics dashboard for better privacy compliance.
- Track Logged In Admins: Leave this setting disabled unless you wish to track your own visits and skew your analytics data.
- Adjusted Bounce Rate: A single-page visit is considered a bounce in GA. But what if the visitor read the entire page, got the information he/she wanted, and went back? You might not want to count this as a bounce. That’s why you can enter a minimum timeout of say 30 seconds. If the visitor stays on the page for atleast 30 seconds then he/she will not be counted as a bounce even if the visitor did not visit any additional page on your site.
- Use MonsterInsights: You can use the MonsterInsights plugin to track your analytics data even while hosting the GA script locally. Another great feature. Don’t worry about adding the GA code twice as other GA features will be automatically disabled in Perfmatters.
- Enable AMP Support: Only enable if using AMP otherwise skip it.
Now let’s check out the last important feature in Perfmatters, database optimization. These settings can be accessed from Tools > Database in the Perfmatters panel.
Note: If you’re already using a database optimization plugin like WP-Optimize or a cache plugin like WP Rocket to clean up your database, then you should skip this part.
Perfmatters allows you to clean up the following database items: post revisions, post auto-drafts, trashed posts, spam and trashed comments, transients, WordPress tables.
You can either clean up your database manually, or better, schedule a daily, weekly, or monthly cleanup. I suggest that you schedule a weekly cleanup to keep your database bloat-free.
Select the database items that you would like to clean up and select the weekly database optimization schedule. If you’re unsure, just select all the items. Then hit the Save Changes button and you’re done.
Perfmatters vs WP Rocket
At the beginning of this Perfmatters review, I mentioned that Perfmatters is not a cache plugin like WP Rocket. Although it offers many overlapping features with a cache plugin.
At the same time, Perfmatters will handle the other minor yet significant optimization tasks that I have mentioned on this page.
Combinedly, these two plugins can deliver an outstanding experience for your visitors as well as logged-in users. That’s why Perfmatters and WP Rocket are complementary and not competitors.
Perfmatters Review Summary
While Perfmatters may not be an essential WordPress plugin, however, if you can care about website speed and performance, it will do wonders for your website and user experience.
The plugin layout is clean and uncluttered and all the options are organized intelligently. I also liked the extensive documentation that the developers have made available to their users.
Permatters costs $24.95 for a single site license and comes with a 15% renewal discount. But remember that this can be considered a launch offer since Perfmatters is a relatively young plugin. Once it gains popularity, you can expect a price increase.
Should you opt for Perfmatters?
In one word – yes. Right at the beginning of this Perfmatters review, I mentioned that it’s a multi-dimensional plugin. The script management features alone can justify its relatively low price tag, but Permatters offers much more than script management.
It combines beautifully with your favorite cache plugin, integrates Analytics on your site, takes care of the Google fonts localization, integrates your CDN, optimizes image loading, cleans up your databases, secures your login URL, and much more.
Frankly, I would not imagine PassionWP without Perfmatters, and recommend it wholeheartedly to any WordPress user. I would love to hear your take on Perfmatters in the comments below.
Download the WordPress SEO eBook
Go from WordPress SEO Zero to Hero in no time. Also receive 2 Bonus PDFs with this free eBook.
Give it a try. You will thank yourself later.