WordPress plugin intelligence profile

Merge + Minify + Refresh

Merges/Concatenates CSS & Javascript and then minifies using Minify (for CSS) and Google Closure (for JS with Minify as a fallback).

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 6.9
Current version2.16
WordPress coverageTested up to WordPress 6.9
Minimum stackWP 6.4.0 · PHP 7.4
Directory statusactive
Last directory update26 Jul 20263mo ago
Active installations3K+Adoption metric — not a quality score
WordPress.org rating4.2 / 5 from 68 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Merge + Minify + Refresh version 2.16 as active, updated 3mo ago and tested up to WordPress 6.9.

Overview

About this plugin

Development for this plugin is now done on GitHub. Pull requests are welcome.

This plugin merges/concatenates Cascading Style Sheets & Javascript files into groups. It then minifies the generated files using Minify (for CSS) and Google Closure (for JS – fallback to Minify when not available). Minification is done via WP-Cron so that it doesn’t slow down the website.

When JS or CSS changes files are re-processed. No need to empty cache!

Inspired by MinQueue and Dependency Minification plugins.

Minification by Minify and Google Closure

In order to ensure fast loading times it’s recommended to set long expiry dates for CSS and JS as well as make sure gzip or deflate is on.

10 added should_mmr filter which allows developers to disable MMR when needed. You could use this to disable MMR for certain WordPress roles or with some Page Builders. Three new plugins have been created that utilise this:

Merge + Minify + Refresh Check DIVI, Merge + Minify + Refresh Check Visual Composer and Merge + Minify + Refresh Check Beaver Builder. Please install these when required.

6 added support for HTTP2 Server Push to further speed up your requests (thanks to Daniel Aleksandersen ).

9 added the ability to specify the cache directory. php. MMR_CACHE_DIR must be full server path and MMR_CACHE_URL must be absolute URL for this to work correctly (thanks to Daniel Aleksandersen ).

11 added the ability to specify seperate cache urls for javascript and CSS. Use MMR_JS_CACHE_URL & MMR_CSS_CACHE_URL to replace MMR_CACHE_URL.

gz files. Your webserver may need to be configured to use these files. Here is how to use these files in Apache (mod_rewrite, mod_deflate and mod_headers need to be enabled):

c> #Serve gzip compressed CSS files if they exist and the client accepts gzip. gz [QSA]

#Serve gzip compressed JS files if they exist and the client accepts gzip. gz [QSA]

&#35;Serve correct content types, and prevent mod_deflate double gzip. gz$ - [T=text/javascript,E=no-gzip:1,E=is_gzip:1] Header set Content-Encoding "gzip" env=is_gzip </IfModule> </IfModule> </IfModule>

8 added a “merge_minify_refresh_done” hook that fires when JS or CSS has changed.

11 added two new constants:

MMR_USE_CLOSURE – allows Google Closure Javascript minification to be disabled.

MMR_REMOVE_EXPIRED – disables removing expired files.

13 added two new filters which can be used to exclude specific files:

mmr_ignored_css_sources

mmr_ingnored_js_sources

13 also automatically moves the WordPress inline styles to a global stylesheet which it then enqueues.

3 added two new filters which can be used to modify the output before it gets saved:

modify_css_output_before_save

modify_js_output_before_save

Note Installing this plugin on a server with the eAccellerator module installed has the potential to break as Minify uses anonymous functions which return NULL. View eAccellerator Issue Thread

Features

  • Merges JS and CSS files to reduce the number of HTTP requests
  • Handles scripts loaded in the header & footer
  • Compatible with localised scripts
  • Creates WP-Cron for minification as this can take some time to complete
  • Minifies JS with Google Closure (requires php exec) with fallback to Minify
  • Minifies CSS with Minify
  • Failed minification doesn’t break the site. Visitors will instead only see the merged results
  • Stores Assets in /wp-content/mmr/ folder
  • Uses last modified date in filename so any changes to JS or CSS automatically get re-processed and downloaded on browser refresh
  • View status of merge and minify on settings page in WordPress admin
  • Option to enable http2 server push (thanks to Daniel Aleksandersen )
  • Option to enable output buffering for compatibility and so footer scripts can be HTTP2 pushed
  • Ability to turn off minification
  • Ability to turn off concatenation
  • Ability to manually ignore scripts or css
  • Ignores conditional scripts and styles
  • Ability to specify cache directories
  • Ability to generate.css.gz &.js.gz files (Thanks to Marcus Svensson)
  • Works with WordPress Multisite
WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • closure
  • concatenate
  • merge
  • minify
  • refresh
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 6.9

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 6.9.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to6.9
Minimum requirementsWordPress 6.4.0 · PHP 7.4
Update activity26 Jul 20263mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.