I recently interviewed Brian Jackson, the co-founder of Perfmatters, to go through all of the plugins settings and find out how we can best configure our websites for maximum performance.
You can watch the full interview here (I gurantee you’ll learn a ton!)
If a two-hour video is a little too much for you, below I’ve included a brief explanation of each setting and Brian’s recommendations.
If you don’t already have Perfmatters, consider using our affiliate link and make sure to use the coupon PERFMATTERS to save 10%!
General Settings (Quick Toggles)
Disable Emojis
Risk: Low | Reward: High
WordPress adds a separate Javascript library just for emojis. By disabling this you can see significant savings by excluding that JS, and your website will still display emojis using the operating system defaults.
Disable Dashicons
Risk: Low | Reward: High
Most people are not using Dashicons, since most icons have been moved to SVG’s. Try toggling this setting on and review your website just in case. Safe for 85% or 90% of sites.
Disable Embeds
Risk: Low | Reward: Low
This will disable the website preview cards, but won’t affect YouTube embeds and is safe to turn on for most websites.
Disable XML-RPC
Risk: Low | Reward: Low
Less about performance, and more about security, but toggling this setting on will strip out a bit of code. Do not toggle this on if you are using Jetpack — everyone else should be safe to use this setting.
Remove jQuery Migrate
Risk: High | Reward: High
This is a library that makes “old” code talk to “new” code. If you have older plugins that haven’t been updated, this could be risky to use. If all your plugins are up to date, try toggling it on and reviewing your website. Any breaks should be noticeable immediately.
Hide WP Version
Risk: Low | Reward: Low
This setting obscures the version of WordPress you’re running, which may help prevent bots from attacking your website. It has a slight performance impact by removing a line of code. This doesn’t run any risk of breaking anything.
Remove wlwmanifest Link
Risk: Low | Reward: Low
Windows Live Writer is still referenced in WordPress, but it is rarely used. You’re likely safe to turn this one on and remove an unnecessary line of code.
Remove RSD Link
Risk: Low | Reward: Low
Removes one line of code and is safe for most websites to enable.
Remove Shortlinks
Risk: Low | Reward: Low
Removes the “Plain” permalinks (eg. “…/?p=123”), which are still referenced even if you’re using”Post Name” or “Custom Structure” permalinks.
Disabling RSS Feeds
Risk: Med | Reward: Med
Disables the RSS feed functionality. Not recommended if you have a blog on your website. Even if you’re not using an RSS feed, feed readers like Feedly do for users who want to subscribe to your posts.
Disable RSS Feed Links
Risk: Low | Reward: Low
Disables the links to your RSS feed. You can turn this off safely if you link to your RSS feed somewhere else or if you’re using the default feed link (/feed), which most feed readers will find.
Disable Self Pingbacks
Risk: Low | Reward: Low
Removes the pingback functionality, which is generally a waste of resources.
Disable REST API
Risk: Med | Reward: High
There are still plugins that use the REST API (like Jetpack, Wordfence, and some contact forms). Many of the REST API features are backend only. Test your website thoroughly (including contact forms) if you turn this feature on.
Remove REST API Links
Risk: Med | Reward: Low
Removes any reference to the REST API (above)
Disable Google Maps
Risk: Low | Reward: High
Always turn this feature on if you can. Try using a static image instead of a Google Maps embed, as the embed can have a very significant impact on your performance (this can ding your score by 20 points alone!). If needed, Perfmatters allows you to only load Google maps on specific pages.
Disable Password Strength Meter
Risk: Low | Reward: High
Mainly seen on WooCommerce sites, but this is a big script that runs places where it’s not necessary. Mostly safe unless you are customizing your logins heavily.
Disable Comments
Risk: Low | Reward: High
If you’re not using the comments system in WordPress, turn this off. This adds quite a bit of code to your website.
Remove Comment URLs
Risk: Low | Reward: Low
This disables people’s ability to leave a URL in your comments (which is often done by spammers trying to obtain backlinks).
Add Blank Favicon
Risk: Low | Reward: Low
You only need this if you are not using a favicon (but you should be using one). Leave this setting off unless you’re testing a blank install.
Remove Global Styles
Risk: Low | Reward: High
WordPress 5.9 added a lot of unnecessary code (curse you, Duotone!). If you’re not using these features, then turn this setting on to remove around 300 lines of unminified code.
Disable Heartbeat
Risk: Low | Reward: High
Highly recommended to turn on. Most people will want to set this to “Only allow when editing posts/pages”. This will help reduce server load.
Heartbeat Frequency
Risk: Low | Reward: Low
Change the frequency of pings from your server. 60 seconds is fine.
Limit Post Revisions
Risk: Low | Reward: Med
Sites could have thousands of revisions, which is unnecessary and adds lots of rows to your database. Brian recommends changing this to 3 (or 10 if you’re more conservative).
Autosave Interval
Risk: Low | Reward: Low
This could help conserve your server. You can safely change this to 3 minutes.
Login URL
Risk: Low | Reward: Low
Bots know where the WordPress login is by default. By changing this URL you can ward off some of those bots who won’t find your login page as easily.
Assets
Script Manager
Risk: High | Reward: High
Turn on and off scripts on a granular level. This can have huge impacts on performance, but will take manual testing and tweaking to ensure you don’t break anything.
Learn more about the script manager via Perfmatters thorough documentation.
Defer JavaScript
Risk: High | Reward: High
Moves the JavaScript to the bottom of the waterfall. This can help with testing scores and the “render blocking” errors. This could cause some issues when loading your website.
Include jQuery
Risk: High | Reward: High
jQuery is a big file, so if you can defer this script it could have huge gains on your performance scores. However, this setting is very risky, so don’t use it unless you know what you are doing.
Delay JavaScript
Risk: Med | Reward: High
This delays your JavaScript until the user interacts with the page. This could really help your page testing scores, since the bots don’t interact with the page, but should keep things safe for your users.
Set the delay timeout to a few seconds so the JavaScript goes aheads and loads even if the user doesn’t interact.
Remove Unused CSS
Risk: High | Reward: High
This setting is not foolproof, so you’ll likely have to make some exemptions. However, if you can get rid of any unused CSS, you could see significant improvements to your load times.
Preloading
Enable Instant Page
Risk: Low | Reward: High (perceived)
This toggle likely won’t affect your scores, but it can make a massive difference to users who will have a dramatic improvement of the speed of your website. You can always enable this setting.
Preload
Risk: Low | Reward: Low
This will allow you to preload assets (like images or fonts). Essentially this moves these items to the top of your waterfall so they load first. Could be handy for your logo or the fonts on your website to make sure those load right away.
Preload Critical Images
Risk: Low | Reward: Medium
This will do something similar to the Preload option (above), but will automatically preload the first image(s) (the number depends on how many you pick in the toggle) on your page, which can improve your LCP.
Preconnect & DNS Preload
Risk: Low | Reward: Low
This will preconnect to 3rd party resources which can often take the longest time to fetch.
Lazy Loading
Lazy Loading Images
Risk: Low | Reward: High
This will reduce the number of requests Google sees when your pages load since your site wont load images until they come into the viewport. Though WordPress has this by default, it’s not as powerful. This setting is recommended.
iFrames & Videos
Risk: Low | Reward: High
This setting prevents your website from loading video embeds until they come into your viewport. This could have a big impact on any page using a video.
YouTube Preview Thumbnails
Risk: Low | Reward: High
This will prevent anything from YouTube loading until the user clicks on the video. This is a recommended setting.
Threshold
Risk: Low | Reward: Low
This changes how aggressively the Lazy Loading works. Brain recommends 600px which will start loading images that come within 600px of the viewport. The default is 0px (which is very aggressive).
DOM Monitoring
Risk: Low | Reward: Low
This setting will monitor the DOM to help control the lazy loading. This could be useful if you’re using any kind of “infinite scroll” feature.
Add Missing Image Dimensions
Risk: Low | Reward: High
This is often flagged by testing tools, and toggling this setting on will automatically add any missing image dimensions (except for SVG’s). This won’t greatly affect your actual loading time, but could help improve your scores.
Fonts
Disable Google Fonts
Risk: High | Reward: High
If you’re NOT using Google fonts, then this is safe (and recommended!) to use. But if you are using Google fonts, you’ll want to use the “Local Google Fonts” setting instead.
Local Google Fonts
Risk: Low | Reward: High
This setting will load Google fonts from your server instead of from Google’s. This is typically much faster, and could make your site more compliant (since loading Google’s font from there servers could violate GDPR).
CDN
These features will help rewrite URLs if you are using a 3rd party CDN.
Analytics
Enable Local Analytics
Risk: Low | Reward: High
Instead of loading Google Analytics from Google’s servers, this setting allows you to host Google’s scripts locally which can have a big impact on your overall scores and speed, as well as reduce the total number of requests.
Enable AMP Support
Risk: Low | Reward: Low
AMP is being phased out, and chances are you aren’t using it and won’t need this setting. If you are using AMP, it’s probably time to stop, but you can use this setting in the meantime.
Perfmatters and WooCommerce
Perfmatters is built with WooCommerce in mind and has additional features that will only be shown if you have WooCommerce installed.
See the Perfmatters documentation for further information.