Fast Velocity Minify

Wordpress Plugin
Download latest - 3.2.1

Developers

Alignak

Download Stats

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

WP speed optimization plugin for developers and advanced users. This plugin reduces HTTP requests by merging CSS & Javascript files into groups of files, while attempting to use the least amount of files as possible. It minifies CSS and JS files with PHP Minify (no extra requirements).

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 JavaScript files, will be served that same (static) cache file.

This plugin includes options for developers and advanced users, however the default settings should work just fine for most sites. Kindly read our faqs about possible issues with you theme or specific plugins.

Aditional Optimization

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

Features

  • Merge JS and CSS files into groups to reduce the number of HTTP requests
  • Google Fonts merging, inlining and optimization
  • Handles scripts loaded both in the header & footer separately
  • Keeps the order of the scripts even if you exclude some files from minification
  • Supports localized scripts (https://codex.wordpress.org/Function_Reference/wp_localize_script)
  • Minifies CSS and JS with PHP Minify only, no third party software or libraries needed.
  • Option to defer JavaScript and CSS files, either globally or pagespeed insights only.
  • Creates static cache files in the uploads directory.
  • Preserves your original files, by duplicating and copying those files to the uploads directory
  • View the status and detailed logs on the WordPress admin page.
  • Option to Minify HTML, remove extra info from the header and other optimizations.
  • Ability to turn off minification for JS, CSS or HTML (purge the cache to see it)
  • Ability to turn off CSS or JS merging completely (so you can debug which section causes conflicts and exclude the offending files)
  • Ability to manually ignore JavaScript or CSS files that conflict when merged together (please report if you find some)
  • Support for conditional scripts and styles, as well as inlined code that depends on the handles
  • Support for multisite installations (each site has its own settings)
  • Support for gzip_static on Nginx
  • Support for preconnect and preload headers
  • CDN option, to rewrite all static assets inside the JS or CSS files
  • WP CLI support to check stats and purge the cache
  • Auto purging of cache files for W3 Total Cache, WP Supercache, WP Rocket, Cachify, Comet Cache, Zen Cache, LiteSpeed Cache, Nginx Cache (by Till Krss ), SG Optimizer, HyperCache, Cache Enabler, Breeze (Cloudways), Godaddy Managed WordPress Hosting and WP Engine (read the FAQs)
  • and some more...

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
  • Get cache size: wp fvm stats
  • Get cache size on a network site: wp --url=blog.example.com fvm stats
  • Get cache size on each site (linux): wp site list --field=url | xargs -n1 -I % wp --url=% fvm stats

Notes

  • The JavaScript minification is by PHP Minify
  • Compatible with Nginx, HHVM and PHP 7
  • Minimum requirements are PHP 5.5 and WP 4.4, from version 1.4.0 onwards

Releases (64 )

Version Release Date Change Log
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