Lazy loading is a technique for deferred loading of page content. It’s loaded when it’s needed rather than all at once – typically by scrolling through the page.
With lazy loading, pages are created with placeholder content which is replaced with actual content when the user needs it. Lazy loading is a technique that increases user time spent on page because new content loads automatically.
Lazy Loading is good because it delays loading of images below the fold. It’s a good trick.
But it can give us lousy UX as slow images on mobile devices leave blank spaces. Images eventually appear when scrolling. (We use lazy loading wherever and whenever possible anyway).
Our Favorite Lazy Load Plugins for still images like JPEGs
BJ Lazy Load
Active installs: 60,000+
Zip download size: 58k
updated: 6 months ago
All Time Installs: 480,551
Lazy Load by WP Rocket
Active installs: 10,000+
Zip download size: 92k
updated: 1 month ago
All Time Installs: 92,829
BJ Lazy Load also lazy loads YouTube video in the same way as Lazy Load XT. They both work with Elementor page builder. Read more below.
Lazy Loading YouTube or Vimeo videos
We have also experimented with Lazy Load for Video plugin. We like the plugin. But have found it can conflict with other plugin’s shortcodes on a page or post. Sadly, it doesn’t work with Elementor page builder.
Using the Lazy Load for Videos plugin can save 500 to 700 milliseconds in page load time. Studying plugin blog reviews about the Lazy Load for Video plugin, we learned the following about the settings:
There is an option to load CSS/JS only when needed. It should improve load time. It is not declared but is apparently a minification technique since the blog author warns that it could break the site. Just like any other minification plugin can. If so, we just deselect the option.
Responsive Mode: It is recommended.
Play Button: The author gives 5 different options. We prefer using the one with the most “YouTube-looking” interface. But it’s not the fastest. “CSS only” setting means code is loaded (faster) because there is no image to load. We don’t know if the speed gain would be significant.
Thumbnail Size: It can be set to “Standard” or “Cover.” We couldn’t tell any difference and used “cover.”
“Update Posts” button at the bottom. The blog review said, “If you are having trouble seeing your video change then you probably need to click this button. Especially right after configuring the plugin for the first time.”
If should be labeled, “always push this” instead of “if nothing is wrong” push this. We suspect it’s some kind of purge of cataloged pages or posts (like a cache or database).
After installing, we did have trouble with plugin activation on some videos. We clicked the button and it fixed the problem. We knew nothing about this button’s purpose. It isn’t mentioned in the plugin read.me documentation!
Lazy Load for Videos
Last Updated: 2 months ago
Zip file size: 246k
Active Installs: 7,000+
All Time Installs: 80,403
One thing we’ve found is an option to “Hide-related Videos” with a checkbox. The feature was added in a recent update. This sounds like a good thing if you don’t want to send viewers off to watch competitors YouTube videos. This function is available in Elementor’s video provisions. So even though BJ Lazy Load and Lazy Load XT don’t have this feature, if you’re using Elementor you can still achieve the same results.
The Lazy Load for Videos plugin read.me file claims videos on posts and pages are both activated.
Of interest: Jetpack by WordPress.com offers an extension called Shortcode Embeds. It makes Lazy Load for Videos always break. The cure is to simply disable the extension. Or like us, don’t use Jetpack! This is a known issue published in the read.me file.
We’ve also found this good lazy load plugin:
Lazy Load XT
Active installs: 3,000+
Last updated: 2 year ago
Zip file size: 29k
All Time Installs: 20,413
The plugin author claims this is the fastest and lightest lazy load plugin in the WordPress Plugin Directory. You can lazy load images, YouTube and Vimeo videos, and iframes. We’ve been testing it for several months and find it a good alternative when the other Lazy Load for Videos plugin conflicts with other plugins. We’re find this a common problem and it explains the low retention rate. Lazy Load XT appears a little slower in the view screen when loading images and video. It uses a fade in method. This plugin does work with Elementor page builder.
Here’s a comparison on a bare-bone GeneratePress theme with Gutenberg page-builder plugin – and a YouTube video embedded.
NOTE: If you use a page builder like Elementor, Lazy Load for Videos will load but doesn’t work to reduce load time. But LazyLoad XT, works fine. Go figure. Both work with Gutenberg.
No lazy load base line.
Lazy Load for Video Plugin
LazyLoad XT Plugin
BJ Lazy Load Plugin
Even though LazyLoad XT and BJ Lazy Load are faster loads, their page weight and bandwidth consumption for mobile is 7X higher.
Lazy Load for Videos plugin is our prefer plugin between these two. Both work and if one has a conflict – try the other one. We actually use both these plugins with selective activation because some of our posts have shortcode conflicts. We prefer the UX behavior of Lazy Load for Videos.
If you load both plugins simultaneously, Lazy Load for Videos will take precedence since it loads first. Page weight is increased by these plugins. Both plugins load globally. Loading an embedded YouTube video without lazy loading, doesn’t enqueue jQuery. But this small gain is swamped by the huge video load time.
ABOUT INFINITE SCROLL
As the name suggests, Infinite Scroll continuously loads content as the user scrolls down the page. The page’s footer – normally inaccessible in an infinitely loading web page – is displayed as an overlay beneath the scrolling content. WordPress claims that users read more posts when Infinite Scroll is enabled, as opposed to the traditional page-based approach. Infinite scroll plugins are hard to get to work with some themes. We’ve never had success with them on stripped-down speed themes. But we’ll keep trying. Here’s a list:
Last Updated: 4 years ago
Active Installs: 20,000+
Ajax Load More – Infinite Scroll
Last Updated: 2 days ago
Active Installs: 20,000+
Ajax Pagination and Infinite Scroll
Requires some code knowledge to work for most site. Unless you are using a default WordPress theme like Twenty-fifteen, etc. Adds about 40k to global page weight (site drag) and a few HTTP requests.
Last Updated: 1 month ago
Active Installs: 2,000+
WP EasyScroll Posts
Last Updated: 6 months ago
Active Installs: 300+
YITH Infinite Scrolling
Last Updated: 7 months ago
Active Installs: 7,000+
Mobile WordPress Speed – without coding!