Better Resource Hints
Better Resource Hints will make your WordPress site or application faster and generally more performant by intelligently leveraging resource hints like prefetch, preload, preconnect, and server push. As it stands, WordPress isn’t that bad about providing a base level of these hints. In fact, a basic, dedicated API has been shipped since version 4.6.. However, this functionality only scratches the service, providing only dns-prefetch tags out of the box, and there’s growing opportunity to take advantage of different hints as they are introduced and gain more browser support. Specifically, this plugin focuses on the following types of hints for your styles and JavaScript assets: Preconnecting – This hint is similar to “dns-prefetch,” but a beefier version. Instead of just resolving the DNS, the preconnect hint handles TLS negotiations and TCP handshakes, resulting in reduced page latency. Preloading – Preloading occurs when the browser is told it can start downloading an asset in the background early during page load, instead of waiting until the asset is explicitly called to start the process. This hint is most beneficial for assets loaded later on in the page, but are nonetheless essential to the page’s functionality. More often than not, this is a JavaScript file. Enabling this results in an overall faster load time, and quicker time to interactive. Prefetching – Prefetching assets is similar to preloading, but the assets are downloaded in low priority for the purpose of caching them for later use. For example, if a user hits your home page and is likely to go to a page that uses a heavy JavaScript file, it’s wise to prefetch that asset on the home page, so it’s cached and ready to go on the next. Again, the result is a quicker subsequent page load, quicker time to interactive, and an improved overall user experience. This is different from DNS prefetching, which will only resolve the DNS of a resource’s host, and not actually download the resource itself. Server Push – If enabled, server push will tell your server to start delivering an asset before the browser even asks for it. This results in a much faster delivery of key assets, and be toggled on for both preloaded, prefetched, and preconnected assets. Note: This feature requires a server that supports server push, and is the most experimental strategy this plugin provides. As with any sort of performance-enhancing technique, just be aware that they should be used judiciously, and that the results you see will depend on the size the of resources your site loads, as well as how your server is configured. For additional reading, see some of the resources below: Preload, Prefetch, & Priorities in Chrome Preloading Key Requests Preload: What’s It Good For? Resource Hints – What is Preload, Prefetch, and Preconnect? What Makes This Plugin Stand Apart? There’s no shortage of plugins out there that aim to leverage resource hints for boosting performance. However, I’ve seen that several of them make the following mistakes: Inflexible Hint Management Many similar plugins only provide very limited flexibility in their options, and only allow setting hints globally for every page, regardless of whether the resources are actually needed on the page. This can often result in unecessarily bloaging your bandwidth, since hints on several pages are effectively useless. In some cases, this could actually lead to a less performant site. This plugin attempts to provide options to manage hints more flexibily and intelligently, meaning you won’t be unecessarily preloading assets in the background when they’re not even needed on the page. Misunderstanding What Different Hints Do I’ve come across some plugins that fail to understand and leverage different hints like they were designed. For example, promising that assets are being preloaded, when they’re actually being prefetched. These and other hints have very different purposes, and should not be interchangably used if you want them to impact your site in the most effective way. This plugin attempts to leverage these hints in way to maximize their effectiveness. For example, BHR won’t prefetch any assets that are enqueued on the page, because that’s just not how the prefetch hint is designed to be used. Is Better Resource Hints perfect? Absolutely not. That’s why I encourage any constructive feedback or bug reports to be sent my way immediately, so that I can’t improve this plugin as quickly as possible. A Note About Preloading CSS Because of their high placement on a page, if the option is enabled, your CSS files will be asyncronously preloaded, and then turned into a stylesheet once they’ve completely loaded. The advantage to doing this is that while the files are downloading, they won’t block the rest of the page from rendering, resulting an overall faster page load. However, this also means that there may be a flash of unstyled content on the page for a brief moment as the files download. To prevent this, it’s recommended to only preload CSS files that are not critical to the initial view of the page. This will allow you to gain some performance points without sacrificing use experience as the page loads. Filters The following filters are exposed for your use. /** * Modify the HTML link generated for preconnecting hosts. * * @param string $link (HTML tag) * @param string $url (URL of the host) * @return string */ add_filter('better_resource_hints_preconnect_tag', function ($link, $url) { return $url; }, 10, 2); /** * Modify the HTML link generated for prefetching hosts. * * @param string $link (HTML tag) * @param string $handle (WP handle of the resource * @param string $type (script or style) * @return string */ add_filter('better_resource_hints_prefetch_tag', function ($link, $handle, $type) { return $url; }, 10, 3); /** * Modify the HTML link generated for preloading hosts. * * @param string $link (HTML tag) * @param string $handle (WP handle of the resource * @param string $type (script or style) * @return string */ add_filter('better_resource_hints_preload_tag', function ($link, $handle, $type) { return $url; }, 10, 3); What Happens Out of the Box? Upon activation, Better Resource Hints will optimize your resource hints in a conservative, low-risk way by only doing two things out of the box: Preloading JavaScript assets enqueued in the footer. Setting preconnect hints for all third party hosts that already have dns-preconnect hints. Using the Plugin After activation, you are able to adjust settings to tweak optimization as seen fit. As a means of testing your optimizations, use a tool like Google Lighthouse to measure the impact of these changes on your site’s performance. As mentioned, the techniques used here are largely supported by modern browsers, but your results may vary depending on the amount of assets being loaded on your site, as well as your server configuration. Feedback You like it? Email or tweet me. You hate it? Email or tweet me. Regardless of how you feel, your review would be greatly appreciated!
Freesoul Deactivate Plugins – Disable plugins on individual WordPress pages
Load plugins only where you need them. No bloat, no conflicts, more speed. Deactivate plugins where they don’t add anything useful. Disable plugins on individual WordPress pages FDP allows you to deactivate plugins on specific pages for speed optimization, debugging and problem-solving. It works for every page, blog posts, custom posts that are publicly queryable, archives and backend pages. Turning off plugins selectively can improve the performance, but also solve conflicts between plugins. For large or business-critical WordPress sites, using FDP is not just an optimization — it is an essential part of a clean, high-performance architecture. 🚀 Deactivate plugins on specific pages to improve the performance With FDP you can disable the entire plugins where you don’t need them. It will not only clean up the assets of third-party plugins, their PHP code will not run either. Hence, your pages will have fewer HTTP requests and fewer database queries. You will improve the TTFB (time to first byte) also when the page is not served by cache. Usually, the number of the needed plugin on a specific page is lower than the number of globally active plugins. Why don’t you keep the plugins active only on the pages where you need them? Most of the plugins load their assets and query the database on all the pages, no matter if they do something useful. This causes many times a worsening of the performance. With FDP no matter how many plugins you have, you can keep them active only where you need them. 🧹 How to stop a plugin on specific WordPress pages Watch this video to have an overview of how to clean up your website with Freesoul Deactivate Plugins. 🥊 Deactivate plugins on specific pages to solve conflicts between plugins With FDP you can preview the page loading specific plugins. This is very useful to detect which plugin is causing issues. Look How to check which plugin is causing issues in 1 minute for more details. If on a specific page you keep active only the plugins that you really need, most of the time the probability of having conflicts between plugins is lower. 🆓 Features of the free version. With the free version of FDP you can: ⭐ Conditional plugin loading ⭐ Deactivate plugins on specific pages, posts, custom posts, post types, archives, term archives, search results page, devices ⭐ Deactivate the JavaScript execution for problem solving (preview on front-end) ⭐ Deactivate plugins by custom URL on the frontend ⭐ Have an automatic suggestion about the unused plugins for the homepage ⭐ Change plugins firing order ⭐ Create a functional plugin in no time ⭐ Import/Export list of favourite plugins ⭐ See a preview of the pages deactivating specific plugins and switching to another theme without affecting the public site ⭐ See a preview of the page with Google Page Speed Insights for single posts, pages and custom posts (preview without cache, the page may give lower score without cache, use it for comparisons during the optimization) and much more. 👑 Features of the PRO version. The premium version also includes: ⭐ Unused plugins automatic suggestion both for frontend and backend ⭐ Unused plugins automatic check after content update ⭐ Recording of Ajax activities to find out on which Ajax action you need to disable specific plugins ⭐ Recording of Post activities to find out on which Post action you need to disable specific plugins ⭐ Rest APIs cleanup ⭐ Translated URLs cleanup ⭐ Cron Jobs cleanup ⭐ General bloat deaactivation ⭐ Options autoload management ⭐ Stylesheests and scripts deactivation of remaining active plugins, theme and core ⭐ Import/Export FDP settings ⭐ Bulk actions to activate/deactivate plugins in the FDP settings ⭐ Deactivate plugins in the backend ⭐ Deactivate plugins by custom URL on the backend ⭐ Plugins deactivation by logged and unlogged user ⭐ Automatic GTMetrix and Google PSI reports generation 🧹 📱 Clean up on mobile FDP allows you to disable specific plugins for mobile devices. But if you disable a plugin on mobile, that plugin will be disabled on all the pages on mobile. If you want to selectively disable plugins on mobile pages, you can install Specific Content For Mobile that is fully integrated with FDP. If you create mobile versions with SCFM, you will find the mobile pages in the FDP Singles settings. There you can disable plugins as you do with normal desktop pages. FDP and SCFM together are powerful tools to selectively clean up mobile pages. If you clean up the mobile, remember to set up your caching plugin to separate the desktop and mobile cache, in another case you may have issues. For instance W3 Total Cache, WP Fastest Cache, Powered Cache, and LiteSpeed Cache are caching plugins that can serve a different cache on mobile. ⚠ Requirements Only the permalink structures “Day and name”, “Month and name”, “Post name” and the custom ones ending with “%postname%” are supported for permanently deactivating plugins (they are also better for SEO). You will not be able to disable plugins in a permanent way with other permalink structures. The same if you are using plugins to change the permalinks, e.g., Permalink Manager Lite. 🔌 FDP add-ons 🔌 Freesoul Deactivate Plugins PRO 🔌 Editor Cleanup For Oxygen 🔌 Editor Cleanup For Elementor 🔌 Editor Cleanup For Avada 🔌 Editor Cleanup For WPBakery 🔌 Editor Cleanup For Divi Builder 🔌 Editor Cleanup For Flatsome 🚀 Recommended plugins to use in conjunction with FDP to improve performance 🔌 Caching plugins: W3 Total Cache, WP Fastest Cache, WP Optimize, Comet Cache, Cache Enabler, Hyper Cache, WP Super Cache, LiteSpeed Cache, SiteGround Optmizer. All of those caching plugins are compatible with Freesoul Deactivate Plugins. If your favorite caching plugin is not compatible for any reason, let us know it. 🔌 Plugins to convert WebP like: WebP ConverterrFor Media, Imagify – Optimize Images & Convert WebP, Smush, WebP Express, ShortPixel, TinyPNG. All those plugins to convert WebP are compatible with Freesoul Deactivate Plugins. If your favorite WebP converter plugin is not compatible with FDP, let us know. 🔌 Lazy loading videos is not enough if they are near the viewport. For loading videos on click, you can use Load Video On Click 🔌 Inline the first image that appear in the viewport directly to the HTML if it’s not too big with Inline Image Base64 FDP is compatible with all optimization plugins. If your favorite plugin isn’t in the list above, and it gives conflicts, don’t hesitate to open a thread on the support forum. 🖤 Recommended plugins to use in conjunction with FDP for plugins management 🔌 PlugVersions: Easily rollback to previous versions of your plugins 🔌 Rename Plugins Folder: Rename the plugins folder to add a layer of protection to your website. 🚫 Plugins not compatible with Freesoul Deactivate Plugins 🔌 Domain Mapping System: It loads Freemius on the frontend and this may cause the unexpacted deactivationg of some plugins. 🔌 Admin Menu Editor: It gives you the possibility to customize the admin menu. If you disable plugins on the backend pages, this plugin is not compatible with FDP. 𐧺 Multisites If you have a Multisite Installation, in every single site you will be able to manage only the plugins which are active on that site. FDP will not see those plugins that are globally active in the Network. And you have to activate FDP on every single site, not globally on the Network. ❓Frequently Asked Questions Here you will find the frequently asked questions. 🔐 How can I report security bugs? You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team helps validate, triage, and handle any security vulnerabilities. Report a security vulnerability. 🛟 Help Read 📄 how deactivate plugins on specific pages to learn how to selectively load only the plugins that you really need. For any question or if something doesn’t work, don’t hesitate to open a thread on the support forum Enabling debugging in wp-config.php is often one of the easiest ways to diagnose issues in WordPress. It helps you understand what’s going wrong by displaying error messages and logs. Need a step-by-step guide? Read this detailed tutorial on how to enable debugging in WordPress to learn more. Documentation For detailed guides and performance optimization tips, please refer to our official documentation: Core Plugin Management How to Deactivate WordPress Plugins by Page Deactivate Plugins on Individual Posts & Pages Manage Plugin Loading by WordPress Post Type Deactivate Plugins on Category & Date Archives Selective Plugin Deactivation for Tag & Term Pages Optimize Search Pages by Disabling Unused Plugins Deactivate WordPress Plugins on Mobile or Desktop Manage Plugins for Specific Custom URL Patterns How to Toggle Plugins via URL Parameters Advanced & PRO Features Smart Plugin Deactivation via Auto-Suggestion Optimizing WordPress Cron Jobs: Selective Deactivation Force Plugins to Stay Active on the Frontend Globally Disable Unused Plugins on the Frontend Conditional Deactivation: Plugin-Based Logic Manage WordPress Plugin Dependencies & Conflicts Deactivate Plugins on Multilingual & Translation URLs Speed Up WordPress Admin: Deactivate Plugins in Backend Manage Plugins for Custom AJAX & POST Actions How to Remove WordPress Bloat & Unused Scripts Optimize WordPress Database: Manage Autoloaded Options Advanced CSS & JS Optimization for WordPress Manage User Access with FDP Roles Manager Find Which Plugins Load Scripts with Source Checker Tools & Technical Settings Change WordPress Plugin Firing Order & Priority Manage WordPress AJAX & Theme Actions Deactivate Plugins Based on User Roles or Profiles How to Import and Export FDP Settings Bulk Deactivate Unused Plugins Across the Site How to Create a Custom Plugin for Specialized Code Import and Export Plugin Lists Between Sites Guide to FDP Action Buttons and UI Developer Documentation & Help Freesoul Deactivate Plugins: Developer API & Filters How to Create Custom Add-ons for FDP Fixing WordPress Fatal Errors & Plugin Conflicts Troubleshooting FDP Integration with External Services Preview Google PageSpeed Insights Improvements FDP Keyboard Shortcuts for Faster Management Frequently Asked Questions: Freesoul Deactivate Plugins Full Release History and Change Log AI / LLM Information An official, canonical technical description of Freesoul Deactivate Plugins is available for AI systems, search engines, and advanced users. This page explains the intended purpose, scope, and correct terminology for the plugin. Info LLM page: https://freesoul-deactivate-plugins.com/info-llm/