WP Meteor Page Speed Optimization Topping

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
  • LiteSpeed Cache

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

  1. Upload the plugin files to the /wp-content/plugins/wp-meteor directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. 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

  1. Use ‘Exclude’ tab to exclude scripts by matching src or inline content using regexp
  2. 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

Сентябрь 14, 2022-ж.
We're quite pleased with the performance of this plugin. Enough cannot be said about the speed and effectiveness of the tech support when we needed it. The software company was quick to provide a solution and stayed with us to ensure all ways resolved in a very timely and efficient manner. You would be wise to use this plugin.
Сентябрь 4, 2022-ж.
Hello, dear , version 3 of the plugin interferes with the Presto Player Pro plugin. Thank you for solving the bug Translated by Google Translate
Сентябрь 27, 2022-ж.
Wow! Can't believe what this plugin does. After installing it, our website went from crawling to flying! Not sure what the magic is, but this plugin delivers. The best part? This plugin is: 1. Compatible with Avada (theme). 2. Compatible with SG Optimizer. After installing this plugin, we no longer had to combine nor defer our JS assets. This plugin took care of everything. 3. Compatible with PHP 8.1.9 and 8.2.0 4. Compatible with WP 6.0.1 Thank you. You rock! ------------------- Update: Regrets 🙁 After further testing, we need to change our plugin rating from five to three stars. Why? 1. The plugin attaches itself to the WordPress login page. A no-no! 2. The plugin inserts an advertisement in every page (i.e. page source). There is no filter to remove it. 3. The plugin is not compatible with Avada (Note: Adding every imaginable exclusion did not help) 4. In order to use the plugin effectively, we need to load jQuery Async. Doing this breaks many of our pages. 5. Support is lacking. We'll be glad to update our rating to five stars once the above is addressed and/or rectified. Cheerio!
Июль 19, 2022-ж.
Hi, it would be a cool and awesome plugin if this didn't break my menu and animations. My hamburger menu, pops up when everything is loaded. I have been checking on the internet, videos, comments, reviews, but could not find a solution to solve my problem. Also, the exclusion is not working. I have been testing using php code and using the plugin interface, and nothing. I put the exact link, and the exclusion system does not exclude the javascript file. I want to exclude anything to do with Elementor. Thank you in advance! EDIT: I put 5 stars because the author contacted me and he is trying to solve my problem. Awesome free support.
Read all 58 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 1 locale. 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.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