Fast Velocity Minify

Wordpress Plugin
Download latest - 3.3.6

Developers

Alignak

Download Stats

Today 306
Yesterday 474
Last Week 3,273
All Time 391,876
Banner 772x250

HTML, CSS & JS optimization plugin for developers and advanced users. Note you need to look into the HELP tab after installing the plugin and manually configure it for your site. Each site is different, so the default recommendations may or may not work for you and you will need to test and find out how to adjust your settings.

Minification is done on the frontend during the first uncached request. Once the first request is processed, any other pages that require the same set of CSS and JS files will be able to reuse the same generated static CSS or JS file.

If your cache is growing significantly, this could mean one of your CSS or JS files is dynamic and changes on every pageview. In that case, you would need to add the file to the ignore list, else the cache would grow indefinitely (because obviously the original files themselves are dynamic and when you minify, the plugin sees a different file).

Kindly read the HELP section after installing the plugin, about possible issues and how to solve them.

Additional Optimization

I can offer you additional custom made optimization on top of this plugin. If you would like to hire me, please visit my profile links for further information.

WP-CLI Commands

  • Purge all caches: wp fvm purge
  • Purge all caches on a network site: wp --url=blog.example.com fvm purge
  • Purge all caches on the entire network (linux): wp site list --field=url | xargs -n1 -I % wp --url=% fvm purge

How to customize the cache path ?

You need a public directory to store and serve minified cache files. If you need to customize the path and url, you need to edit your wp-config.php and add both define('FVM_CACHE_DIR', '/absolute/path/to/example.com/your/public/directory'); and define('FVM_CACHE_URL', 'https://example.com/your/public/directory'); .


Releases (100 )

Version Release Date Change Log
3.3.6 2022-12-13

[2022.12.13] = * buffer compatibility improvements with WP-Super-Cache, W3 Total Cache, WP Rocket, LiteSpeed Cache and Cache Enabler

3.3.5 2022-12-13

[2022.12.13] = * fixed a notice with php cli

3.3.4 2022-12-12
3.3.3 2022-12-11

[2022.12.11] = * custom cache directory fixes * upgraded matthiasmullie's PHP Minify to 1.3.70 * move the viewport meta tag up, before preloading tags

3.3.1 2022-10-06

[2022.10.06] = * bug fix

3.3.0 2022-10-06

[2022.10.06] = * fixed minification error on html pre tags * fixed an error notice * bumped minimum requirements to PHP 7 and WP 5

3.2.9 2022-08-30

[2022.08.30] = * legacy code removal and other bugfixes

3.2.8 2022-05-30

[2022.05.30] = * ajax bugfix

3.2.7 2022-05-29

[2022.05.30] = * cloudways & godaddy cache purging fixes

3.2.6 2022-02-05

[2022.02.06] = * cache purging fixes

3.2.5 2022-02-01

[2022.02.01] = * changed writing the css/js files to WP_Filesystem_Direct with a secondary fallback method * fixed a bug when merging css/js can break the site layout if the plugin failed to write the cache file (there will be an html comment on the footer if this happens) * renamed a common name class to avoid conflicts with other plugins

3.2.4 2022-01-31

[2022.01.31] = * WP 5.9 / PHP 8 maintenance release * changed deferred css/js cache clearing from 24h to 7 days * added cache purging support for nginx helper plugin * added option to allow processing on specific query strings * other bug fixes

3.2.2 2021-05-09

[2021.05.09] = * added auto varnish cache purge for Cloudways * fixed some JS files not being minified

3.2.1 2021-05-07

[2021.05.07] = * added support for custom cache location via wp-config.php constants * changed the default cache directory to wp-content/cache

3.2.0 2021-05-06

[2021.05.06] = * fixed an issue where some files were not being minified * better sourceMappingURL removal during minification

3.1.9 2021-05-05

[2021.05.05] = * fixed an issue with some base64 encoded fonts and icons becoming invalid * changed @import CSS rules order according to specification (@import rules need to get processed first when minifying)

