This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Better WordPress Minify


Allows you to combine and minify your CSS and JS files to improve page load time. This plugin uses the PHP library Minify and relies on WordPress’s enqueueing system rather than the output buffer, which respects the order of CSS and JS files as well as their dependencies. BWP Minify is very customizable and easy to use.

Useful resources to help you get started and make the most out of BWP Minify

Some Features

  • Uses enqueueing system of WordPress which improves compatibility with other plugins and themes
  • Allows you to move enqueued files to desired locations (header, footer, oblivion, etc.) via a dedicated management page
  • Allows you to change various Minify settings (cache directory, cache age, debug mode, etc.) directly in admin
  • Allows you to use friendly Minify urls, such as
  • Allows you to use CDN for minified contents, one CDN host for JS and one for CSS with SSL support
  • Allows you to split long Minify strings into shorter ones
  • Offers various way to add a cache buster to your minify string such as WordPress’s version, Theme’s version, Cache folder’s last modified timestap, etc.
  • Supports script localization (wp_localize_script())
  • Supports inline styles
  • Supports RTL stylesheets
  • Supports media-specific stylesheets (e.g. ‘screen’, ‘print’, etc.)
  • Supports conditional stylesheets (e.g. <!--[if lt IE 7]>)
  • Provides hooks for further customization
  • WordPress Multi-site compatible

Please don’t forget to rate this plugin 5 shining stars if you like it, thanks!

Get in touch


  • English (default)
  • Romanian (ro_RO) — Thanks to Luke Tyler, International Calling Cards!
  • Turkish (tr_TR) — Thanks to Hakan E
  • French (fr_FR) — Thanks to Sebastien
  • Italian (it_IT) — Thanks to Gabriele —
  • Spanish (es_ES) — Thanks to Ruben Hernandez —
  • Dutch (nl_NL) — Thanks to Martijn van Egmond
  • German (de_DE) — Thanks to Matthias
  • Serbo-Croatian (sr_RS) — Thanks to Borisa Djuraskovic — Web Hosting Hub
  • Indonesian (id_ID) — Thanks to Nasrulhaq Muiz —
  • Russian (ru_RU) — Thanks to Эдуард Валеев

Please help translate this plugin!


  • Basic Functionality
  • Advanced Settings
  • Enqueued files management
  • Minify in action!


  1. Upload the bwp-minify folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the Plugins menu in WordPress. After activation, you should see three menus of this plugin on your left.
  3. Configure the plugin.
  4. Make sure the cache folder is writable, by CHMOD it to either 755 or 777, depending on which one works for you.
  5. For Advanced Configuration, take a look at BWP Minify Advanced Usage.



Check plugin news and ask questions.

Installation Instructions
  1. Upload the bwp-minify folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the Plugins menu in WordPress. After activation, you should see three menus of this plugin on your left.
  3. Configure the plugin.
  4. Make sure the cache folder is writable, by CHMOD it to either 755 or 777, depending on which one works for you.
  5. For Advanced Configuration, take a look at BWP Minify Advanced Usage.



7 Սեպտեմբերի, 2020
It completely destroyed the layout of my theme (Herald Magazine). Even after the flush the mess was still there. I had to deactivate the plugin to go back to normal behavior.
13 Մայիսի, 2020
Not Updated as wordpress version is updated butt still its working, Please update it As soon as you can.
7 Ապրիլի, 2019
Still in my must-have plugins list even though it hasn’t been updated for years. I hope it will get some updates.
Read all 139 reviews

Contributors & Developers

“Better WordPress Minify” is open source software. The following people have contributed to this plugin.




* Fixed an issue with wrong `min/config.php` file.


* Marked as WordPress 4.0 compatible
* When updating BWP Minify, friendly minify url should be turned off automatically if required rewrite rules are not found. An appropriate error message will be shown once to notify owners of the site so that they can take appropriate actions.
* When friendly minify url is enabled, rewrite rules for both Apache and Nginx will be shown. This is to add support for Nginx as a reverse proxy.
* Fixed a bug that makes the detector fail to commit logs, which results in empty enqueued file lists.
* Other minor fixes and enhancements.
* BWP Minify now requires WordPress 3.1.0 or later.


  • Enhancements
    • Added an option to leave external enqueued files at their original positions.
    • Added compatibility for Maintenance plugin (BWP Minify will be inactive when Maintenance mode is on).
    • Improved settings on Manage enqueued files admin page to allow better control over enqueued files. Take a look at this updated section of official documentation for more details.
    • Improved friendly minify url feature to work better with cache plugins: friendly urls should show up on first load.
  • Bugs fixed
    • Fixed an issue where CDN hosts don’t replace the original host properly
    • Fixed an issue with SSL on wp-login.php page

