Whether you run a WordPress blog, a business site, an online store, or any other type of WordPress website, slow page speed is the biggest enemy of user experience. It takes just seconds of load time for both mobile and desktop users to become disengaged with your content, so any small steps you can take to increase page performance are usually a good investment.
One such method is lazy loading, the technique of deferring the loading of below-the-fold content until the user scrolls down to see it. With lazy loading, only the essential content is loaded at the first paint, giving the impression of a faster web page.
Lazy loading is most often used on “heavy” page elements like images, iframes, and scripts. Too many of these on one page will slow things down significantly, and you should limit their use to only what is necessary. However, lazy loading is another reliable way to include them with minimal impact on page speed.
Sound like a deal? If so, I have good news for WordPress users. First, WordPress core natively supports lazy loading for images and iframes as long as you’ve upgraded to version 5.7 or later. Second, there are free WordPress plugins that give you more control over your lazy-loaded elements.
In this post, we’ll cover the seven best plugins to lazy-load your images, iframes, and more. But first, why might you want to use a plugin at all?
Why should you use a lazy loading plugin?
As of version 5.7, WordPress lazy-loads images and iframes by default. To be more specific, WordPress assigns the loading=“lazy” HTML attribute to all <img> and <iframe> tags that specify a width and a height (to prevent layout shifting on load). This turns on lazy loading for the specified elements.
Why, then, would you need a plugin if WordPress already includes this functionality?
The main reason is if you want to customize your lazy loading settings beyond what WordPress does by default. While you can tweak your underlying WordPress code to lazy-load elements other than images and iframes, users who are less comfortable with programming may want an alternative. Plugins can make these lazy-loading changes for you, without any coding on your part.
Another reason you may want a plugin is cross-browser compatibility: While most web browsers support loading=“lazy”, Apple’s Safari does not. This means native WordPress lazy loading doesn’t currently work in that browser. Until Apple supports the loading attribute, some lazy loading plugins can help to activate lazy loading in this browser and other popular browsers.
Now that we’ve seen the benefits of a lazy loading WordPress plugin, let’s look at your best options.
Best WordPress Lazy Load Plugins for 2021
- a3 Lazy Load
- Image optimization and Lazy Load by Optimole
- Lazy Load by WP Rocket
- Lazy Loader
- Speed Up - Lazy Load
- Lazy Load for Videos
1. a3 Lazy Load
a3 Lazy Load is the most popular WordPress plugin dedicated exclusively to lazy loading, making it an excellent choice for websites that display a lot of media. With this free tool, not only can you make your images load faster, but you can also toggle it to work on iframes and videos thanks to its customization options. You can even add animation effects for when the images do load (like fade-ins).
This plugin works brilliantly with other advanced plugins, and is a great option for admins who want lazy loading on their ecommerce websites — the WooCommerce plugin is fully compatible with this plugin. a3 Lazy Load works well on mobile sites too.
If you’re worried about user-friendliness, don’t be. a3 Lazy Load is easy to set up and customize for users of all experience levels.
Smush is the leading image optimization plugin for WordPress, and for good reason — it packs just out everything you’ll need to keep images from weighing down your page performance, including compression, resizing, and, of course, lazy loading.
Activating lazy loading in Smush is as easy as clicking a button — this instantly defers the loading of all images below the fold. From there, Smush also lets you restrict lazy loading to certain media types and output locations (e.g. thumbnails, widgets, and content areas).
This plugin is widely compatible with other popular plugins and WordPress themes to keep your site optimized and retain visitors. Best of all, you don’t need to purchase the premium version of Smush to activate lazy loading, since the free version includes this feature.
Image optimization & Lazy Load is another popular plugin that aims to boost performance by targeting your images. Since Optimole is a full service, you can use the free version of the plugin to enable lazy loading, or upgrade to one of its paid plans for more features.
Like Smush, Optimole aims to be an all-in-one tool for image optimization, including image resizing and compression, an integrated CDN to serve images faster, and a lazy loading option. Note that the lazy load feature is configured to prevent layout shifts, so the user experience won’t be disrupted.
This next plugin comes from the developers behind the popular WP Rocket caching plugin — Lazy Load is another fantastic tool that makes your images visible to users only when they are just above the fold. However, unlike the paid caching plugin, Lazy Load is free to use.
This plugin works on your images to speed up your site, and it also takes care of your thumbnails, avatars, background images, text, iframes (which you can substitute with an image thumbnail), and everything else that might reduce loading speed.
Lazy Load by WP Rocket is regularly updated to keep the features up to date to match the other advanced plugins of its kind. Plus, you can use it on the latest version of your WordPress site and install other modern plugins alongside it.
5. Lazy Loader
Don’t be confused by the similar plugin names — if you’re looking for a straightforward plugin with no bells or whistles, consider Lazy Loader. This lazy loading plugin defers the loading of below-the-fold images, iframes, videos, and audio content. It also handles lazy loading of background images, scripts, and page styling.
For more advanced users, Lazy Loader also allows you to enable/disable lazy loading on certain page elements and add a spinner animation to loading content.
Like the name suggests, this plugin boosts your site speed through lazy loading of images and iframes. In terms of setup, Speed Up is as easy as it gets — there’s no configuration required at all, and the plugin does its job upon activation.
Speed Up is a free and solid choice for users who want to apply lazy loading to all images and iframes. However, those in need of more granular control will probably have a better experience with a different plugin.
Video-heavy websites might want to opt for the free Lazy Load for Videos plugin, which is devoted to lazy loading videos. It will substitute any YouTube or Vimeo embed with a clickable image preview, saving your users critical waiting time up top.
In addition to lazy loading, Lazy Load for Videos comes with some extra perks you might appreciate. To name just a few, you can set your embeds to auto-play a promotional video for your website after the first video ends, hide annotations and YouTube controls for a cleaner look, change the play button style, and hide related video suggestions after your videos end.
Let lazy loading do the work.
Your WordPress website might rely on images and videos, but that doesn’t mean your speed should take a big hit as a result. Through either the native WordPress lazy loading function or with a specialized plugin, you can defer the loading of these elements until the user needs them. They may be called “lazy” loading plugins, but they’re actually working hard behind the scenes to deliver the best possible experience to your visitors.
Editor's note: This post was originally published in January 2020 and has been updated for comprehensiveness.