3.1.8 2021-04-30

[2021.04.30] = * fixed missing dynamic css/js urls * fixed some relative static assets paths * added auto disabling of FVM on Web Stories (AMP)

3.1.7 2021-04-26

[2021.04.26] = * more php notices fixes

3.1.6 2021-04-25

[2021.04.25] = * fixed a notice on wp-admin * better http2 support

3.1.5 2021-04-24

[2021.04.24] = * added support for WP Cloudflare Super Page Cache plugin * fixed support for LiteSpeed Cache purging * changed the cache directory to the uploads directory (WP_Filesystem_Direct) * deprecated CSS and JS merging as this is no longer recommended for HTTP/2 servers * stop removing RSS feeds references on the header cleanup option * changed some descriptions and updated the HELP section * other bug fixes

3.1.4 2021-01-11

[2021.01.11] = * disable FVM update routines when a user runs wp-cli commands outside of the root directory * database routine improvements for users with custom table prefixes

3.1.3 2021-01-10

[2021.01.10] = * Link preload headers improvement

3.1.2 2021-01-09

[2021.01.09] = * Fixed a PHP notice on wp-admin

3.1.1 2021-01-09

[2021.01.09] = * Added option to disable preload header * Added support for the preload header importance attribute * Better default settings for new installs * Other bug fixes related to UTF-8 decoding and merging

3.1.0 2021-01-06

[2021.01.06] = * Added support for WP AMP by custom4web * Fix for code and pre tags being minified * Better HTML document detection for minification

3.0.9 2021-01-05

[2021.01.04] = * Added page caching purging support for Hummingbird and WP-Optimize from FVM

3.0.8 2021-01-02

[2021.01.02] = * Improved compatibility and better detection of dynamic CSS and JS files (files generated with PHP instead of being static)

3.0.7 2021-01-02

[2021.01.02] = * Fixed incorrect paths on subdirectory sites (inside merged CSS files)

3.0.6 2021-01-01

[2021.01.01] = * Adjusted the HELP tab settings * Improved compatibility with CSS merging on WP Bakery

3.0.5 2021-01-01

[2021.01.01] = * Fixed the cache paths on Windows Servers * Fixed incorrect paths on subdirectory sites * Fixed the CDN integration not replacing the domain name * Fixed CSS font-display replacements

3.0.4 2020-12-31

[2020.12.31] = * Improved compatibility on CSS merging with optimole and similar services * Fixed some PHP notices and other minor issues

3.0.3 2020-12-29

[2020.12.29] = * Prevent minification on XML content that do not trigger WordPress conditionals * Added support for critical path positioning before the CSS files when Async mode is enabled * Minor bugfixes

3.0.2 2020-12-29

[2020.12.29] = * Added option to preserve settings on uninstall * Added option to inline all CSS (merging is still the recommended method) * Added option to force HTTPS on the generated cache file urls * Added an ignore list to the JS section (also imported from FVM 2 settings) * Improved compatibility with FVM 2 (you still need to specify what JS paths you want to merge) * Preserve the old FVM 2 settings on the database (will be removed on version 3.1)

3.0.1 2020-12-27

[2020.12.27] = * Added initial translation support under the "fast-velocity-minify" text domain.

3.0.0 2020-12-26

Please backup your site before updating. Version 3.0 is a major code rewrite to improve JS and CSS merging, but it requires JS settings to be readjusted after the update.

=

2.8.9 2020-06-22

[2020.06.23] = * new filter for wp hide compatibility

2.8.8 2020-05-01

[2020.05.01] = * bug fixes for woocommerce, which could result in 403 errors when adding to cart under certain cases

2.8.7 2020-04-30

[2020.04.30] = * fixed the sourceMappingURL removal regex introduced on 2.8.3 for js files and css files

2.8.6 2020-04-30

[2020.04.30] = * fixed an error notice on php