Important Note: After updating to 1.3.1, users of Simple Google Maps Short Code plugin (or similar ones) and Avada theme should go to BWP Minify > General Options and turn on Leave external files at their original positions? setting to make map shortcodes work.


  • New Features
    • Added support for Friendly Minify strings, e.g. (best used with CDN). This feature should work well on nginx server.
    • Provides a much better method to capture and print JS, CSS files.
    • Dependencies are more intelligently handled. This should fix many incompatibility issues with other plugins. Note: users of Leaflet Map Markers plugin will still need to add leafletmapsmarker handle to Script to be ignored (not minified).
    • Provides full support for conditional and alternate CSS files.
    • Auto-detects CSS, JS files used on site. Added a new admin page to easily add CSS, JS files to desired positions.
    • Added a new position called oblivion, admin can put CSS, JS files to this position to remove them completely from the site, this is useful when you want to remove duplicate files.
    • You can now control Minify Library’s settings via wp-admin setting page.
    • Basic CDN support with SSL.
  • Bugs fixed
    • Fixed issues with certain installations where WordPress is installed into a sub-directory or wp-content folder is moved.
    • Fixed incompatibility issues with protocol-relative URLs.
    • Fixed possible incompatibility issues with forced-SSL URLs.
    • Other minor fixes.
  • Enhancements
    • BWP Minify is WordPress 3.9 compatible.
    • BWP Minify should now be able to handle very late JS, CSS files that are queued/printed directly using wp_print_scripts and wp_print_styles.
    • Changed Minify URL setting to contain a relative URL (from site root) instead of an absolute URL. This should be useful when switching between staging and live site, or between mirror sites.
    • Changed Minify strings’ default length to 10 to avoid errors on certain servers. Users are encouraged to increase/decrease the length when needed, or enable Pretty Minify String instead.
    • Disable Minify bloginfo() setting by default. Modern themes should always use the enqueue system for any stylesheet.
    • admin-bar, jquery-core, and jquery-migrate are now ignored by default.
    • admin-bar and dashicon are now ignored by default
    • Changed default cache age to 1 day instead of 2 hours.
    • Users can now use BWP_MINIFY_CACHE_DIR and BWP_MINIFY_MIN_PATH constants to override the Cache Directory and Min Path setting in admin. This can become useful when mirroring a site.
    • Other minor enhancements.
  • Misc
    • Added a Serbo-Croatian translation — Thanks to Borisa Djuraskovic!
    • Added an Indonesian translation — Thanks to Nasrulhaq Muiz!
    • Added a Russian translation — Thanks to Эдуард Валеев!

Migration from 1.2.x

  • Minify URL setting has been replaced with Minify Path setting and you will have to manually update this setting if you’re using a non-default one. Note to Developers: the setting’s key has been changed from input_minurl to input_minpath. The hook bwp_minify_min_dir is still available but deprecated in favor of bwp_minify_min_path
  • Minify Path setting and Cache Directory setting are now default to empty value, which means they’re automatically detected.

Enjoy this release, and please don’t forget to rate BWP Minify 5 shining stars if you like it, thanks!

Bonus: Check out these Minifying Best Practices to apply to your site today!


  • BWP Minify is now WordPress 3.7 compatible (compatibility issues with WordPress 3.5 and 3.6 have been fixed).
  • Updated Minify library to version 2.1.7 (security fix). This updated version of Minify also comes with an updated version of CSSMin library, which solves relative path issues in some plugins’ CSS files (such as TablePress).
  • Added support for protocol-relative media sources.
  • Added partial support for bbPress forum plugin (quicktags script must be ignored for the Text editor to work, more info here).
  • Added a filter (bwp_minify_is_loadable) to allow other plugins to disable BWP Minify based on some criteria.
  • Added a Spanish translation — Thanks to Ruben Hernandez!
  • Added a Dutch translation — Thanks to Martijn van Egmond!
  • Added a German translation — Thanks to Matthias!
  • Disabled BWP Minify on Ajax Edit Comment plugin’s pages (for now).
  • Disabled BWP Minify on SimplePress forum page.
  • Updated BWP Framework to fix a possible bug that causes BWP setting pages to go blank.
  • Fixed a bug that makes BWP Minify fails to split long minify string into shorter ones.
  • Good news: I have created an official Github repository for BWP Minify, awaiting coders worldwide.
  • Good news: has become the official sponsor for BWP Minify — Read more.

