Complete Guide Plus 3 Ways to Implement It

As performance and interactivity enhance on the net, there was a gentle enhance in internet web page dimension over the previous few years. As of early 2018, the average page size on the web stood at over 2 MB! Easy methods to battle this? A bit one thing known as lazy loading photos is among the higher options.

On this information, we undergo all of the intricacies of lazy loading photos, and discuss over three other ways of implementing it.

Let’s begin with the desk of contents of what’s to return:

Why lazy loading issues?

The large payload of an online web page consists primarily of images, scripts, stylesheets, fonts, and movies. Nonetheless, photos take up over 60% of the scale of a typical internet web page. Photographs are additionally vital to the design of an online web page, so it’s not like you possibly can do away with them.

With none optimization, the consumer’s internet browser downloads all of the sources earlier than rendering a web page fully. This results in elevated load occasions, which may draw folks away. WooCommerce estimated that for each 100ms of web page pace enchancment, an e-commerce web site can enhance income by 1%.

In a situation like that, doing no matter it takes to optimize your load times makes a number of sense. And since photos are the first contributor to internet web page dimension, beginning with them is a good suggestion. That is the place lazy loading comes into play.

What’s lazy loading?

To know how lazy loading works, here’s a fast animated GIF demonstrating how photos are rendered on CodeinWP.

Lazy Loading Images Demo

Lazy loading demonstration on CodeinWP

When the web page hundreds, all the pictures aren’t downloaded instantly. Once you scroll right down to a picture, you first see a blurred model of it, and the precise picture begins loading within the background. This blurred picture is a low-definition model of the ultimate picture, at a fraction of the scale. This phenomenon of deferring downloading and rendering the picture until a consumer scrolls over it’s exactly what’s known as lazy loading.

Though “lazy” is mostly related negatively, lazy loading is definitely a very good observe and results in reducing web page load occasions by optimizing your web site total.

Observe. On this submit, we take a look at the method of lazy loading photos, however lazy loading isn’t confined to only photos – you need to use the identical thought when rendering some other useful resource like movies, the feedback (there’s a complete part on how to do this in this post), and even fonts.

Advantages of lazy loading

As loading time of an online web page is a serious contributor to abandonment, lazy loading photos can considerably result in an uplift of customers that keep on the web page till it hundreds, which might finally result in larger gross sales or conversions.

The opposite important advantage of lazy loading photos is lowered server payments. You serve solely these photos that the viewer scrolls by, and save on bandwidth for components of the web page that weren’t considered. As photos kind a dominant a part of the web page weight, this might result in doubtlessly decrease server prices.

Loading all the pictures up entrance is doubtlessly detrimental to your readers too. If the consumer is on a limiteless information plan for the net, it in all probability mustn’t matter. Nonetheless, on plans with restricted information, you might be saving your viewer’s information by lazy loading photos.

What to contemplate when lazy loading photos

Now that you’ve got determined to implement lazy loading in your web site the suitable means, allow us to go over a couple of key issues on methods to get it accomplished.

Determine the pictures you wish to lazy load

Not all photos are perfect for lazy loading. As an illustration, you wouldn’t wish to lazy load those which might be integral to the construction of your design and have to be loaded so as to render every little thing accurately.

Solely the pictures which might be off display and don’t contribute to the web page’s construction ought to be thought-about for lazy loading. Sometimes, these are photos within the <img> parts that seem within the physique of the web page.

Choose you picture placeholders

The following factor to contemplate is the intermediate picture or colour that ought to be proven when the picture is being loaded as soon as a viewer has scrolled over it. The picture loading time is dependent upon how giant the picture is, and might even take up to a couple seconds. Subsequently, you will need to take into account what you would favor to make use of throughout the load time.

There are two instructions that builders often take on this regard:

  • Use the dominant colour of the picture as a background
  • Use a low high quality model of the picture
low-res placeholder

An instance of low high quality variations of photos as placeholders for lazy loading

The precise alternative right here is dependent upon the design of your web site and what you would favor to be proven to the consumer when ready for the picture to load.

Though one approach is to load photos as quickly as they enter the view port, you could wish to take into account including a buffer time earlier than that takes place – in order that the consumer by no means sees the placeholder.