2.8.5 2020-04-29

[2020.04.30] = * bug fixes and some more minification default exclusions

2.8.4 2020-04-24

[2020.04.24] = * added frontend-builder-global-functions.js to the list of minification exclusions, but allowing merging (Divi Compatibility)

2.8.3 2020-04-17

[2020.04.17] = * Removed some options out of the autoload wp_option to avoid getting cached on the alloptions when using OPCache * Removed the CDN purge option for WP Engine (not needed since FVM automatically does cache busting) * Added support for Kinsta, Pagely, Pressidum, Savvii and Pantheon * Better sourcemaps regex removal from minified css and js files

2.8.2 2020-04-13

[2020.04.13] = * Skip changing clip-path: url(#some-svg); to absolute urls during css minification * Added a better cronjob duplicate cleanup task, when uninstalling the plugin

2.8.1 2020-03-14

[2020.03.15] = * added filter for the fvm_get_url function

2.8.0 2020-03-10

[2020.03.10] = * improved compatibility with Thrive Architect editor * improved compatibility with Divi theme

2.7.9 2020-02-17

[2020.02.18] = * changed cache file names hash to longer names to avoid colisions on elementor plugin

2.7.8 2020-02-05

[2020.02.06] = * updated PHP Minify with full support for PHP 7.4 * added try, catch wrappers for merged javacript files with console log errors (instead of letting the browser stop execution on error) * improved compatibility with windows servers * improved compatibility for font paths with some themes

2.7.4 2019-10-14

[2019.08.18] = * hange to open JS/CSS files suspected of having PHP code via HTTP request, instead of reading the file directly from disk

2.7.5 2019-10-14

[2019.10.09] = * added support to "after" scripts added via wp_add_inline_script

2.7.6 2019-10-14

[2019.10.10] = * bug fix release

2.7.7 2019-10-14

[2019.10.15] = * added a capability check on the status page ajax request, which could show the cache file path when debug mode is enabled to subscribers

2.7.3 2019-07-29

[2019.07.29] = * Beaver Builder compatibility fix

2.7.2 2019-07-29

[2019.07.29] = * fixed a PHP notice when WP_DEBUG mode is enabled on wordpress * small improvements on google fonts merging

2.7.1 2019-07-27

[2019.07.27] = * fixed an AMP validation javascript error

2.7.0 2019-07-23

[2019.07.23] = * some score fixes when deferring to pagespeed is enabled

2.6.9 2019-07-15

[2019.07.15] = * custom cache path permissions fix (thanks to @fariazz)

2.6.8 2019-07-06

[2019.07.06] = * header preload fixes (thanks to @vandreev)

2.6.7 2019-07-04

[2019.07.04] = * added cache purging support for the swift cache plugin * changed cache directory to the uploads directory for compatibility reasons * better cache purging checks

2.6.6 2019-06-20

[2019.06.20] = * cache purging bug fixes * php notice fixes

2.6.5 2019-05-04

[2019.05.04] = * fixed cache purging on Hyper Cache plugin * removed support for WPFC (that plugin author implemented a notice stating that FVM is incompatible with WPFC) * improved the filtering engine for pagespeed insights on desktop

2.6.4 2019-03-31

[2019.03.31] = * fixed subdirectories permissions

2.6.3 2019-03-29

[2019.03.30] = * fixed another minor PHP notice

2.6.2 2019-03-27

[2019.03.27] = * fixed a PHP notice on urls with query strings that include arrays on keys or values

2.6.1 2019-03-26

[2019.03.26] = * fixed compatibility with the latest elementor plugin * fixed adding duplicate cron jobs + existing duplicate cronjobs cleanup * fixed duplicate "cache/cache" directory path * changed the minimum PHP requirements to PHP 5.5

2.6.0 2019-03-02

[2019.03.02] = * fixed cache purging with the hypercache plugin * fixed a bug with inline scripts and styles not showing up if there is no url for the enqueued handle * changed the cache directory from the wp-content/uploads to wp-content/cache * improved compatibility with page cache plugins and servers (purging FVM without purging the page cache should be fine now) * added a daily cronjob, to delete public invalid cache files that are older than 3 months (your page cache should expire before this)

2.5.9 2019-02-19

Minor bug fixes

2.5.8 2019-02-06

[2019.02.06] = * minor bug fix with the defer for pagespeed option

2.5.7 2019-02-04

[2019.02.04] = * reverted back the css merging method to version 2.5.2 due to some compatibility issues

2.5.6 2019-01-18

This is expected to be the last update on the 2.x branch, before the 3.0 major release

2.5.5 2019-01-12

[2019.01.12] = * fixed the dynamic urls being forced as http:// * fixed the inlined styles being stripped when the inline All CSS option is enabled * added option to disable merging of inlined css code (for when you have dynamic inline css code) * other minor bug fixes

2.5.4 2019-01-11

[2019.01.11] = * css merging bug fixes

2.5.3 2019-01-11

[2019.01.11] = * fixed inlined css code being minified, even when minification is off * compatibility and performance improvements for the CSS merging and inlining functionality

2.5.2 2019-01-11

[2019.01.11] = * fixed a query monitor notice about mkdir * removed some legacy code * improvement for the "defer for pagespeed option", "ignore list" and "loadCSS" functionality * improvements for the merging of google fonts option * improvements for merging of JS and CSS files when server returns an HTML 404 page, but with HTTP 200 OK header instead

2.5.1 2018-12-17

[2018.12.17] = * minor bug fix related to the font awesome option * added cache purging support to Breeze (Cloudways)

2.5.0 2018-12-13

[2018.12.13] = * bug fixes with the google fonts merging option * better default settings

2.4.9 2018-12-13

[2018.12.14] = * improved the google fonts merging to only allow existing google fonts (no more google fonts 404 errors due to the merging of the fonts) * downgraded PHP Minify to version 1.3.60 due to someone reporting a server error with the new version

2.4.8 2018-12-07

[2018.12.07] = * changed the file permissions for the generated cache directory and files, to match the uploads directory * added some extra checks for when PHP is running in safe mode

2.4.7 2018-12-06

[2018.12.06] = * added better default options after new install * added option to preserve FVM settings on deactivation * added an HTML comment to the frontend with the path and notification, when FVM cannot generate the cache files (ie: wrong file permissions) * added a notification on wp-admin when FVM cannot generate the cache files due to wrong permissions * added an option to force "chmod 0777" on FVM cache files, to avoid errors on servers that need more than "chmod 0755" * improved the google fonts merging option when the enqueue is faulty (ie: incomplete google font urls ) * fixed the cache purge notifications not showing on wp-admin

2.4.6 2018-12-05

[2018.12.05] * fixed a bug that could cause an error 500 if an enqueued CSS or JS file was not found * added brotli_static support, if you have the php-ext-brotli extension installed - https://github.com/kjdev/php-ext-brotli

2.4.5 2018-12-04

[2018.12.04] * fixed a bug, where it may show a warning during cache purge on wp-admin * exclude footer FVM generated files from the HTTP header preload option (footer files are not in the critical path)

2.4.4 2018-12-03

[2018.12.03] * added option to inline CSS in the footer, while still preserving the merged file in the header * improvements for the google fonts merging option * fixed double notification, when purging caches without a cache plugin

2.4.3 2018-12-03

[2018.12.03] = * added font-display, to ensure text remains visible during webfont load for inlined google fonts and font-awesome * added automatic removal of "source mappings" from JS files during merging or minification * added font awesome async and exclusion from PSI options, as well as merging and inlining when the url matches "font-awesome" (ie: cdnjs) * added automatically inline of small CSS code (up to 20KB) for any FVM CSS files in the footer (requests reduction) * added automatically inline of small CSS code (up to 20KB) for any FVM CSS files in the header, which are not of mediatype "all" * improved the cache purge button (no more redirect from frontend to backend) * updated PHP Minify and Path Converter from master * bug fixes related to "Exclude JS files from PSI" option

2.4.2 2018-11-29

[2018.11.29] = * fixed a bug with the "Exclude JS files in the ignore list from PSI" option (it wasn't excluding properly) * improved functionality with the "Exclude CSS files from PSI" option (now works with both inline and link stylesheets) * added an option to automatically preload the CSS and JS files generated by FVM (beware that some server caches like Pantheon may push old css and js files even after purging caches on FVM) * improved JavaScript minification

2.4.1 2018-11-27

[2018.11.27] = * better FVM default settings

2.4.0 2018-11-26

[2018.11.26] = * bug fixes related to the inline css option * changed a few options and added better descriptions to the admin options

2.3.5 2018-08-29

[2018.08.27] = * added thinkwithgoogle support for the defer for insights option * added HyperCache support, thanks to @erich_k4wp * added suport for wp_add_inline_script, thanks to @yuriipavlov * fixed a bug where some inlined css was missing if not attached to a parent css file * the ignore list now also supports CSS handle names (no JS yet) * updated PHP Minify from master on github * improved performance for gtmetrix tests

2.3.4 2018-06-30

[2018.06.30] = * bug fix

2.3.2 2018-06-03

[2018.06.03] = * added some compatibility fixes when merging and minifying JS files * added an option to enable an "FVM Purge" button on the admin bar * moved all large transients (cached css or js code) to temporary disk files to reduce the database load

2.3.1 2018-06-01

[2018.06.01] = * bug fixes and performance tweaks for the "fix page editors" option

2.3.0 2018-05-26

[2018.05.24] = * added wp cli support for purge cache (usage: wp fvm purge) * added wp cli support for getting the cache size (usage: wp fvm stats)

2.2.9 2018-05-25

[2018.05.23] = * fixed several bugs related to notices, css minification and file paths * added more pcre.backtrack_limit and pcre.recursion_limit to avoid blank pages on some servers * added new option to defer the ignore list for pagespeed

2.2.8 2018-02-21

[2018.01.21] = * rollback to 2.2.6 + bugfixes

2.2.7 2018-02-19

[2018.02.19] = * fixed a bug with the blacklist functionality * replaced PHP Minify with JSMin as the default JS minification * replaced PHP Minify with CSSTidy as the default CSS minification * replaced PHP Minify with Minify HTML as the default HTML minification * moved the intermediary cache from transients to disk files

2.2.6 2018-01-08

[2018.01.06] = * fixed a bug with html minification on some files that should not be minified * fixed a bug with the defer for pagespeed insights * updated the default blacklist (delete all entries and save again, to restore)

2.2.5 2017-12-18

[2017.12.18] = * fixed a fatal error reported on the support forum

2.2.4 2017-12-17

Note: Kindly re-save all options and purge all caches (the plugin cache as well as your server /plugin cache).

=

2.2.3 2017-12-17

[2017.12.17] = * added robots.txt and ajax requests to the exclusion list * added some cdn fixes * added a new Pro tab * added a global critical path css section * added an option to dequeue all css files * added an option to load CSS Async with LoadCSS (experimental) * added an option to merge external resources together * added the possibility to manage the default ignore list (reported files that cause conflicts when merged) * added the possibility to manage the blacklist (files that cannot be merged with normal files) * added better descriptions and labels for some options

2.2.2 2017-11-12

[2017.11.12] = * fixed the current cdn option box * fixed some other minor bugs and notices * added option to remove all enqueued google fonts (so you can use your own CSS @fontfaces manually) * added font hinting for the "Inline Google Fonts CSS" option, so it looks better on Windows

2.2.1 2017-08-21

[2017.08.21] = * added unicode support to the alternative html minification option * improved some options description

2.2.0 2017-08-13

[2017.08.13] = * fixed some debug notices * fixed the alternative html minification option