Notes: If you’re using All-in-one Calendar plugin and still having issues with it after update, please try this suggestion.


  • Fixed a possible fatal error on certain installations.


  • Added support for inline styles (available since WordPress 3.3).
  • Cache directory is now hidden from normal admins when used on a Multi-site environment.
  • Added additional hooks allowing developers to control Minify Tags and Minify Src, more info: (bwp_get_minify_src, bwp_get_minify_tag)
  • Added a new hook for buster allowing developers to dynamically work with this variable (bwp_minify_get_buster)
  • Fixed the pass-by-references fatal error when activating the plugin on a host using PHP 5.4 or higher.
  • Fixed a possible bug where dependencies are ignored, more info:
  • Fixed a possible bug where scripts are echoed twice.
  • Updated Turkish (tr_TR) translation — Thanks to Hakan E!


  • New Features:
    • Added a Flush cache button
    • Split auto minify option into two options, auto minify js and auto minify css
    • Added a new buster: theme version — thanks to Jon for the patch!
  • Bugs fixed:
    • Fixed a bug that broke minify strings if current port is not 80
    • Fixed two bugs that broke minify strings when HTTPS is enabled
    • Fixed wp_localize_script duplication issue
    • Fixed media style duplication issue
    • Fixed a deprecate notice caused by the use of print_scripts_l10n
    • Fixed some script dependency issue when you choose to ignore certain scripts
  • Enhancements:
    • Increased default cache time to something longer (2 hours)
    • Cache directory can now be edited in admin area. Please note that changing the cache directory is still a two-step process, which has been described in great details here.
  • Misc:
    • Added a Turkish translation — Thanks to Hakan E.
    • Added a French translation — Thanks to Sebastien
    • Added an Italian translation — Thanks to Gabriele


  • Fixed two possible PHP notices when using root-relative paths as Minify URL. Thanks to Marcus!
  • Fixed wrongly closed HTML <link> tags.
  • Fixed a bug that breaks the dynamic JS file enqueued by Mingle plugin.
  • Fixed an incompatibility issue with WP Download Monitor.
  • Fixed an incompatibility issue with Geo-Mashup, thanks to JeremyCherfas for reporting!
  • Added support for the new script localization function introduced in WordPress 3.3. Thanks to workshopshed for reporting!
  • Added Romanian translation, thanks to Luke Tyler!


  • Fixed a possible PHP warning about an argument not being an array.


  • Hot fix for 1.0.7, which resolves the broken CSS issues for the wp-login page when you install WordPress in a sub-directory.


  • Hot fix for 1.0.6, which resolves some compatibility issues with certain plugins.


  • Added four more hooks for theme developers to fully control how scripts and styles should be enqueued and minified.
  • Changed the Min URL hook a bit so themes can actually filter it.
  • Added support for plugins or themes that try to enqueue and print script using the wp_footer action instead of the init action. Plugins like ‘Jetpack by’ should be working correctly now.
  • Other improvements made to the positioning of styles and scripts.

Enjoy BWP Minify!


  • Added support for theme developers who would like to integreate BWP Minify into their themes
    • Added a new hook added for min path.
    • Added new hooks to allow theme developers to only minify certain media files (see this section for more details).
    • Some bug fixes.
  • A lot of improvements have been made to catch styles and scripts printed using wp_print_scripts and wp_print_styles.
  • The base (b) parameter has been removed from the minify string to add support for non-standard WordPress installation (wp-content has been moved or renamed.) Thanks to Lee Powell for bug reports and patches!
  • Fixed a bug that makes BWP Minify fail to determine the cache directory in a sub-folder installation of Multi-site.
  • Fixed a possible incompatibility issue with Easy Fancybox, thanks to Bob for reporting!
  • Minor bug fixes for login and signup pages.


  • Fixed an incompatibility issue with media files’ uppercase letters.
  • Fixed a minor undefined offset notice, thanks to Torsten!


  • Fixed a compatibility issue with dynamically generated media files, thanks to naimer!
  • Not really a changelog, but a small snippet for users who want to exclude CSS files has been posted.


  • Fixed a compatibility issue with other plugins loading styles and scripts on a separate .php page. Thanks to larry!
  • Also fixed a possible bug in 1.0.1


  • The plugin should now detect cache folder correctly for users who install WordPress in a sub-directory.


  • Initial Release.