Description
WP Meteor is a completely new way of optimizing your page speed. It works even on top of your existing optimizations, including:
- Autoptimize
- WP Rocket
- WP Total Cache
- WP Super Cache
- Phastpress
- LiteSpeed
- Hummingbird
WP Meteor mostly compatible with, check your developer console for errors before and after installing:
- WP Fastest Cache
- SiteGround optimizer
WP Meteor is not compatible with:
- Nitropack
WP Meteor is known to have delay issues with:
- Elementor Offcanvas addon
WARNING
The plugin might not work for someone, that’s expected – delaying scripts has its downsides. Also, the plugin logics is quite complicated, so bugs happen.
If your site is business-critical or e-commerce, please test carefully all your business-critical pages, forms and/or your checkout process. Feel free to create an Issue if something doesn’t work.
The plugin is made to leave no trace on the disk or in the database upon deactivation and removal, so don’t hesitate to install and test, may be your site suits well for that kind of optimization.
Don’t forget to test the site carefully after plugin installation. If you are not happy with the result – you can either uninstall the plugin, or create an Issue, I will either fix the problem, or list a compatibility issue here.
ONE MORE WARNING
Infinite delay will delay your GA and GTM until user interaction. I would not recommed to use it, but it is still there because multiple users requested it. Use it with caution and at your own risk.
HOW IT WORKS
If user doesn’t start interacting with page immediately, WP Meteor postpones loading and firing scripts until after page gets rendered, giving you 2x-5x boost in your Pagespeed metric.
This postponement in script loading greatly improves perceived load times for your visitors. It also significantly improves the following important SEO metrics:
Installation
- Upload the plugin files to the
/wp-content/plugins/wp-meteor
directory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress
- Use the Settings -> WP Meteor screen to configure the plugin
FAQ
-
Is it good for SEO?
-
Yes, because all that matters is visitor experience, and WP Meteor improves that experience with a lot faster load times
-
How can I easily compare speed with/without WP Meteor ?
-
Once WP Meteor is enabled, you can add ?wpmeteordisable query string parameter to a page URL in order to load the page without optimizations
-
How to exclude a page from optimization
-
Use
wpmeteor_enabled
filter and return false to completely disable WP Meteor, example:add_filter('wpmeteor_enabled', function ($value) { global $post; if ($post && $post->ID == 1) { return false; } return $value; });
-
How to exclude a script from optimization
-
- Use ‘Exclude’ tab to exclude scripts by matching src or inline content using regexp
-
Use
wpmeteor_exclude
filter, which accepts 2 arguments: $exclude and $content. $content variable contains either src attribute, or text content of the script tag. Return true if you want to exclude the script. Example:add_filter('wpmeteor_exclude', function ($exclude, $content) { if (preg_match('/yourscript\.js/', $content)) { return true; } return $exclude; }, null, 2);
Alternatively, you can use data-wpmeteor-nooptimize=”true” script attribute to exclude it from optimization.
-
How to adjust delay outside of 1s, 2s and Infinity
-
Use
wpmeteor-frontend-adjust-wpmeteor
filter in the following way:add_filter('wp-meteor-frontend-adjust-wpmeteor', function ($wpmeteor, $settings) { $wpmeteor['rdelay'] = 4000; // number of milliseconds to delay return $wpmeteor; }, 100, 2);
Reviews
Contributors & Developers
“WP Meteor Page Speed Optimization Topping” is open source software. The following people have contributed to this plugin.
Contributors“WP Meteor Page Speed Optimization Topping” has been translated into 2 locales. Thank you to the translators for their contributions.
Translate “WP Meteor Page Speed Optimization Topping” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
3.3.1 – Support for WP Fastest Cache and SiteGround Optimizer returned, but not guaranteed to work
3.3.0 – Interaction with caching plugins reworked
3.2.6 – https://legalblink.it/ GDPR banner added for exclusion
3.2.5 – fix for jQuery being excluded from optimization (eg by Phastpress)
3.2.4 – fix for when is_plugin_active is not available Issue
3.2.3 – bugfix release
3.2.2 – better compatibility with LiteSpeed cache
3.2.1 – support for automatic exclusion of GDPR / Cookie banners, attempt to reduce blocking time when inserting scripts
3.2.0 – migration to external wp-meteor javascript library, support for shadow root inserted scripts added to address Issue
3.1.9 – migration to esbuild to produce smaller footprint javascript, upgrade of wp-notice library to fix CSRF perfmanently
3.1.8 – jQuery mock improved
3.1.7 – Issue addressed
3.1.6 – Issue addressed, PHP 8.2+ compatibility fixes
3.1.5 – Speed improvements, reducing blocking time, CSRF security fix for wp-notice library CVE-2023-26543
3.1.4 – Keeping Avada’s lazysizes.js optimized, because it depends on jQuery
3.1.3 – Issue Cleanup on uninstall only
3.1.2 – Visual builders compatibility improvements
3.1.1 – removing lazySizesConfig from optimization
3.1.0 – document.write fixed, script preload/preconnect improvements
3.0.9 – Bugfix release
3.0.8 – Bugfix release for feature released in 3.0.6
3.0.7 – Script removal improved to make happy 3rd party scrips willing to remove scripts themselves
3.0.6 – Bugfix release, support for onload attributes
3.0.5 – Ability to remove comment
3.0.4 – Issue addressed, wp-login.php is excluded from optimization
3.0.3 – Issue addressed, support for modules restored
3.0.2 – Issue partially addressed
3.0.1 – Issue addressed, body onload tag handling added to fix “WordPress Social Login” plugin and probably others
3.0.0 – Multiple improvements:
* Zero delay mode.
* Improvements to dispatching events to 3rd party scripts loaded through GTM
* Script exclusion integration with Autoptimize, WP Rocket and Breeze
* Improved asset loading detection.
* Late event support fixed
* Support for privacy services, tested for OneTrust specifially
2.3.10 – WP Fastest Cache compatibility
2.3.9 – Regexp exlusions fixed
2.3.8 – event queue should not be processed if script loading is in progress Issue
2.3.7 – defer converted to data-defer for standards compliance
2.3.6 – Support for missing tag
2.3.5 – Better readyState management
2.3.4 – Lazy Images by Jetpack support added
2.3.3 – Compatibility with PhastPress if ‘Load scripts asynchronously’ is disabled
2.3.2 – Support for unquoted src and type script attributes
2.3.1 – Images lazyloading fixed for Swift Performance
2.3.0 – window messaging support added, multiple improvements into event handling
2.2.21 – Swift Performance support added
2.2.20 – Breeze support added
2.2.19 – jQueryMock returned, to fire jQuery.ready early
2.2.18 – minor fixes
2.2.17 – document.write now properly processes inserted scripts
2.2.16 – better AJAX calls detection
2.2.15 – better readyState tracking, getting rid of jQueryMock
2.2.14 – Support for onreadystatechange property of document
2.2.13 – Bugfix in event queue management introduced in 2.2.12
2.2.12 – Important bugfix in event queue management
2.2.11 – Meta Slider support and general compatibility improvements
2.2.10 – Bugfix
2.2.9 – Bugfix
2.2.8 – Memory usage optimization
2.2.7 – Elementor error fixed
2.2.6 – Newrelic forced exclusion
2.2.5 – Avada Theme compatibility
2.2.4 – Swift Performance compatibility
2.2.3 – Readme updated
2.2.2 – CloudFlare RocketLoader compatibility Issue fixed
2.2.1 – Issue fixed
2.2.0 – UI to exclude scripts
2.1.4 – Tracking for natively lazyloaded images improved
2.1.3 – Getting rid of built-in lazyload handling in favor of native one. Refactoring
2.1.2 – Cloudflare Rocket Loader compatibility fixes
2.1.1 – Backend support for wpmeteor_exclude filter, also fixes Fast Velocity css preload in a different way Issue
2.1.0 – Event redispatching improved, compatibility fixes, refactoring
2.0.5 – Better Fast Velocity Minify compatibility
2.0.4 – Minor CSS rewriting fix
2.0.3 – Support for onload properties of window, document and body Issue
2.0.2 – Support for onload events in Issue
2.0.1 – Rewrite inside script tags fixed Issue
2.0.0 – Major script loading logics update
1.5.7 – Missing files added
1.5.6 – Moving before code to conform to Web Vitals best practices Issue
1.5.5 – Skip rewrite of content, other than text/html
1.5.4 – Improved detection of CloudFlare, better/safer script rewrites, dropping support for rocket_buffer
1.5.3 – SEOPress sitemaps.xml fix Issue
1.5.2 – Prevent clicks during touchmove, RTL support added
1.5.1 – Emulate Elementor Powerpack Pro menu
1.5.0 – wpmeteor_enabled filter added, to allow to disable optimizations ocasionally
1.4.9 – document.write override allowed for those who know how to do it better (egDivi editor)
1.4.8 – Divi theme builder compatibility fixed
1.4.7 – SiteGround Optimizer + WP Rocket issue fixed
1.4.6 – Elementor Offcanvas double animation fix Issue
1.4.5 – Elementor Offcanvas animations suppressed Issue
1.4.4 – Elementor Entrance Animations issues fixed
1.4.3 – Elementor Entrance Animations support added
1.4.2 – Removed override for currentTarget for replayed events, fixes some navigation menus
1.4.1 – For WP Rocket compatibility, using rocket_buffer filter to inject javascript
1.4.0 – Getting rid of { passive: true } for replayed pointer events
1.3.9 – DOMContentLoaded propagation to window object, proper event handler bindings
1.3.8 – Better fronted detection to avoid rewriting AJAX and REST requests
1.3.7 – Proper contexts for domcontentloaded and window.onload event handlers
1.3.6 – Better jQuery.ready handling
1.3.5 – CookieBot compatibility Issue fixed
1.3.4 – Stopping click propagation when capturing events Issue
1.3.3 – Better script loading in Firefox, scripts with both src and inline loading fixed Issue
1.3.2 – Better delayed events for mobile Issue
1.3.1 – Click handling in mobile safari improved Issue
1.3.0 – Gutenberg save failure fixed
1.2.9 – jQuery mockup fixed to support window.load inside ready() function
1.2.8 – Bug breaking header tags fixed
1.2.7 – Phastpress compatibility dropped
1.2.6 – Minor improvement to fire domcontentloaded and window.onload for non-optimized scripts
1.2.5 – Support for Autoptimize native lazyload
1.2.4 – Delayed click/mouseover/mouseout events support added
1.2.3 – Native WP Rocket lazyload support
1.2.2 – Phastpress compatibility
1.2.1 – stripped lazysizes added in, with bgsizes plugin
1.2.0 – minor cleanup
1.1.9 – simple lazyload polyfill
1.1.8 – infinite delay added
1.1.7 – rewriting redone to support Google AMP and other plugins that initialize late
1.1.6 – working support Beaver Builder / Edit Mode
1.1.5 – working support Elementor / Edit Mode, Google AMP, AMP for WP
1.1.4 – support for Elementor / Edit Mode
1.1.3 – support for AMP for WP plugin added
1.1.2 – support for Google AMP plugin added
1.1.1 – readme.txt updated, warning added that it might not work for someone
1.1.0 – JetPack compatibility fixes
1.0.9 – ?wpmeteornopreload added to allow testing disabling preload
1.0.8 – data-cfasync=”false” added to optimized scripts if behind CloudFlare
1.0.7 – ?wpmeteorcfasync parameter added to test disabling CloudFlare optimizations
1.0.6 – another iteration on domcontentloaded and window.onload handlers, jQuery mock rewrite
1.0.5 – better handling for broken domcontentloaded and window.onload handlers, better jQuery mock
1.0.4 – better cleanup on plugin deactivation
1.0.3 – readme.txt updated
1.0.2 – readme.txt updated
1.0.1 – minor Settings panel improvements
1.0.0 – initial release