We'll create fresh WordPress site with W3TC Minify Helper installed. You have 20 minutes to test the plugin after that site we'll be deleted.
This is a helper plugin for the W3 Total Cache plugin. It generates a W3TC JSON configuration file that can be imported into W3TC.
The W3TC auto minify mode does not work on my web site. The problem is the order of the JavaScript files using the auto minify mode is different from the order without minification. This results in undefined JavaScript function errors. W3TC has a help tool for manually setting the order of JavaScript files. I think this tool is tiresome to use. I just want to have the same order as without minification. So, I wrote this plugin to do this.
This plugin needs to learn about the JavaScript files that your website uses. Every view of a web page sets the ordered list of JavaScript files for the template of that web page. If this ordered list has changed a new W3TC configuration file is generated by modifying the value of the field ‘minify.js.groups’ of the current W3TC configuration to be compatible with the new ordered list of JavaScript files for that template. This process is cumulative so after viewing a representative web page for each template a complete W3TC configuration file will be generated. Further, if some time later the ordered list of JavaScript files for a template changes then this will also generate a new compatible W3TC configuration file.
N.B. – W3TC assumes that the ordered list of JavaScript files for a template is fixed. If your web pages are dynamically computing the JavaScript files and two different web pages using the same template compute different lists of JavaScript files then W3TC cannot be used to minify those JavaScript files. Also, W3TC in manual minify mode only sees the template files in the active theme directory. However, using the ‘template_include’ filter a plugin can force WordPress to load a template in the plugin’s directory instead of a template in the theme’s directory. W3TC in manual minify mode cannot be used minify the JavaScript files of templates in plugin directories.
The new JSON configuration file generated by this plugin can be downloaded, further edited to fine tune the minify process and imported back into W3TC. The download link is on the “Installed Plugins” admin page after the “Deactivate” link. But, before you import this new configuration file into W3TC, you should download the current configuration of W3TC so that you can restore the current configuration if the new configuration does not work. Also, before importing the new configuration file into W3TC you should diff the new configuration file against the current configuration file to verify that the new configuration file has no obvious errors. You should also verify that you have a complete configuration by viewing the ‘minify.js.groups’ section and checking that there is an entry for each of your templates.
N.B. – W3TC “Minify mode” must be set to “Manual” for W3TC to use the ordered list of JavaScript files generated by this
plugin.