With Google’s Page Experience update looming around the corner, every webmaster is having sleepless nights. Are you one of those new breeds of owls?
If yes, you should consider looking at Perfmatters.
Having said that, I would like to clarify that a plugin is not the only thing that will help you optimize your site and pave its path to the hall of fame.
Perfmatters never says that it can achieve the seemingly impossible thing all by itself. In fact, it has a checklist that you must follow. The checklist includes things like:
- Using a caching plugin.
- Using a CDN.
- Choosing the right WordPress theme and so on.
In this review of Perfmatters I will show you how the test website speed varied over three experiments that included:
- Testing the website with no plugins and CDN but demo content.
- Testing the website with Perfmatters installed but no caching and no CDN (of course, using demo content).
- Testing the website with Perfmatters and caching plugin installed but no CDN (using demo content).
Finally, I will walk you through the features offered by Perfmatters and its pricing.
So, are you ready?
Let us begin!
Performance Without Perfmatters
I designed a whole new website with 8 posts (all dummy text). Each post has one image – the featured image. There are no plugins on the site. There is no Google Analytics code. There are no additional scripts running. There is no caching plugin available either. Oh, there is no CDN either.
Essentially, what I had in hand was a bare website with ZERO optimization and ZERO plugins that could potentially weigh down the website. Even the images were not properly optimized, but I did create the images with the same dimensions (1200×600 pixels). I used a free theme from the WordPress themes directory.
Now it was time to test the performance of the website using PageSpeed Insights. These are the results:
Mobile Test for Homepage (https://tvgs.org/)
The score stood at 43 out of hundred. That put the website in among the worst-performing websites in the world.
Desktop Test for Homepage (https://tvgs.org/)
That was moderate, but nowhere even close to being good (forget great)!
But that was the homepage with a list of all post and eight images. What about an inner page? I wanted to know! So here it is.
Mobile Test for an Inner Page
That was the same score that it earned for the homepage.
Desktop Test for an Inner Page
The score dropped by two points as compared to the homepage.
Honestly, I was expecting this to happen! I was expecting such pathetic scores because I wanted to know what Perfmatters could do for this test site.
So, it was time to install Perfmatters and put it to test.
All I did now was to install Perfmatters and configure it. There were no other plugins, no CDN, no caching plugin. Everything was identical except for a new plugin – Perfmatters.
What happened next? Find out!
Performance with Perfmatters Installed & Configured
The results of the post Perfmatters installation was pretty much the expected one. I was never expecting a massive jump in performance, especially when there was no caching plugin installed and no CDN configured.
But of course, even then there was a performance bump and I liked what I saw.
Here is what I found:
Mobile Test for Homepage
As you can see, the performance increased. There was a 12-point increase in the overall score. What about the desktop test? Here is what I found:
Desktop Test for Homepage
There was a 10-point increase in the performance score using Perfmatters.
The results were similar for the inner pages. Here is what I found:
Mobile Test for an Inner Page
The performance score jumped up by 11 points.
Desktop Test for an Inner Page
Even in the case of desktop, the performance score jumped by 11 points.
I will consider this to be a significant improvement because I did not use any caching plugin and CDN.
So, it was time to combine Perfmatters with a caching plugin.
This is what happened after I installed and configured Hummingbird. Hummingbird is a caching plugin from WPMU DEV.
In addition, I enabled server-side content compression.
The results were amazing. Here is what I found:
Performance with Perfmatters and Caching Enabled
Mobile Test for Homepage
There was a significant jump in page speed with Hummingbird caching installed and configured with its default settings.
Desktop Test for Homepage
That was a fabulous result just with basic caching settings.
Mobile Test for an Inner Page
Desktop Test for an Inner Page
You can see the difference it makes just by adding a caching plugin and enabling the default settings.
The only thing that could now further improve the score was a CDN. Of course, a lot of fine tuning is required, which will involve dealing with web fonts, passive listeners, serving next-gen images like WebP or AVIX, etc.
Since the whole idea here was to see what Perfmatters can increase the speed of a website, I skipped those steps deliberately.
What is interesting is that you can achieve such incredible speeds even with ads and various scripts running on your website. It is only a matter of optimizing the site the right way.
Okay, now that we know that Perfmatters can help you optimize your site to a great extent, let us quickly go through the settings.
You can follow the settings that I used, or you can set whatever works for you the best.
Perfmatters Settings – The Ideal Settings Relevant for Most Sites
In this segment I will walk you through the settings of Perfmatters, but to access those settings after installing the plugin, you need to take the following path:
Dashboard >> Settings >> Perfmatters
Once you are there, you will find the plugin settings options with multiple tabs with some tabs having sub-tabs. This is how it looks like:
So, there are five main tabs. The last tab is only about license information that will show you how long the license will remain active, and you will get the option for deactivating the license if you want.
Barring that, let us go through each tab and sub-tab and find out the ideal settings you should be using.
The Options tab will give you three sub-tabs. Let us begin with the first one.
The General tab is all about toggles. There is a laundry list of options here and all you need to do is toggle buttons and save. There is no complex setting here, but you must know what you are turning on or off and why.
Here is all you need to know:
Disable Emojis: ON!
Emojis can slow down your website loading speed.
Disable Embeds: ON!
Disable XML-RPC: ON!
You should enable it only when you decided to publish blog posts through mobiles. XML-RPC can be exploited by hackers. It is a security threat.
Remove jQuery Migrate: Depends!
ON if you are not using any page builder. OFF if you are using a page builder.
Hide WP Version: ON!
WordPress displays the version in use. You do not need it. Hackers might find the information useful. So, remove it.
Remove wlwmanifest Link: ON!
Most likely you never use Windows Live Writer. If you use it, you can turn it off!
Remove RSD Link: ON!
You most likely use a browser to edit your site. Turn it off if you are using a blog client.
Remove Shortlink: ON!
You are most likely already using shortened pretty permalinks. If you are not using shortened pretty permalinks, you can turn this off.
Disable RSS Feed: OFF!
Why would you disable RSS Feed? That is one of the many ways in which people stay connected to your blog and get regular updates.
Remove RSS Feed Links: ON!
Your RSS feed contains links to your comments, pages, tags, categories, etc. Removing them will remove some code from your site, making is a little faster during load.
Disable Self Pingbacks: ON!
If you leave this off, you will receive pingbacks every time you internally link to your own blog posts, and trust me, that sucks!
Disable REST API: DISABLE ONLY FOR NON-ADMINS!
Choosing any other option will make the usernames of anyone who has published a post on your blog easily accessible using a URL.
Remove REST API Links: ON!
It will remove a short line of code that REST API creates.
Disable Dashicons: OFF!
Turning it on will remove all icons that you see in your WordPress admin dashboard. If that is what you want, you can turn it on.
Disable Google Maps: ON!
Removing this ensures that Google Maps is completely removed from your website including the themes and the plugins that have built-in Google Maps API. If you really want to use Google Maps, embed the maps manually in the areas where you want.
Disable Google Fonts: Depends!
I will strongly recommend you disable Google fonts because they slow down your website. If you really want to use Google fonts, serve them locally from your server. Download the fonts you want and put them in the necessary folder on your server and call the fonts accordingly. This may sound technical, and indeed it is technical. You may use a plugin like OMGF (Optimize My Google Fonts) to host the fonts locally on your server.
Disable Password Strength Meter: ON! (Recommended, but not necessary)
First thing first, learn the rules of creating a strong password. You will never need a password strength meter. The next thing you need to know that the strength meter loads a file that can sometimes load across your whole WordPress site when technically, it should be loading only on certain specific areas like password reset pages, checkout pages, account pages, etc.
Disable Comments: OFF!
Turn this on only and only if you want to disable comments across you blog. That is not an ideal thing to do as it will prevent your users from commenting and interacting.
Remove Comments URL: ON!
This will remove the comment author URL. Such URLs are often spam URLs.
Disable Heartbeat: DISABLE EVERYWHERE!
Only when you need to see real time plugin notifications, or see when others are editing your posts, etc., you will need this feature. Generally, you will never need it.
Heartbeat Frequency: 60 Seconds
If you are keeping Heartbeat enabled, set this to 60 seconds. This will put less load on your server resources.
Limit Post Revisions: DECIDE!
Post revisions will give you backup copies of posts. Just in case you want to go back to an older version, these revisions come in handy. Setting it to 5 usually works well.
Autosave Interval: DECIDE!
WordPress will automatically keep saving your posts at regular intervals. The default is 1 minute. You can change it. The greater the autosave interval, the lower is the load on your server resources.
Change Login URL: BE CAREFUL!
You can give a custom slug that will replace the original slug and block the wp-login and wp-admin endpoints from direct access. This will give you the necessary protection against bots and hackers.
I will recommend that you test this on a staging site before enabling this feature. If something goes wrong, you will still have access to your site. I prefer not to change it. Rather, I use two-factor authentication and RECAPTCHA to prevent hackers and bots from getting access to my sites.
iFrames and Videos: OFF!
YouTube Preview Thumbnails: OFF!
In all likelihood, the caching plugin that you are using is already doing this. If you have not already enabled these options through your caching plugin, you enable them here.
Exclude from Lazy Loading:
Unless there are specific images that you want to prevent from lazy loading, there is nothing to add in this field.
DOM Monitoring: OFF!
Enable this option only and only when your website is using infinite scrolling. I never recommend infinite scrolling because it can significantly increase your DOM (Document Object Model) size and that is not good.
If you are not using WooCommerce, leave everything disabled. In case you are using WooCommerce, here are the recommended settings:
Disable Scripts: ON!
It will disable only those WooCommerce styles and scripts that are not present on your product page, cart page, and checkout page. These scripts intend to load on every page even when they do not have any products. So, disabling them is always a wise option.
Disable Cart Fragmentation: ON!
Cart fragmentation is used for updating the cart total without refreshing the cart page. While it may look cool, it slows down the site. Do not compromise with your site speed. Every millisecond counts. So, disable cart fragmentation.
Disable Status Meta Box: ON!
In all likelihood, you will not be using the dashboard widget that shows things like stock, orders, sales, etc. You will possibly be using some better analytics. So, disable it. If you are using that widget, keep it enabled.
Disable Widgets: ON!
If you are not using any WooCommerce widget, just disable them. However, if you are using even a few of those widgets, you should not disable this option.
Most likely, your caching plugin is already helping you with this option. Almost every known caching plugin does that, and it is almost always a free feature for which you do not need an upgrade. If you are using a premium caching plugin like WP Rocket, you surely have this option available.
If your caching plugin is not providing CDN integration, you can use Perfmatters. Here is what you can use in the settings:
Enable CDN Rewrite: ON!
This will allow Perfmatters to rewrite URLs to server all your site’s static assets through the CDN provider.
Your CDN provider will give you this URL. Add that URL in the provided field.
Whatever needs to be added is already there. You do not have to add anything extra.
There already something added in the field and it is ‘.php’ but if you are using Yoast SEO plugin, add .xml. This way, certain files and directories that are not supposed to be served from CDN will be excluded.
Google Analytics Tab
Google Analytics is necessary, but it can slowdown your website. You will often see the warning “leverage browser caching.” The Google Analytics code is one of the many responsible things.
So, optimizing Google Analytics is necessary. Here are the options you get in Perfmatters:
Enable Local Analytics: ON!
This will allow you to host Google Analytics locally on your server. This, in turn, will allow browser caching.
You need to provide your Analytics tracking ID in the given field.
It is recommended that you use ‘analytics.js’ or ‘minimal.’ If you have switched to version 4, then use the gtag.js v4.
Disable Display Features: ON!
It is enabled by default and it disables both advertising and remarketing options found in GA. Those options create an additional HTTP request to DoubleClick. Most people do not use it, and so, keeping it disabled is better. However, if you are using both advertising and remarketing options, enable it.
Anonymize IP: ON!
Leave it on! The option will hide your IP and provide GDPR and privacy compliance.
Track Logged In Admins: OFF!
You surely do not want admin visit data in your analytics data.
Adjust Bounce Rate: 30 Seconds!
That is what the developers suggest.
If you are using CDN, give the CDN URL here in the field provided. You will need to provide this if you are referencing analytics.js from inside gtag.js.
Use MonsterInsights: ON if you are using MonsterInsights!
If you are using MonsterInsights to add Google Analytics, and you still want to host Google Analytics locally, enable this option.
Enable AMP Support: If you are using AMP, enable this option to allow Analytics tracking.
Add Blank Favicon: OFF!
Unless you have a fresh WordPress installation and you want to test its speed, you do not need to turn this on. Enabling this feature will remove the favicon from the default installation, which most often is a large image.
Add Header Code:
If you want to add a code to the header of your website, add the code in the field.
Add Body Code:
If you want to add a code to the body of your website, add the code in the field.
Add Footer Code:
If you want to add a code to the footer of your website, add the code in the field.
Script Manager: ON!
This will enable a Perfmatters feature that will allow you disable JS and CSS scripts on a page-by-page basis.
If you are using this feature through your caching plugin, disable it. Enable it if your caching plugin is not performing the task. This feature can help you improve website speed. You need to know that enabling JS deferring can help you to get rid of render-blocking resources. Some JS codes may be critical to website’s functions and features. You need to exclude them from deferral.
Include jQuery: DEPENDS!
If you enable it, the loading of jQuery core will be delayed. Also, you should enable it when deferring JS is leading to errors.
If you are loading third-party scripts on your site, you must delay them. They can slowdown your website. Ads are a great example!
You can set a time after which the delayed JS will be loaded. Perfmatters developers recommend 5 seconds or more!
Enable Instant Page: ON!
This is the same function (Preload) as you can find in LiteSpeed Cache and WP Rocket cache offers. This feature will preload a page simply when a user hovers the mouse pointer over a link. This will give the user the feeling of a very fast website.
If there are fonts, CSS files, images that you want to preload, you can add them here. Preloading helps to improve site speed. You can use the Waterfall analysis of GTmetrix or WebPageTest to find out the resources that load sitewide. Collect the URLs of all those resources and preload them.
The third-party scripts that you use cause additional DNS lookups and slows down your website. DNS prefetch helps to reduce the DNS lookups by resolving domain names before the resources are requested. You can always you GTmetrix to find all the third-party resources and add them to the list.
If you want a head start, here is a quick list that you should add by default and then find and add the remaining:
This is a database optimization service that your caching plugin is most probably already offering. If your caching plugin is not offering that, turn ON every option and hit the Optimize Now button.
Perfmatters will also allow you to set a schedule for optimization. You can select daily, weekly, or monthly optimization.
This is where you get basic uninstallation, import, export, and meta data purging options.
Perfmatters is an incredible tool that you can use for improving your website page speed, and hence, page experience. Never forget the Core Web Vitals. They will pay a key role in your website’s ranking. Optimizing your website is the only option. Perfmatters can help.
Just remember that there are many features in Perfmatters that are also present in many caching plugins. Do not enable the same features using two plugins. That can lead to conflicts and a broken site. Want to give it a try? Download Perfmatters