A faster website! (aka defer.js)
A faster website! (aka defer.js)
Description
β‘οΈ Experience lightning-fast load times with our native, blazingly quick lazy loader. β Backward compatible with legacy browsers (IE9+). π― SEO-optimized. π§© Lazy-load everything.
This plugin empowers you to optimize a wide range of elements, including images, videos, audio, iframes, stylesheets, and JavaScript, for a seamless user experience.
Leveraging tips from seasoned web experts and harnessing the latest web technologies for resource lazy-loading, this plugin ensures your website operates at peak efficiency, providing your visitors with a lightning-fast browsing experience.
If you find this plugin valuable, please consider leaving a 5-star review (βοΈβοΈβοΈβοΈβοΈ) to support my efforts.
What People Love
- β‘οΈ Native API, blazingly fast performance
- π Support for legacy browsers (IE9+)
- π₯ SEO-friendly optimization
- β Incredibly easy to use
- π― No dependencies, no jQuery required
- π€ Works seamlessly with your favorite frameworks
- π§© Utilizes IntersectionObserver API for optimized CPU usage
- π Supports responsive images with
srcsetandsizesattributes
π‘ Tip: For optimal results, consider disabling optimization features from other plugins (e.g., lazy-loading, HTML minification, JS minification).
We recommend using this plugin alongside another page-caching solution for best performance.
Browser support
This plugin also works perfectly on popular browsers, including Internet Explorer 9 and later.
- π₯ IE9+ / Microsoft EDGE
- π₯ Firefox 4+
- π₯ Safari 3+
- π₯ Chrome
- π₯ Opera
- π± Android 4+
- π± iOS 3.2+
Powered by defer.js, defer.php
defer.js
π₯ A super small, super efficient library that helps you lazy load almost everything like images, video, audio, iframes as well as stylesheets, and JavaScript.
defer.php
π A PHP library that focuses on minimizing payload size of HTML document and optimizing processing on the browser when rendering the web page.
Key features
- [x] Embed defer.js plugin
- [x] Normalize DOM elements
- [x] Fix missing meta tags
- [x] Fix missing media attributes
- [x] Preconnect to required origins
- [x] Preload key requests
- [x] Prefetch key requests
- [x] Browser-level image lazy-loading for the web
- [x] Lazy-load offscreen and hidden iframes
- [x] Lazy-load offscreen and hidden videos
- [x] Lazy-load offscreen and hidden images
- [x] Lazy-load CSS background images
- [x] Reduce the impact of JavaScript
- [x] Defer non-critical CSS requests
- [x] Defer third-party assets
- [x] Add fallback
<noscript>tags for lazy-loaded objects - [x] Add custom HTML while browser is rendering the page (splashscreen)
- [x] Attribute to ignore optimizing the element
- [x] Attribute to ignore lazyloading the element
- [x] Optimize AMP document
- [x] Minify HTML output
Support my activities
Keep up-to-date with new releases:
https://wordpress.org/plugins/shins-pageload-magic/
Donate via Paypal
Become a sponsor
Become a stargazer
Report an issue
Released under the GNU General Public License v2 license.
https://code.shin.company/defer-wordpress/blob/master/LICENSE
Copyright (c) 2024 Mai Nhut Tan <shin@shin.company>
Installation
-
Upload the
defer-wordpressfolder to the./wp-content/plugins/directory. -
Activate the plugin through the ‘Plugins’ menu in WordPress.
While this plugin maintains compatibility with PHP 5.6, we strongly recommend running your server on PHP version 8.1 or higher for optimal performance and speed.
Screenshots
Faq
π₯ Defer.js is a lightweight, native performance powerhouse designed to lazy-load resources like JS, CSS, images, and iframes with lightning speed.
With Defer.js, you can effortlessly supercharge your website’s performance.
Loading all page content at once can significantly slow down your website’s loading speed. Users loathe staring at a blank white page and tend to abandon ship quickly.
Implementing lazy-loading can alleviate resource contention, resulting in a silky-smooth browsing experience.
This plugin offers practical solutions for optimizing on-page resource downloads, based on recommendations from Google Developers available at this website.
You could manually implement these optimizations, but it’s a time-consuming process that requires expertise.
This plugin optimizes a wide range of elements, including image tags, videos, audio, iframes, stylesheets, and JavaScript.
It incorporates best practices endorsed by seasoned web experts and harnesses the latest web technologies for lazy-loading resources with finesse.
This includes features like creating “data-src” attributes for media and utilizing the loading=”lazy” attribute recently introduced by Google Developers.
Additionally, this plugin utilizes the DOM to analyze your website’s structure, delivering precise results and outperforming other plugins that rely on HTML text processing.
Give it a try, and you’ll likely be pleasantly surprised by the performance boost it brings to your website.
We’ve thoroughly tested this plugin alongside numerous others and haven’t encountered any significant conflicts.
For optimal use of this plugin, consider disabling other optimization features (e.g., lazy-loading, HTML minification, JS minification) offered by other plugins.
We also recommend using it in conjunction with a page-caching plugin for the ultimate performance experience.
Reviews
Great idea and a great plugin!
By aya2work on May 15, 2024
Thank you so much for the plugin and the idea.
But a little advice - the recommendation "disable CSS minification in your plugins" is not always enough. It would be good to add in FAQ examples of correct settings for the most popular plugins. At least for WP Rocket, WP SuperCache, LiteSpeed, W3.
A commendable plugin
By fanuus (mehdisalmani1364) on September 19, 2023
Thank you very much for your efforts
Excellent plugin
By C77 on August 25, 2023
Amazing plugin, really works. It deserves an update to improve speed with atual requirements.
No support, doesn't work
By snecz on September 29, 2021
Great site optimisation and support
By jakubl373 (jakublutter) on May 16, 2021
very simple to use without concerning broke sites
By allense2018 on May 15, 2021
incredibly practical and efficient
By moisb on April 14, 2021
spectacular speed
By TFMEDIAβ’ (ab18282) on March 22, 2021
Good performance
By fabmin on March 15, 2021
Works really well!
By harmonikas996 on March 10, 2021
Changelog
3.0: Remove support for PHP versions earlier than 7.2
2.10: Removed dependency from polyfill[.]io
2.9: Fixed broken feeds and API responses
2.8: Updated Defer.js version
2.7: Resolved various bugs
2.6: Fixed bugs related to JSON requests
2.5: Addressed deprecation errors for compatibility with newer PHP versions
2.4: Made minor updates and improvements to the documentation
2.3: Resolved multiple bugs and implemented enhancements
2.2: Enhanced the codebase for better performance
2.1: Fixed bugs (see https://code.shin.company/defer.js/issues/82)
2.0: Upgraded to version 2 and renamed the plugin
1.1.15: Fixed bugs present in defer.js versions 1.1.13 and 1.1.14
1.1.14: Improved overall performance
1.1.13: Fixed specific issues affecting Firefox
1.1.12: Addressed problems related to Internet Explorer and ensured compatibility with the latest WordPress version
1.1.11: Fixed a security vulnerability (CVE-2019-18888)
1.1.10+5: Removed external resources, bug fixes, and general improvements
1.1.10: Resolved various bugs and introduced improvements
1.1.9: Corrected encoding issues related to the mb_detect_encoding() function
1.1.8: Updated defer.php library to version 1.0.15
1.1.7: Fixed issues affecting Firefox and made code improvements
1.1.6: Updated the library version and enhanced JavaScript execution order
1.1.5: Hotfix for escaping HTML node values
1.1.4: Implemented numerous improvements
1.1.3: Unified lazy attributes with other plugins
1.1.2: Fixed known issues with gtm.js and improved plugin caching
1.1.1: Addressed small bugs, including IE polyfill, missing meta tags, and preloading ads
1.1.0: Added a settings page
1.0.9: Enhanced preloading code
1.0.8: Fixed issues related to open web fonts
1.0.7: Optimized script loader, polyfill, and srcset
1.0.6: Addressed minor bugs, including color placeholders and CSS issues
1.0.5: Migrated to defer.js library
1.0.0 to 1.0.4: Initial implementation and development phases