Watch out for altering web page construction when loading photos

Earlier than a picture is loaded, it could be proven utilizing 0 px dimensions. This isn’t very best for sustaining your design construction.

This may simply alter the structure of the web page and place of the textual content. A easy resolution is so as to add the proper dimensions to the picture straight away — this ensures the scale of the picture factor stays the identical after load.

With the above issues out of the way in which, let’s now take a look at how we will truly implement lazy loading on a WordPress web site.

Choice 1: Implement lazy loading from scratch

Allow us to first take a look at how to do that with out utilizing any plugins. This feature is advisable for these of you who’re comfy with JavaScript. Ideally, the next steps should be taken:

  1. Forestall picture loading throughout web page load: Once you specify the URL or path of the picture within the src attribute of the <img> tag, the picture will probably be downloaded by the browser throughout web page load. To stop the browser from downloading the picture, you might want to specify the situation of the picture within the data-src attribute of the <img> tag as a substitute.
  2. Register occasion handler capabilities in JavaScript to examine for parts on two occasions: loading and scrolling.
  3. When a component comes into the view port, load the worth of the data-src factor into the src factor, which triggers the browser to load the picture.

A easy implementation of this course of has been defined by Robin Osborne and the demo is offered on CodePen.

Choice 1.1: Use the intersection observer API

The intersection observer API helps determine DOM parts which might be within the view port at any given time limit. It is a cleaner means of implementing lazy load with out writing occasion handler capabilities. The variety of strains of code to implement lazy load goes down significantly too. Nonetheless, browser compatibility stays a problem.

The Google Developers Blog explains the implementation of intersection observer API by this CodePen demo.

Choice 2: Use a JavaScript plugin

The 2 choices mentioned above want intermediate stage information of JavaScript. In case you are searching for a better implementation of lazy loading with out utilizing a heavy plugin that places load into the server, you possibly can strive the plain JavaScript plugin, bLazy.

The bLazy library at a dimension of lower than 2 KB places no extra load on the payload, whereas permitting you to deal with lazy loading photos simply.

To make use of the bLazy library, you might want to initialize <img> parts with the next attributes:

  • class: set the category of all <img> tags to b-lazy
  • src: hyperlink to the placeholder picture
  • data-src: hyperlink to the picture to load
  • data-src-small: hyperlink to the picture to load on screens lower than 420 pixels huge

It’s essential to initialize the bLazy library in only a few strains of code and all of your photos will probably be rendered by lazy loading.

<script src=""></script>
    ;(operate() {
        // Initialize
        var bLazy = new Blazy();

A CodePen demo is offered here.

Choice 3: Use a WordPress plugin

There are a few choices on the market that may give you lazy loading. Most notably:

All these plugins will deal with lazy loading for you robotically. Every additionally comes with some good facet options.

For instance, Lazy Load by WP Rocket additionally lazy hundreds YouTube movies and replaces them with a thumbnail.

Optimole, other than being the most recent addition to the Themeisle household, additionally provides you rock-solid picture optimization (as tested here) with fairly superior options in that regard. As an illustration, it provides you dynamic resizing based mostly on the consumer’s display dimension.

Like with most plugins, to get lazy loading, simply set up the plugin and allow the function within the plugin’s management panel:

Optimole for Lazy Loading Images


This submit explored the necessity and advantages of lazy loading photos. We additionally mentioned three other ways of implementing lazy loading on a WordPress web site:

  • You probably have intermediate proficiency in JavaScript, you possibly can implement lazy loading from scratch
  • If some programming however are not looking for any plugins, a light-weight JavaScript library, bLazy is an choice
  • If you want a one-click resolution for lazy loading photos in your web site, you need to go for a plugin resembling Optimole

What do you consider lazy loading? Have you ever tried utilizing it to improve the performance of your web site?

Don’t overlook to hitch our crash course on rushing up your WordPress web site. With some easy fixes, you possibly can scale back your loading time by even 50-80%:

Or begin the dialog in our Facebook group for WordPress professionals. Discover solutions, share suggestions, and get assist from different WordPress consultants. Be part of now (it’s free)!

Related Articles

Back to top button