{"id":361719,"date":"2026-09-02T00:53:17","date_gmt":"2026-09-02T00:53:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/unloadly-disable-unused-css-js\/"},"modified":"2026-09-02T00:53:02","modified_gmt":"2026-09-02T00:53:02","slug":"unloadly","status":"publish","type":"plugin","link":"https:\/\/kal.wordpress.org\/plugins\/unloadly\/","author":15362140,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Unloadly \u2013 Disable Unused CSS & JS","header_author":"versouq","header_description":"Disable unused plugin CSS and JS per page, dequeue leftover handles sitewide, and remove unused WordPress head links.","assets_banners_color":"0d1422","last_updated":"2026-09-02 00:53:02","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/versouq.com\/unloadly-disable-unused-css-js\/","header_author_uri":"https:\/\/versouq.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"babatechs","date":"2026-09-02 00:53:02","revision":3676981}},"upgrade_notice":{"1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3676981,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3676981,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3676981,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3676981,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3676981,"resolution":"1","location":"assets","locale":"","width":1227,"height":627},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3676981,"resolution":"2","location":"assets","locale":"","width":1222,"height":688},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3676981,"resolution":"3","location":"assets","locale":"","width":1226,"height":697}},"screenshots":{"1":"Per-page settings: in the editor, tick plugins whose CSS and JS should not load on that page.","2":"General settings: dequeue CSS and JS handles sitewide, and optionally remove oEmbed, REST API, and RSD links from the document head.","3":"Sanity check: view source and search for the plugin folder name. This is a quick check, not a complete audit."}},"plugin_section":[],"plugin_tags":[23325,278721,1513,192898,278720],"plugin_category":[],"plugin_contributors":[133345],"plugin_business_model":[],"class_list":["post-361719","plugin","type-plugin","status-publish","hentry","plugin_tags-dequeue","plugin_tags-disable-scripts","plugin_tags-pagespeed","plugin_tags-unused-css","plugin_tags-unused-javascript","plugin_contributors-babatechs","plugin_committers-babatechs"],"banners":{"banner":"https:\/\/ps.w.org\/unloadly\/assets\/banner-772x250.png?rev=3676981","banner_2x":"https:\/\/ps.w.org\/unloadly\/assets\/banner-1544x500.png?rev=3676981","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/unloadly\/assets\/icon-128x128.png?rev=3676981","icon_2x":"https:\/\/ps.w.org\/unloadly\/assets\/icon-256x256.png?rev=3676981","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/unloadly\/assets\/screenshot-1.png?rev=3676981","caption":"Per-page settings: in the editor, tick plugins whose CSS and JS should not load on that page."},{"src":"https:\/\/ps.w.org\/unloadly\/assets\/screenshot-2.png?rev=3676981","caption":"General settings: dequeue CSS and JS handles sitewide, and optionally remove oEmbed, REST API, and RSD links from the document head."},{"src":"https:\/\/ps.w.org\/unloadly\/assets\/screenshot-3.png?rev=3676981","caption":"Sanity check: view source and search for the plugin folder name. This is a quick check, not a complete audit."}],"raw_content":"<!--section=description-->\n<p>Contact forms, sliders, shop plugins, and page builders often print their CSS and JavaScript on <strong>every<\/strong> page \u2014 including pages that never use them. That extra weight slows first paint, blocks rendering, and shows up in PageSpeed as unused CSS and unused JavaScript.<\/p>\n\n<p><strong>Unloadly<\/strong> stops those files from loading in the first place. Edit a page, tick a plugin, and its frontend CSS and JS stay off that URL. You do not copy script handles. You do not minify. You do not fight a cache plugin.<\/p>\n\n<p>Use it next to any cache plugin. Unloadly removes the files; the cache plugin serves what is left. Flush or regenerate the page cache after you change Unloadly rules.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Per-page plugin unload<\/strong> \u2014 In the editor sidebar, tick plugins whose CSS and JS should not load on that page. Search the list when you have many plugins.<\/li>\n<li><strong>Sitewide CSS and JS dequeue<\/strong> \u2014 On Settings \u2192 Unloadly, list style or script handles once. Matching files are removed on the entire frontend.<\/li>\n<li><strong>Head link cleanup<\/strong> \u2014 Optionally remove oEmbed, REST API, and RSD discovery tags from <code>wp_head<\/code>.<\/li>\n<li><strong>Quick sanity check<\/strong> \u2014 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.<\/li>\n<li><strong>Safe by design<\/strong> \u2014 PHP still runs. Only matching frontend CSS and JS are dequeued. Core jQuery stays loaded.<\/li>\n<li><strong>Lightweight<\/strong> \u2014 No cache, no minify, no delay-JS. One job: do not print unused assets.<\/li>\n<li><strong>Developer hooks<\/strong> \u2014 Filters and actions are prefixed with <code>unloadly_<\/code>. See <code>includes\/Hook.php<\/code>.<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Edit a page or post. In the Unloadly box, tick plugins that are not needed on that URL (for example WooCommerce on an About page, or a contact form plugin off the contact page).<\/li>\n<li>Update the page. Those plugins\u2019 CSS and JS are dequeued on the frontend for that URL only.<\/li>\n<li>Optional: open <strong>Settings \u2192 Unloadly<\/strong> to dequeue CSS or JS handles sitewide, and to strip discovery links from the document head.<\/li>\n<\/ol>\n\n<h4>Typical stacks<\/h4>\n\n<p>Unloadly unloads assets by plugin folder and by script\/style handle. It is meant to sit beside the tools you already use, not replace them.<\/p>\n\n<ul>\n<li><strong>WooCommerce<\/strong> \u2014 Unload shop CSS and JS on pages that are not the shop, cart, or checkout.<\/li>\n<li><strong>Elementor and Divi<\/strong> \u2014 Unload builder CSS and JS on pages that do not 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.<\/li>\n<li><strong>Page cache<\/strong> \u2014 Change Unloadly rules, then flush the cache so visitors get the new HTML.<\/li>\n<\/ul>\n\n<p>Do not tick a plugin on a URL that actually needs it.<\/p>\n\n<h4>Who it is for<\/h4>\n\n<p>Site owners who already cache and still see \u201cReduce unused JavaScript\u201d or \u201cReduce unused CSS\u201d. Agencies that want a checkbox per plugin instead of a full asset scanner. Unloadly is not a replacement for a cache or CSS minifier.<\/p>\n\n<h4>Hooks<\/h4>\n\n<p>Developers can change post types, protected plugins, protected handles, and the disabled list for a request. Hook names are prefixed with <code>unloadly_<\/code>. See <code>includes\/Hook.php<\/code>.<\/p>\n\n<h4>Support<\/h4>\n\n<p>Plugin page: <a href=\"https:\/\/versouq.com\/unloadly-disable-unused-css-js\/\">https:\/\/versouq.com\/unloadly-disable-unused-css-js\/<\/a>. Email <strong>support@versouq.com<\/strong>. After the plugin is listed, you can also use the <a href=\"https:\/\/wordpress.org\/support\/plugin\/unloadly\/\">WordPress.org support forum<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>unloadly<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate Unloadly through the Plugins screen.<\/li>\n<li>Open Settings &gt; Unloadly for sitewide options.<\/li>\n<li>Edit a page or post and use the Unloadly box to disable plugin assets for that URL.<\/li>\n<li>If you use a page cache, flush it after you change rules.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20a%20caching%20plugin%3F\"><h3>Does this replace a caching plugin?<\/h3><\/dt>\n<dd><p>No. Unloadly only removes selected CSS and JS from the page output. Use it with any page cache, and flush that cache after you change Unloadly rules.<\/p><\/dd>\n<dt id=\"will%20this%20disable%20a%20plugin%20completely%3F\"><h3>Will this disable a plugin completely?<\/h3><\/dt>\n<dd><p>No. PHP still runs. Only matching frontend CSS and JS are dequeued.<\/p><\/dd>\n<dt id=\"can%20i%20keep%20a%20plugin%27s%20assets%20on%20some%20pages%3F\"><h3>Can I keep a plugin's assets on some pages?<\/h3><\/dt>\n<dd><p>Yes. Per-page rules are stored on that page or post. Sitewide handle lists apply everywhere.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%2C%20elementor%2C%20or%20divi%3F\"><h3>Does it work with WooCommerce, Elementor, or Divi?<\/h3><\/dt>\n<dd><p>Yes. Tick those plugins only on pages that do not use them. Leave WooCommerce loaded on shop, cart, and checkout. Leave Elementor or Divi loaded on pages built with them.<\/p><\/dd>\n<dt id=\"how%20do%20i%20check%20that%20a%20plugin%27s%20css%20and%20js%20were%20unloaded%3F\"><h3>How do I check that a plugin's CSS and JS were unloaded?<\/h3><\/dt>\n<dd><p>View the page source and search for the plugin folder name (the directory under <code>wp-content\/plugins<\/code>). If the name is gone, those files were probably not printed. That is a quick sanity check, not a complete audit. Some plugins load from a CDN, print inline code, or use handles with no folder path, so the name might be missing even when other code from that plugin is still on the page.<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20support%3F\"><h3>Where can I get support?<\/h3><\/dt>\n<dd><p>Email support@versouq.com or open a thread on the WordPress.org support forum.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Per-page plugin CSS and JS unload<\/li>\n<li>Sitewide handle dequeue<\/li>\n<li>Head discovery link cleanup<\/li>\n<li>Public action and filter hooks<\/li>\n<\/ul>","raw_excerpt":"Stop unused plugin CSS and JS from loading. Faster pages, fewer requests, and a cleaner document head, effortless website optimization.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/361719","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=361719"}],"author":[{"embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/babatechs"}],"wp:attachment":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=361719"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=361719"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=361719"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=361719"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=361719"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=361719"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}