What Is Lazy Loading and How Does It Help Your Website?
Lazy loading is a technique where images, videos, and other media are not loaded until they’re actually needed — typically when the visitor scrolls close enough to see them. Instead of downloading every image on a page the moment someone lands on it, the browser only loads what’s visible in the viewport, then fetches additional content as the user scrolls down.
This matters because images are usually the heaviest part of a web page. A long blog post or product listing page might contain 30 or 40 images. Without lazy loading, all of them are downloaded immediately, even if the visitor only reads the first screen before leaving. With lazy loading, only the top few images are fetched upfront, dramatically reducing initial page weight and speeding up the all-important first load.
How Lazy Loading Works Technically
The simplest modern implementation requires just one HTML attribute: “loading=”lazy”” on an <img> or <iframe> tag. All major browsers now support this natively, with no JavaScript required. When the browser sees this attribute, it skips downloading the resource immediately and instead monitors the scroll position. When the element gets within a defined distance of the viewport (the “lazy load threshold”, usually a few hundred pixels), the browser fetches it.
For older browsers or more advanced use cases, the JavaScript Intersection Observer API provides a reliable way to implement the same pattern. Libraries like Lazysizes have been popular for years, though native browser support has largely made them unnecessary for basic image lazy loading. For videos, the recommended approach is to defer the <iframe> or <video> element until interaction, often showing a static poster image with a play button overlay.
What Should and Shouldn’t Be Lazy Loaded
Lazy loading is ideal for images and embeds that are below the fold — content a visitor has to scroll to see. However, you should never lazy load your LCP element (the largest visible image or content block when the page first loads). Lazy loading your hero image will delay it from loading and directly worsen your Largest Contentful Paint score, which is a Core Web Vital and a Google ranking signal.
As a rule, mark above-the-fold images with “loading=”eager”” (or simply omit the lazy attribute) and consider adding a “fetchpriority=”high”” attribute to your primary hero image so the browser fetches it as a top priority. Apply “loading=”lazy”” to everything else. WordPress 5.5 and later adds the lazy attribute automatically to most images, but it’s worth checking that it hasn’t been inadvertently applied to your hero.
The Impact of Lazy Loading on Performance Metrics
When implemented correctly, lazy loading typically reduces initial page weight by 30–70% on image-heavy pages. This translates to faster Time to Interactive (TTI) and lower data usage for visitors on metered mobile connections. It can also reduce hosting bandwidth costs, as images that a visitor never scrolls to are never transferred.
The key metrics to track after implementing lazy loading are your PageSpeed Insights score, your LCP time (which should improve as the browser focuses bandwidth on above-fold images), and your total bytes downloaded on first load. Chrome DevTools’ Network panel lets you filter by “Img” and see exactly which images are loading on page open versus being deferred.
Common questions.
Does lazy loading affect SEO?
Should I lazy load images above the fold?
Does WordPress support lazy loading out of the box?
More on web design & ux.
Want a hand putting this into practice?
Book a free, no-obligation consultation with a Norwich-based specialist.
Let's put your business in a better light.
Book a free, no-pressure consultation. We'll talk through your goals and tell you honestly what we'd do — whether you work with us or not.