How to speed up website loading on WordPress
If someone told me tomorrow that I could only take one WordPress plugin to a desert island, I would choose the Perfmatters plugin🙂 Almost every website user on WordPress has experienced the problem of slow loading over time. Even if you don’t notice it, Google Search Console will alert you to it by reporting issues with LCP, INP, and others. Often such problems are noticed by site owners who use constructors or popular themes, such as Divi, Elementor, Astra, Avada, WP Bakery, etc. Additional filters, security plugins, recaptcha, additional statistics, and many other things (Jetpack, Broken Link Checker, Google Recaptcha, NextGen Gallery, Slider Revolution, etc.) also have a strong impact on site loading speed.
To solve your WordPress website loading issues, you need a good and fast hosting service. In this article, I will not describe which hosting is good and which is bad. You can read about it from other tech bloggers. Just remember: hosting must be quality – that’s part of success when optimizing your site. Another popular solution to slow-loading site problems on WordPress is to install a caching plugin (WP Rocket, WP Fastest Cache, LiteSpeed Cache, etc.) or connect Cloudflare APO. These are all good and proper solutions, but they should be applied last when you have already done all other optimization methods.
If you can’t give up your favorite builder, stats, video content, etc., then there is an option that will help you speed up your website load time significantly – it’s installing and configuring the Perfmatters plugin. Perfmatters is a plugin that helps you optimize your website performance by eliminating render-blocking resources and improving page load speed. It provides various features such as delayed loading of JavaScript and CSS, disabling unnecessary scripts and styles on specific pages, minimizing and merging CSS and JavaScript files, and much more. This plugin can be useful for improving the user experience and SEO performance of your website. Once you install and customize it, all you have to do is add the cache plugin.
Basic settings for Perfmatters plugin
Below are the best security and site speed boosting settings that are recommended for 95% of sites, including Elementor, Divi, Oxygen, Avada, WP Bakery, ACF, Thrive, Astra, etc.
Perfmatters > General
Disable Emojis – ON – Enabling this option helps reduce the number of server requests related to loading emojis, which can improve page loading speed.
Disable Dashicons – OFF – Enabling this option prevents dashicons from loading on your site. This may result in the loss of some icons, so it’s better to check if they are necessary for the visual design of your site.
Disable Embeds – ON – Enabling this option disables unnecessary inline code, which improves site loading speed.
Disable XML-RPC – ON – XML-RPC is a potential security vulnerability. Disabling this option can enhance your site’s security, especially if functionality dependent on XML-RPC is not used. If you have the Jetpack plugin installed, then disable this setting. But it’s better to avoid using the Jetpack plugin altogether.
Remove jQuery Migrate – OFF – Removing jQuery Migrate can cause compatibility issues on some sites, so it’s recommended to leave this option disabled if there is uncertainty about its necessity.
Hide WP Version – ON – Hiding the WordPress version helps reduce the likelihood of attacks on your site based on vulnerabilities in a specific WordPress version.
Remove wlwmanifest Link – ON – If you don’t use Windows Live Writer or are unfamiliar with it, feel free to enable this option.
Remove RSD Link – ON – If you edit your site from your browser and don’t need this, or it’s used by some third-party applications that utilize XML-RPC requests, then in most cases, this is just unnecessary code.
Remove Shortlink – ON – If you are already using pretty permalinks, such as domain.com/post, then there is no reason to keep this, it is just unnecessary code.
Disable Self Pingbacks – ON – Pingbacks are essentially nothing more than spam and simply waste resources.
Disable Password Strength Meter – ON – Disabling the password strength meter removes the password strength indicator when creating a new user, which can improve the user experience and simplify the registration process.
Remove Comment URLs – ON – Removing URLs from the comment form helps prevent spam and increases your site’s security.
Remove Global Styles – ON – Removing global styles can help reduce the amount of CSS code and speed up page loading.
Disable Heartbeat – Only Allow When Editing Posts/Pages – Allows limiting the activity of the WordPress Heartbeat API, which can reduce server load and improve site performance.
Heartbeat Frequency – 30 Seconds – Sets the interval between WordPress Heartbeat API requests. Setting a longer interval can reduce server load.
Limit Post Revisions – 5 – Limiting the number of post revisions helps reduce the size of the WordPress database and decrease server load.
Autosave Interval – 1 Minute – Sets the interval between automatic drafts and post saves. Setting a longer interval can reduce server load.
Perfmatters > JavaScript
Defer Javascript – I usually enable this option in the WP Rocket plugin. But if the client site will have a combination of Perfmatters+LiteSpeedCache, then in this case I configure this option through Perfmatters. But I add the following lines to the exception:
/jquery-migrate.min.js
/jquery/jquery.min.js
Delay Behavior – Only Delay Specified Scripts – If you lack experience in website testing or optimization, I recommend enabling this option and using the list provided below, which is suitable for 99% of WordPress sites.
Basic Delayed JS:
/busting/facebook-tracking/
/wp-content/plugins/gravityformsrecaptcha/js/frontend.min.js
/wp-includes/js/comment-reply.min.js
adsbygoogle.js
ai_insert_code
analytics.js
connect.facebook.net
fbevents.js
fbq(
gforms_recaptcha_recaptcha_strings
google.com/recaptcha/api.js
googleads.g.doubleclick.net
maps.googleapis.com
stats.wp.com
w.loadCSS
widget.trustpilot.com/bootstrap
wpmejsSettings
www.googletagmanager.com
Delay Timeout – ON – It’s essential to enable this to ensure delayed loading triggers in case there’s no interaction with the page.
Minify JavaScript – I’ve never enabled this option. I believe it is more correct to use this option via the cache plugin or Cloudflare.
Perfmatters > CSS
Remove Unused CSS – ON – I recommend using delayed loading via the Perfmatters plugin, even if you have WP Rocket installed. Delayed loading via Perfmatters operates faster and more reliably than in WP Rocket.
Used CSS Method – Inline
Stylesheet Behavior – Delay
Excluded Stylesheets & Excluded Selectors
Basic list of Unused CSS exclusions for Elementor and Elementor Pro:
/elementor/css/post-
.animated
.bg-light
.col-full-nav
.collapse
.current
.dt-mobile-menu-icon
.dt-mobile-menu-icon:after
.dt-mobile-menu-icon:before
.elementor-accordion-icon-closed
.elementor-accordion-icon-opened
.fa-angle-up
.fadeInDown
.fadeInUp
.full-height
.header-bar
.hidden-header
.justify
.lines-button
.masthead
.masthead-mobile
.masthead-mobile-header
.menu
.menu-box
.menu-line
.menu-overlay
.menu-toggle-caption
.mobile-header-bar
.mobile-navigation
.mobile-sticky-header-overlay
.navbar
.navbar-brand
.navbar-collapse
.navbar-expand-lg
.navbar-light
.navbar-toggler
.next::after
.no-mobile
.onsale
.overlay-bg
.page-numbers
.prev
.prev::after
.shoptimizer-primary-navigation
.shoptimizer-product-prevnext
.shoptimizer-sorting
.shoptimizer-sticky-add-to-cart
.show
.show-on-desktop
.site-header-cart
.swiper-button-next
.swiper-button-prev
.term-description
.top-bar
.vc_general
.vc_parallax
.vc_parallax-content-moving
.vc_row-has-fill
.visible
.widgets
#main
#menu-header-main
Basic list of Unused CSS exclusions for Divi:
/wp-content/et-cache/
.clearfix
.closed
.cn-effect-slide
.cn-position-bottom
.comment_container
.cookie-notice-container
.cookie-notice-visible
.cookie-revoke-hidden
.current_page_item
.current-menu-item
.dica-paination-0
.draggable
.dtb-hamburger
.dtb-hamburger-box
.dtb-hamburger-inner
.et_dropdown_animation_fade
.et_first_mobile_item
.et_mobile_menu
.et_mobile_nav_menu
.et_multi_view__hover_selector
.et_multi_view_image__loaded
.et_multi_view_swapped
.et_pb_bg_layout_
.et_pb_bg_layout_light
.et_pb_carousel_wrapper
.et_pb_db_product_carousel
.et_pb_menu
.et_pb_menu__logo
.et_pb_menu__logo-wrap
.et_pb_menu_0_tb_header
.et_pb_menu_page_id-home
.et_pb_menu--style-left_aligned
.et_pb_menu--with-logo
.et_pb_mobile_menu_upwards
.et_pb_sticky_placeholder
.et_pb_wc_images
.et_pb_wc_images_0_tb_body
.et_pb_with_border
.fa-arrow-right-long
.fa-solid
.first-level
.first-level-1
.flex-active
.flex-control-nav
.flex-control-thumbs
.flex-viewport
.grecaptcha-badge
.hamburger_menu_icon
.hamburger_menu_icon-toggled
.main-title
.main-title-forum
.menu-item
.menu-item-home
.menu-item-object-page
.menu-item-type-post_type
.mobile_menu_bar
.mobile_nav
.my_main_header
.no-lazyload
.opened
.opened
.page_item
.pages-and-menu
.product-wrapper
.responsive-iframe
.skip-lazy
.slick-active
.slick-center
.slick-current
.slick-initialized
.slick-list
.slick-slide
.slick-slider
.stars
.swiper-pagination
.swiper-pagination-bullet
.swiper-pagination-bullet-active
.swiper-pagination-bullets
.swiper-pagination-clickable
.variations
.woocommerce-product-gallery
.woocommerce-product-gallery__trigger
.woocommerce-product-gallery--columns-4
.woocommerce-product-gallery--with-images
#cookie-notice
#mobile_menu1
Perfmatters > Preloading
Enable Instant Page: ON – If you’re not running an e-commerce store, you can confidently enable this option.
Preload Critical Images: 1 – This value should be sufficient; typically, it triggers the preloading of the logo.
Perfmatters > Lazy Loading
Images – ON
Exclude Leading Images – 3 – This setting excludes the first three images from Lazy Load.
iFrames and Videos – ON
YouTube Preview Thumbnails – ON – If you’re unsatisfied with the quality of preview images after enabling LazyLoad for YouTube, you can improve it with this snippet.
Exclude from Lazy Loading:
logo
Threshold: 100px – Optimal value for a standard WordPress site.
DOM Monitoring: ON – helps address possible glitches when using Lazy Load.
Perfmatters > Fonts
Local Google Fonts: ON
Display Swap: ON – This option may cause issues with CLS. In that case, try configuring font preloading or disable this option.
Limit Subsets, Allowed Subsets, Print Method: In version 2.3.6 there is a new feature for font optimization – Limit Subsets. This function removes unused font versions from the css file. I also recommend to change the Print Method setting to Inline. This is not a killer feature, however it additionally speeds up the loading of fonts on your site.
Perfmatters > Tools
Script Manager – On
To access the Script Manager settings, go to: yourwebsite.com?perfmatters
Here, you’ll find a control panel for all the scripts used on your site. If you’re not familiar with testing, simply disable the following scripts (if you’re not using Gutenberg blocks).
/dist/block-library/style.min.css
Disable for Logged In Users: ON
Perfmatters > Database
Post Revisions – ON – Clears old revisions, enhancing database speed.
Expired Transients – ON
All Transients – ON
Scheduled Optimization – Weekly
Update July 2024.
Recently, there was an update to the Perfmatters plugin. The update primarily improved the plugin’s usability. Additionally, the creators of the plugin introduced a new option called Separate Block Styles, which helps further optimize the loading speed of your WordPress site.
While this is not a groundbreaking feature, it can still help enhance your site’s performance. Minification functions for JS and CSS have also been added. I have been waiting for this update for a long time because now it is not necessary to install WP Rocket plugin for some hosting sites to enable these features (WP Engine, Rocket.net, Kinsta and others block the work of cache in WP Rocket plugin).
Summary
Over time, websites can slow down due to installed plugins, statistics, and other factors. Also Perfmatters is the perfect solution if you use LearnDash on your website. To speed up the loading time of your site, it is recommended to install and configure the Perfmatters plugin, perform image optimization, and enable caching. I have tried many plugins, but Perfmatters has proven to be the most convenient. Although the Assets Cleanup plugin also has some customization, but its functionality and usability are not comparable to Perfmatters.
One of the main advantages of the Perfmatters plugin is its detailed documentation that explains the meaning of each function in clear language. Its price is also pleasantly surprising – only $25 per year, which is a significant savings compared to other paid and free plugins to speed up and secure your website. In addition, it is worth noting the excellent technical support, which promptly answers all questions and helps to solve problems.
In the following articles, I will cover the basic settings of the WP Rocket plugin, which will help to maximize the speed of your site. Also, check out my article on image optimization if you missed it. If you have any questions, feel free to ask in the comments.
Leave a Reply