Directory / plugin
Unloadly – Disable Unused CSS & JS
v1.1.0 · by versouq
Speed up WordPress by disabling plugin CSS and JS on pages that don't need them. Faster load time, no code needed.
About this plugin
Is your WordPress site slow, even with a cache plugin? One common reason is that plugins load their CSS and JavaScript files on every page, even on pages that never use them. A contact form plugin loads on your blog posts. WooCommerce loads on your About page. A slider loads on pages with no slider. Every extra file makes your pages heavier and slower to load.
Unloadly speeds up your website by stopping that waste. Edit a page, choose the plugins that page does not need, and their CSS and JavaScript files stop loading on that page. No coding, no hunting for script names, no complicated setup.
The result is smaller pages, fewer requests, and a faster website. It also helps with warnings like “Reduce unused JavaScript” and “Remove unused CSS” in tools such as Google PageSpeed Insights and GTmetrix.
Unloadly works alongside any caching or optimization plugin. It removes the files you don’t need; your cache plugin serves what is left. Flush your cache after you change a rule.
Why use Unloadly?
- Speed up your WordPress site — Pages load faster when they only download what they use.
- Disable plugins on specific pages — Keep a plugin active but stop it from loading on pages where it isn’t needed.
- Simple for beginners — Select plugins from a list in the page editor. No code.
- Safe — The plugin keeps running. Only its frontend CSS and JS files are removed from the pages you choose.
- Lightweight — Unloadly does one job and doesn’t add its own cache, minification, or delay-JS features.
Features
- Per-page control — In the editor sidebar, select the plugins whose CSS and JS should not load on that page or post. Search the list when you have many plugins.
- Category and tag rules — Set a rule once on a category or tag and every post in it follows. A post with its own selection always wins over its terms.
- Sitewide removal — On Settings Unloadly, list individual style or script handles once, and they are removed on the entire frontend.
- Head cleanup — Optionally remove oEmbed, REST API, and RSD discovery links from
wp_head. - Quick check — View the page source and search for the plugin folder name. If the name is gone, those files were likely not printed. This is a hint, not a full audit.
- Developer hooks — Filters and actions are prefixed with
unloadly_. Seeincludes/Hook.php.
How to speed up your site with Unloadly
- Edit a page or post. In the Unloadly box, select the plugins that page doesn’t need (for example WooCommerce on an About page, or a contact form plugin on every page except Contact).
- Update the page. Those plugins’ CSS and JavaScript no longer load on that page.
- Optional: edit a category or tag (Posts Categories or Posts Tags) and select plugins there. Every post in that term inherits the rule, so you don’t repeat the work. A post with its own selection ignores its term rules.
- Optional: open Settings Unloadly to remove specific CSS or JS handles sitewide, and to strip discovery links from the document head.
- Clear your cache and test your page speed again.
Rule priority
For each URL Unloadly applies one list, in this order:
- The post’s own selection, when the post has at least one plugin selected.
- The terms of that post — the combined rules of its categories and tags. A rule on a parent category also covers posts in its child categories.
- Nothing per page, when neither is set. Sitewide handle rules still apply.
Category and tag rules also apply on that term’s own archive page.
Works with popular plugins
Unloadly removes assets by plugin folder and by script/style handle. It is meant to sit beside the tools you already use, not replace them.
- WooCommerce — Disable shop CSS and JS on pages that are not the shop, cart, or checkout.
- Elementor and Divi — Disable builder CSS and JS on pages that don’t use the builder. Leave them loaded on pages that do. Unloadly does not strip assets on Elementor editor or preview requests, so the canvas keeps its files.
- Contact forms and sliders — Load them only on the pages where they appear.
- Cache plugins — Change Unloadly rules, then flush the cache so visitors get the new HTML.
Do not disable a plugin on a page that actually needs it.
Hooks
Developers can change post types, protected plugins, protected handles, and the disabled list for a request. Hook names are prefixed with unloadly_. See includes/Hook.php.
Support
Need help? Open a thread on the WordPress.org support forum, visit the plugin page, or email [email protected].