Perfmatters is a WordPress plugin designed to boost your website’s performance and loading speed. It introduces a variety of enhancements and optimizations to your WordPress setup, helping you achieve a more streamlined and efficient site.
Perfmatters WordPress Plugin Features
- Disable emojis
- Disable embeds
- Remove query strings
- Disable XML-RPC
- Remove jQuery migrate
- Remove WordPress version number
- Remove wlwmanifest link
- Remove RSD link
- Remove shortlink
- Disable RSS feeds
- Remove RSS feed links
- Remove Dashicons
- Disable scripts per page/post
- Disable scripts with Regex
- CDN Rewrite
- Disable Password Strength Meter
- Add blank favicon
- Disable Google Fonts
- Add code to header or footer
- Disable self pingbacks
- Disable WordPress Heartbeat API
- Change Heartbeat API frequency
- Disable and limit post revisions
- Disable REST API
- Remove REST API links
- Change autosave interval
- DNS prefetching
- Preconnect
- Disable WooCommerce scripts and styles
- Disable WooCommerce widgets
- Disable WooCommerce status meta box
- Disable WooCommerce cart fragments (AJAX)
- Disable Google Maps API
- Multisite support
- Change WordPress login URL
- Local analytics
- Disable WordPress comments
- Enable lazy-loading
= 2.1.7 - 09.29.2023 = * Added Delay JS quick exclusion for WP Forms. * Script Manager style updates to match some recent changes to the main settings UI. * Script Manager security updates to form submission handling. * Added logic to strip whitespace from input row text fields used for preloads, preconnects, and fetch priority options. * Adjusted CDN Regex slightly to account for certain subdirectory formats. * Added specification to lazyload exclusion to only skip the fetchpriority attribute when set to high. * Added Cornerstone request parameter to excluded page builders array. * Updated certain AJAX action names to be specific to Perfmatters to prevent conflicts. * Updated missing image dimension function to better handle images that have been prepped by lazy loaders outside of Perfmatters. * Added Novashare discount link to plugin settings UI for Perfmatters customers. * Fixed an issue where the database optimization process would not run correctly if selected toggles were not saved first. * Fixed an issue in MU Mode where core cookie constants were not set in a specific instance when checking for the current post ID. * Translation updates. = 2.1.6 - 08.31.2023 = * Fixed an issue that was preventing CodeMirror input fields from saving correctly. = 2.1.5 - 08.30.2023 = * Reworked the majority of the UI to use WordPress AJAX to save data and perform plugin actions. * Renamed Bricks Delay JS quick exclusion, as it can be used to target more than just their slider. * Adjusted clean_html utility function regex to better handle large inline data scripts. * Added skip-lazy class to built-in lazy loading exclusions. * Added right-to-left admin styles for better usability on RTL sites. * Fixed an issue where certain HTML characters would not print correctly when saved in a fetch priority selector input field. * Fixed an issue where fetch priority selectors would sometimes not get the correct priority applied when set to low. * Fixed a typo in the fetch priority tooltip. * Updated background processing library to version 1.1.1. * Translation updates. = 2.1.4 - 08.08.2023 = * Added new preload option to add the Fetch Priority attribute to different resources on the site to help improve LCP. * Added built-in lazy loading exclusion for fetchpriority attribute. * Added Delay JS quick exclusion for Termageddon + Usercentrics. * Switched individual JS delay to use the same inline script as delay all to take advantage of delayed triggering of event listeners. * Fixed an issue where an empty notice was appearing when a database optimization process completed. * Fixed an issue with critical image preloads where an image with an empty src attribute would prevent other similar ones from being added on the same URL. * UI improvements to input row sections. = 2.1.3 - 07.02.2023 = * Fixed an issue that was preventing existing Script Manager settings from showing up in certain instances. * Translation updates. = 2.1.2 - 06.29.2023 = * Added new lazy loading advanced option to Exclude Images by Parent Selector. * Added built-in exclusion to Delay JS for jqueryParams inline script to prevent load order issues. * Added additional built-in exclusions to Remove Unused CSS for better compatibility with Elementor. * Added HTTPS check to PERFMATTERS_CACHE_URL definition. * Updated Script Manager UI to sort plugins alphabetically by plugin name as well as assets inside each individual section alphabetically by script handle. * Fixed an issue where plugins without any enqueued scripts would not always show up in the Script Manager (MU Mode) after visiting the global view. * Updated background processing library to version 1.1.0. * Translation updates. = 2.1.1 - 05.31.2023 = * Added WP-CLI support for managing plugin license key activation. * Changed behavior of Disable Cart Fragments toggle to only load cart fragmentation script when there are items in the cart. * Added default array for critical image preload exclusions that are always needed. * Added additional Delay JS quick exclusions for Bricks Slider and WP Armour. * Added additional built-in exclusions for Remove Unused CSS for better compatibility with Elementor and Google Reviews Widget. * Updated lazy loading fade-in effect to use CSS animation property instead of transition for better compatibility with existing element transitions. * Added requirement for advanced options to be turned on to be able to defer jQuery. * Added WP-CLI request exclusion to MU plugin functions. * Fixed a PHP warning that could sometimes be generated if an image was not able to be parsed for missing dimensions. * Updated instant.page library to version 5.2.0. * Translation updates. = 2.1.0 - 05.01.2023 = * Added new delay JS option for Quick Exclusions that will show up when certain popular plugins and themes are activated. * Made some updates to the Script Manager UI to match recent changes to the main plugin settings. * Cleared out some code for the previous settings admin header that was no longer needed. * Made an adjustment to CDN URL function to work even if a trailing slash was entered. * Rearranged our local and Google font options to give frequently used options more priority. * Fixed a bug where multiple settings sections were displaying at the same time after saving from the database tab. * Fixed an issue where accessibility mode tooltips were not getting styled properly in the plugin UI. * Fixed a styling issue where link and button colors were getting applied outside of the main Perfmatters admin container. * Fixed an issue in MU Mode where the global filtered plugin list would not always return correctly. * Translation updates. = 2.0.9 - 03.30.2023 = * Updated Request library functions used to download local font files to fix a compatibility issue with WordPress 6.2. * Added new perfmatters_preloads_ready filter. * Fixed a styling issue in Safari where the settings UI logo was getting clipped. = 2.0.8 - 03.29.2023 = * Updated plugin settings UI. Completely overhauled admin header and navigation. Made additional improvements to various elements (icons, buttons, toggles, etc.). * Added additional checks to allow PERFMATTERS_CACHE_DIR and PERFMATTERS_CACHE_URL to be manually set in wp-config.php. * Updated user agent for local font remote request. * Fixed an issue where multiple preload tags for the same resource could be printed if the resource was matched more than once in the DOM. * Fixed an issue where an individually delayed script would fail to load if it matched more than one delayed script entry. * Fixed an issue where FastClick script could still load even if Delay JS was turned off. * Translation updates. = 2.0.7 - 03.10.2023 = * Fixed an issue that was introduced in the last update that was causing certain images that had their HTML modified by another tool not to lazy load correctly. * Translation updates. = 2.0.6 - 03.02.2023 = * Added new Minimal v4 script type option in local analytics. * Added support for ::after pseudo element when lazy loading CSS background images. * Added support for AVIF images in a source tag to preload critical images feature. * Added new perfmatters_preload_critical_images filter. * Added new perfmatters_image_dimensions_exclusions filter. * Added notice to plugin update row if there is not an active license key. * Added async attribute to Instant Page script tag. * Added async attribute to all relevant local analytics script tags. * Reworked preload class to allow managing preloads entirely with perfmatters_preloads filter if needed. * Fixed an issue in MU Mode where plugins would not always disable correctly when helper plugins with similar directories were also active. * Fixed a couple of PHP warnings in MU plugin that would show up when certain variables were not declared. * Fixed an issue where our lazy loading script was attempting to load in images that had been prepped by another active lazy loader. * Fixed an issue where base64 encoded images were being picked up by missing image dimensions feature. * Removed BETA tag from preload critical images option. = 2.0.5 - 02.02.2023 = * Added new perfmatters_exclude_leading_images filter. * Fixed an issue that was affecting lazy loaded inline background images in certain formats. * Fixed a PHP warning related to Fastclick and the built-in exclusion for WooCommerce pages. * Updated license key field to prevent it from getting auto-filled by browser extensions. = 2.0.4 - 01.27.2023 = * Fixed an issue that was causing the Perfmatters admin bar menu and meta options to not show up in the admin. * Added additional nopin attribute for Pinterest to YouTube preview thumbnails. * Translation updates. = 2.0.3 - 01.26.2023 = * Added new local Google fonts advanced option to Load Asynchronously. * Added user agent check before running output buffer with initial exclusion for Usercentrics scanner. * Added support for CSS variables when they are being used for lazy loaded inline background images. * Added new perfmatters_lazyload_youtube_autoplay filter. * Improved delay all script handling of jQuery load event. * Changed all WooCommerce checks to use class_exists for better compatibility. * Adjusted the order of preloads in the buffer to make sure they print above used CSS. * Moved buffer class initialization to wp action hook to improve filtering possibilities. * Moved WooCommerce built-in exclusions to apply to select individual features instead of the entire buffer. * Slight modification to previous MU Mode addition to fix an issue. * Fixed an issue where custom heartbeat interval was not being applied correctly when editing certain custom post types. * Fixed an issue with the local stylesheet CDN URL when advanced options were turned on but no URL was set. * Fixed an issue where delay script was printing out more than once if multiple closing body tags were present in the DOM. = 2.0.2 - 12.15.2022 = * Fixed an issue that was preventing Removed Unused CSS from running correctly in certain cases when Advanced Options were toggled on. * Translation updates. = 2.0.1 - 12.14.2022 = * Added new toggle to Show Advanced Options in the Perfmatters UI. * Added new advanced option to Disable Click Delay in JavaScript section. * Added new advanced option to Enable FastClick in JavaScript section. * Added new advanced option to specify a CDN URL in CSS section. * Added new Local Redirect option to existing login URL disabled behavior selection. * Added new perfmatters_buffer_excluded_extensions filter. * Added new perfmatters_rucss_excluded_stylesheets filter. * Added additional built-in exclusions for Remove Unused CSS for better compatibility with Elementor, Divi, Slider Revolution, OptimizePress, and WordPress core. * Added additional logic in MU Mode to more reliably retrieve the ID for certain custom post types. * Moved lazyload functions to new class structure to be more inline with current codebase. * Modified regex for lazy loading inline background images to support additional formats. * Integrated lazyload functions into the main output buffer to allow interaction with other existing features. * Fixed an issue where dynamic preloads were not recognizing existing query strings in some cases. * Fixed a PHP warning that would show up in some cases by adding additional string check when looping through rewrite array. * Fixed an issue with MU Mode where sometimes the wrong plugin would get disabled if there were multiple plugins using similar directory paths. * Fixed an issue where images inside script tags were being picked up by the Preload Critical Images function. * Translation updates. = 2.0.0 - 10.18.2022 = * Added new system for query string timestamps for Used CSS file method to help see changes quicker in environments with caching. * Added support for ?perfmattersoff query string which gives the ability to quickly prevent the majority of Perfmatters features from running on the front end for testing purposes. * Added additional support for updating the plugin via WP-CLI. * Made some changes to admin bar menu item. There is now a Perfmatters top-level admin bar menu item that links to our plugin settings page. The Script Manager and Clear Used CSS function can be accessed by hovering over that main menu item if those features are enabled. * Added new toggle in tools to Hide Admin Bar Menu. * Disabled certain features from running on WooCommerce cart, checkout, and account pages for better compatibility. * Increased site limit in dropdowns on Multisite network settings page. * Added additional compatibility styles to the Script Manager. * Added additional built-in exclusions for Remove Unused CSS for better compatibility with Elementor, Astra, Kadence, and GenerateBlocks. * Added new perfmatters_login_url filter. * Added new perfmatters_lazyload_noscript filter. * Fixed an issue where YouTube preview thumbnails were generating a preload warning in certain instances. * Fixed an issue that was causing analytics.js not to be served over HTTPS in instances where an SSL migration had been done previously on the site. * Fixed an issue where delayed style attribute was applied to preloaded stylesheets that already existed in the DOM. * Fixed an issue where some features were being allowed to run on XML sitemap URLs in certain cases. * Fixed an issue where theme and plugin files were not falling back to a WordPress version query string when present in a dynamic preload. = 1.9.9 - 09.05.2022 = * Added additional autosave interval options. * Added WPBakery query string parameter to excluded page builders array. * Changed certain lazy loading classes to be more specific to prevent conflicts. * Adjusted lazy loading image attribute filter to not run unless images specifically are meant to be lazy loaded by Perfmatters. * Added an additional function_exists check in the JS class to prevent an error from being thrown in some cases. = 1.9.8 - 08.31.2022 = * Made adjustments to the CSS Background Image styles to work with some changes in the latest version of our lazy loading library. * Fixed an issue that was preventing quotations from being stripped from background image URLs when prepping an inline background image for lazy loading. * Fixed an issue where delayed CSS was not loading properly when using individual JS delay. * Fixed an error that was being logged in some cases when checking for an active plugin in the JS class. = 1.9.7 - 08.30.2022 = * Made an adjustment to how inline background images are prepped to work with some changes in the latest version of our lazy loading library. = 1.9.6 - 08.30.2022 = * Added new perfmatters_delay_js_delay_click filter. * Added new perfmatters_local_stylesheet_url filter. * Made some performance improvements to the way the lazy loading script and inline code are loaded. * Added additional compatibility for Elementor animations when using Delay JS. * Added additional details in the Script Manager global view for individual stored settings. * Added the ability to identify and clear outdated post IDs set in the Script Manager options from the global view. * Script Manager global view organization and style improvements. * Updated lazy loading library to version 17.8. * Updated instant.page library to version 5.1.1. * Added Bricks query string parameter to excluded page builders array. * Fixed an issue that was causing the cache directory to not create unique subsite paths for specific multisite setups. * Fixed an issue where delayed stylesheets were not being loaded if Delay JS was toggled off in the post meta options. = 1.9.5 - 07.17.2022 = * Added additional logic to Delay JS script to make sure the initial interaction is processed. * Added additional styles to CSS Background Image feature to work with background images set on ::before selectors. * Added additional logic on custom login URL admin_url filter to fix certain scenarios where login URL was not being replaced correctly. * Added additional default tags to various dropdowns in plugin settings for better clarification. * Added default arrays for stylesheet and selector exclusions that are always needed. * Adjusted perfmatters_cdn filter location for compatibility. * Made some adjustments to CDN Rewrite Regex to fix some issues where unwanted strings were getting picked up as URLs in some cases. * Translation updates. = 1.9.4 - 06.21.2022 = * Updated EDD plugin updater class to version 1.9.2. * Added default exclusion to REST API option for compatibility. = 1.9.3 - 06.17.2022 = * Remove Used CSS filter adjustment to fix an issue where certain WordPress post functions wouldn't be available when trying to selectively disable the feature. * Rolled back minor plugin UI JavaScript addition, as it was interfering with entering data on multiple lines in certain input fields. = 1.9.2 - 06.16.2022 = * Added new perfmatters_used_css filter. * Added new perfmatters_allow_buffer filter. * Added a notice in the Script Manager when Testing Mode is enabled. * Improved reliability of CSS Background Image function when child elements with additional background images are present. * Script Manager style compatibility fixes. * Fixed an issue where some post specific meta options were not being respected when determining if a feature should run. * Fixed an issue where pressing enter on the main plugin settings page would trigger a specific form action instead of save settings. * Changed CSS class initialization hook to be in the correct order with other output buffer functions. * Made an adjustment to how we generate the local used stylesheet URL for better compatibility. * Fixed an issue where loading attribute was still getting applied to images that were excluded from lazy loading. * Fixed an issue where images inside an excluded picture element were not also getting excluded. * Fixed an issue in the Script Manager where archives were not being grouped together with their respective post type. * Additions to plugin UI JavaScript to allow for disabled sections to be hidden even when nested controllers are present. * Moved background process library to composer autoloader. * Removed BETA tag from Remove Unused CSS option. = 1.9.1 - 05.23.2022 = * Added new option to lazy load CSS Background Images. * Added new option for Dual Tracking when using gtag.js in local analytics. * Added new perfmatters_rest_api_exceptions filter. * Fixed an issue where individually delayed local scripts would not get correctly rewritten to load from the CDN. * Fixed an issue where lazy loading would run into an error if no px or % was specified with the threshold value. * Fixed an issue with buffer validation that was conflicting with certain caching setups. * Fixed an issue where existing font preconnect and prefetch tags were not being detected properly when using Local Fonts. * Fixed an error related to cookie constants when running MU Mode in certain environments. * Fixed multiple AMP validation errors and added additional checks to prevent certain functions from running on AMP URLs. * Minor adjustment to CDN rewrite regex pattern to work with encoded quotation characters. * Changed toggle CSS selectors to be more specific to prevent conflicts. * Moved plugin settings header output to in_admin_header action hook for compatibility. * Moved JS optimization functions to new class structure to be more inline with current codebase. * Improvements to critical image preloading allowed for a move to a singular output buffer. = 1.9.0 - 04.15.2022 = * Fixed an issue that was causing excluded selectors to not be recognized properly after Used CSS was cleared. * Minor adjustments to the new plugin UI. = 1.8.9 - 04.13.2022 = * Updated plugin settings UI. * Added new post meta option to Clear Used CSS for an individual page or post type. * Added new perfmatters_rucss_excluded_selectors filter. * Fixed a lazy loading issue that was preventing some images from loading properly in Safari. * Migrated Delay JS Timeout dropdown to a simpler on/off toggle that will default to 10 seconds. Our filter is also still available to set a custom timeout value. * Fixed an issue with MU plugin that was interfering with rewrite rules in some instances. * Added additional excluded page builder parameter for Flatsome UX. * Moved restore default functionality to a separate option on the tools page. * Code refactoring. * Translation updates. = 1.8.8 - 03.23.2022 = * Changed default setting for Used CSS Method from file to inline, as we think this will be the more compatible solution for most users going forward. If you were previously using the file method, you may need to save that option again. * Added width and height parameters to placeholder SVGs to prevent warnings for a ratio mismatch that would happen for some images. * Fixed an issue where the noscript tags were getting malformed for some images inside picture tags after lazy loading. * Removed placeholder SVGs on source tags since the image tag will already have one. * Changed settings export file name date format to be easier to organize when managing multiples. * Updated tooltip for Blank Favicon option to be more clear. = 1.8.7 - 03.14.2022 = * Added new Used CSS Method option to choose whether to load used CSS from a file or inline. * Added new perfmatters_cache_path filter. * Updated metabox functions to restrict metabox display to administrators only. * Made some adjustments to custom login URL function to better support 3rd party tools using WP CLI. * Added Fusion Builder query string parameters to excluded page builders array. * Adjusted Unused CSS regex to be more consistent when stylesheets are placed in between other link tags. * Changes to instances where ABSPATH was used to determine a directory location for better compatibility with certain hosts. * Fixed an issue with Remove Global Styles option where duotone SVGs were not being removed on WordPress 5.9.2. * Fixed an issue where WooCommerce block stylesheets were not getting correctly dequeued when Disable Scripts option was set. * Fixed an issue that was causing the CSS Parser library not to get included correctly in certain cases. * Translation updates. = 1.8.6 - 02.10.2022 = * Added new option to Remove Global Styles related to duotone filters. * Added new perfmatters_script_manager_locale filter. * Added new perfmatters_disable_woocommerce_scripts filter. * Added new perfmatters_page_builders filter. * Added new perfmatters_delay_js_behavior filter. * Fixed an issue with the unused CSS parser that was incorrectly rewriting relative URLs if there was no query string present on the original stylesheet src. * Added additional parameter to page builders array for compatibility. * Fixed an issue that was causing the login URL disabled 404 behavior to result in an error if a 404 template was not found. * Added some additional checks before creating cache directories for local fonts and used CSS. * Fixed an issue that was causing the fade-in effect to conflict with child images inside a lazy loaded container. * Fixed an undefined index warning coming from unused CSS settings update function. * Added a default delay JS exclusion for admin only inline customize-support script. * Refactored entire meta.php code to be more efficient (38% smaller) and in line with current structure. * Translation updates. = 1.8.5 - 01.19.2022 = * Added new feature to Remove Unused CSS (BETA). * Added new perfmatters_remove_unused_css filter. * Adjusted CDN Rewrite buffer priority for better compatibility with other features. * Made an improvement to the Disable XML-RPC function to return a 403 error when xmlrpc.php is accessed directly. * Script Manager stylesheet updates for better compatibility. * Fixed an issue in the Script Manager where the input controls were sometimes not displaying after toggling a script off. * Added additional style for YouTube preview thumbnail play button to fix an alignment issue with certain setups. * Buffer adjustments for compatibility. = 1.8.4 - 12.19.2021 = * Fixed an issue that was interfering with sitemap display in certain configurations. * Added element support for lazy loading inline background images. = 1.8.3 - 12.13.2021 = * Added new perfmatters_fade_in_speed filter. * Fixed an issue that was preventing lazy loading fade in from working correctly with certain background images. * Fixed an issue that was interfering with the display of certain inline SVG elements. * Adjusted local analytics hook priority for better compatibility. * Script Manager style updates for better compatibility. * Translation updates. = 1.8.2 - 12.08.2021 = * New Lazy Loading option to Exclude Leading Images. * New Lazy Loading option to add a Fade In effect. * New option to Preload Critical Images (BETA). * Expanded Disable XML-RPC function to also remove pingback link tag if it is present in the document. * Added new Delay JavaScript checkbox to meta options in the post editor. * Added additional integration with perfmatters_delay_js filter. * Moved YouTube autoplay parameter placement on lazy loaded iframes for better compatibility with existing query strings. * Optimizations to lazy loading inline CSS functions. * Various optimizations and improvements to the output buffer. * Migrated manual preload functionality to use the output buffer which will allow for easier integration with new features. * Made some adjustments to MU plugin functions to more reliably detect post IDs when using specific permalink setups. * Fixed an issue where some Current URL links in the Script Manager's Global View were not pointing to the right posts. * Fixed an issue with a certain endpoint that was redirecting to the custom login URL. * Fixed a PHP notice that was sometimes appearing when refreshing local fonts. * Removed BETA tag from Delay All JS option. = 1.8.1 - 10.26.2021 = * Updated Local Google Font function to more effectively remove existing font preconnect and prefetch tags. * Updated Local Google Font function for better compatibility with sites that still have remnants from a previous http to https migration. * Fixed an issue in the Script Manager where the home page was being treated as a post if set to display the blog feed. = 1.8.0 - 10.22.2021 = * Fixed an issue with Delay All JS that was preventing certain async scripts from fully loading. = 1.7.9 - 10.19.2021 = * Added new options to the Script Manager to disable assets directly by post type, archive, user status, and device type. * Added support for dynamic preloading by handle for enqueued scripts and styles. * Added new perfmatters_lazyload filter. * Added new perfmatters_cdn filter. * Added new perfmatters_delay_js_timeout filter. * Fix to Delay All JS script for better compatibility with certain page builder animations. * Updated class initialization for better compatibility. * Fixed an issue where the Script Manager was interpreting certain array keys as shortcodes if they were identical. * Added an additional check to prevent the Script Manager from being able to load on top of a page builder. * Fixed a PHP notice coming from the MU plugin. * Made some changes to our plugin updater function that should help with auto-updates in a multisite environment. * Translation updates. = 1.7.8 - 09.16.2021 = * Added new option to Add Missing Image Dimensions. * Added the ability to delete individual Script Manager options from the Global View. * Added new perfmatters_delay_js filter. * Updated EDD plugin updater class to version 1.9.0. * Translation updates. = 1.7.7 - 08.25.2021 = * Fixed a PHP warning related to JavaScript deferral for specific configurations. * Fixed an issue with lazy loading exclusions not being loaded correctly in some cases. = 1.7.6 - 08.24.2021 = * Added new Delay Behavior dropdown with a new option to Delay All Scripts. * Added new Lazy Loading Threshold option and adjusted the default value if not set to improve performance. * Added confirmation message when manually running the database optimization tool. * Updated disable emoji function to get rid of a PHP notice. * Added additional check to MU Mode to only filter GET requests. * Added new perfmatters_defer_js filter. * Fixed an issue where Instant Page was attempting to run on the new widgets screen in WordPress 5.8. * Fixed an issue with Local Google Fonts where certain invalid font URLs would still attempt to be downloaded and served. * Removed BETA tag from fonts section. * Delay JavaScript compatibility improvements. * Added additional input validation functionality to plugin settings page. * Translation updates. = 1.7.5 - 07.13.2021 = * Added new custom login URL options to change the Disabled Behavior and set a custom Message. * Migrated CDN, Analytics, and Extras tab data to separate sections in the Options tab for better organization and easier access. * CDN rewrite improvements to better handle sites with multiple domain URLs. * Regex adjustments to Local Fonts function for better reliability. * Added exclusion checks to individual