You are here: Saotn.org » WordPress » Minify WP-Super-Cache HTML cache files: WPSCMin a WP-Super-Cache plugin

Minify WP-Super-Cache HTML cache files: WPSCMin a WP-Super-Cache plugin

The WordPress WP-Super-Cache cache plugin doesn’t minify HTML cache files, which I find a disadvantage. Knowing minify libraries, I went looking for an existing solution (why reinvent the wheel?), and found one: WPSCMin. Read on …

Why the need to minify HTML cache files?

Minifying cache files is important in my opinion, because smaller minified files are downloaded faster. And minifying is what WPSCmin does.

The WPSCMin plugin for WP-Super-Cache relies, according to its documentation, on the mrclay/minify library, for minification of HTML, CSS and JavaScript files. And JavaScript is where it goes wrong, the repository doesn’t provide the required JSMinPlus.php file, causing PHP errors. I found the mattheu/MinQueue WordPress Plugin does ship with a minify library containing JSMinPlus.php. It is in the PHP-Minify-Lib directory, and I chose to try that one instead.

Tip: Tips to Speed Up WordPress, serve gzip comressed static HTML files generated by WP-Super-Cache & Cache Enabler!

https://www.saotn.org/speed-up-wordpress-with-gzip-compression/

WPSCMin PHP code change

Since WPSCMin relies on mrclay/minify PHP library, you need to make a small code change if you use MinQueue’s PHP-Minify-Lib directory. In the file wp-content/plugins/wp-super-cache/plugins/WPSCMin.php, replace all occurances of

$this->minify_path/min/lib/

with

$this->minify_path/PHP-Minify-Lib/

or simply rename the PHP-Minify-Lib directory.

Looking to minify Javascript and CSS with YUI Compressor and/or UglifyJS 2?

Update on mrclay/minify & WPSCMin

Joel of WPSCMin replied to my email (thanks!), and pointed me on the mrclay/minify releases: https://github.com/mrclay/minify/releases. The most recent release, which was in October 2014, still ships the required JSMinPlus.php file. So, when adding WPSCMin as a plugin to WP-Super-Cache, be sure to check out the minify-releases, and not only the raw GitHub head as I did.

Leave a Reply

Your email address will not be published. Required fields are marked *