“Lazy loading” is the term given to Ajax coding that loads content in a way that speeds up the rendering process on a website. Instead of waiting for all content to load from a database or web server, lazy loading allows you to display text and background components while other containers wait to load more resource-intensive content. As a result, the user sees content within seconds while other elements, such as reports or images, are still loading. It improves the perceived load times and engages users rather than lose them to poor performance.
How Lazy Loading Works
You’ve probably seen lazy loading and didn’t realize it. The spinner display you’ve been seeing is the standard animation that shows as web page content is loading. It’s what you should use on your pages because users have come to understand that this image means content is currently on its way.
Ajax lazy loading improves your website’s perceived speed, which in turn increases your user engagement. Site speed can mean the difference between a paying customer and a bounced reader. Lazy loading doesn’t increase your site’s actual speed, but it does give your site the impression that it loads faster. Some marketing experts call it your “perceived speed” rather than actual speed.
To understand lazy loading, you first need to understand the way a web page loads. When you open a web page in your browser, the browser waits for all content to load. The first section of your site is usually CSS files, which are the first to load. The browser waits for these files to load and then waits for text, images, and any applications included in the HTML body tag. The whole process can take several seconds.
Suppose you had a page that supports reports, which usually require the database to perform a high amount of calculations and processing before the data returns to the web server. The web server waits for the database to finish calculating before it displays all content on the page. If your database takes 30 seconds to process data, your web page will wait 30 seconds before it loads content for the user to see.
With Ajax and lazy loading, you can show content that has already processed while the longer, 30-second container with the report content processes and you display the spinning animation. Users can read the content that has already loaded, and then when your report is ready, they can see its values.
Most designers put the lazy-loading content at the bottom of the page, so users don’t even see the spinning animation. They see the content, and by the time they scroll to the bottom of the page, the lazy-loaded content has already processed and displayed.
A div container should include each component of your page. The div container can be refreshed as many times as you need without ever making the entire page refresh. You can lazy load all of your content, but this leads to several spinning animations appearing when the user opens your page. You should only use lazy loading when you have sections of your page that take too long to load.
It might sound like a hassle to restructure your code, but speed, when perceived to be faster, can improve user engagement metrics, i.e., the statistics you gather based on user clicks, time on the site, conversion rates, and the number of subscriptions you gather. User engagement gives you a benchmark for the number of people that read your site versus the ones that “bounce,” or leave, as soon as they open your page or click a link to your site in a search engine.
Because search engines don’t index all content that loads using this method, you should only use lazy loading with content that isn’t important for your SEO campaigns. Take this into consideration when you determine which sections of your pages you want to lazy load and what parts you want to leave as statically loaded content.
Ultimately, you should see an improvement in your conversions if you sell a product, or see an increase in readership and clicks on internal links. Lazy loading won’t solve all of your user-engagement problems, but it can have a significant positive impact.