Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Lazy loading means waiting to load some parts of a webpage until they are needed. On your Commerce Vision site, lazy loading of non-critical files can be enabled. This means that when a user views a page, these files won't load until they are visible on screen, or what is called above the fold. Lazy loading is very often used for large images and other rich media files  files below the fold, or scripts.   


Here's an example of how lazy loading works. Suppose your home page has a slider campaign, where only one slide at a time is viewed. With lazy loading on for the slider, an image file will not be loaded until that slide is visible to the user.  


  • Most of your images are below the fold, at least a few scroll-clicks from the top of the site. (makes sense not to load images/items that users might not even scroll to)
  • You’ve got huge images, and no CDN. (saves server resources/bandwidth)
  • You’ve got many images, and no CDN. (saves server resources/bandwidth)
  • Images aren’t integral to your user experience. (users come only for your text)
  • Using it for SCRIPTS, not images. 




Panel

On this page:

Table of Contents


Why use lazy loading?

The idea behind lazy loading is faster page load times.   Suppose your home page has a banner slider with five different images. The user can view only one slide at a time. With lazy loading, the four image files not on screen remain unloaded. The whole page will display faster to the user since they don't have to wait until all five images are loaded.  


By default, lazy loading of banners, images and product images is enabled by default for all websites. For greater control, objects in widgets that can be lazy loaded will have a toggle that can be switched on and off.


Here's an example for the banner slider:


Add lazy loading for images in HTML Snippet and Custom widgets

You've embedded an image in an HTML Snippet or Custom widget and want to enable lazy loading, Here's a guide to do it.


You have an image tag:

Code Block
languagexml
<img class="someClasses" src="/images/SomeImage.jpg"  style="someStyles">


 To add lazy loading, edit this code:

Code Block
languagexml
<img class="cv-lazy someClasses" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" data-src="/images/SomeImage.jpg"  style="someStyles">


Let's look at what has been done:

  1. cv-lazy: Add cv-lazy as a class to the attribute.
  2. src: update the src to a placeholder image. Use the gif format in this case so we don't get a layout shift.
  3. data-src: original src attribute changed to data-src to enable the original image to be lazy loaded.



Related help

Content by Label
showLabelsfalse
showSpacefalse
excludeCurrenttrue
cqllabel = "images" and title ~ "optimisation"