Your business website has 40 images on the homepage, 15 on the services page and a catalogue with dozens of product photos. If they all load at once, visitors wait seconds before seeing anything useful. Lazy loading delays image downloads until the user needs them: when they scroll or when images enter the viewport.
At aatsoft, a web development agency in Manresa (Barcelona), we audit corporate websites where the design works but initial load is slow due to poorly managed images. In this guide we explain what lazy loading is, how it speeds up your site, mistakes to avoid and how to combine it with other optimisations to improve experience and rankings.
What is lazy loading and why it matters for your business website
Lazy loading is a technique that loads resources (mainly images, videos and iframes) only when they are about to be displayed on screen. Instead of downloading 2 MB of photos when opening the page, the browser loads what is visible first and leaves the rest for when the user scrolls.
For a business website, this means:
- Faster time to first visible content: visitors see text and layout sooner, not a blank space.
- Lower data consumption: relevant on mobile, where many users browse on limited connections.
- Better Core Web Vitals scores: especially LCP (Largest Contentful Paint) and, when implemented well, CLS.
- Less server load: not every image is requested on every visit.
Google values speed as an experience factor. If your site is slow to load, you lose visitors before they read your value proposition. Lazy loading does not replace good image optimisation, but it complements it.
Signs your website needs lazy loading
Check these indicators before assuming your site is already optimised:
- The homepage takes more than 3 seconds to show useful content on mobile.
- PageSpeed Insights or Lighthouse flag off-screen images as an improvement opportunity.
- In the browser Network tab, you see dozens of image requests when loading the first screen.
- Your blog or catalogue has many entries with large photos in long listings.
- Core Web Vitals are red or amber in Search Console.
Use Google Search Console to see if mobile speed affects your main pages.
How lazy loading works in practice
Native loading="lazy" attribute
Modern browsers (Chrome, Firefox, Safari, Edge) support loading="lazy" on <img> and <iframe> tags. It is the simplest approach: add the attribute and the browser handles deferred loading without extra JavaScript.
JavaScript and libraries
In more complex projects or with older browsers, libraries like lazysizes or the Intersection Observer API are used. They allow more control: placeholders, transitions, progressive loading or lazy loading on CSS background elements.
Lazy loading in CSS and backgrounds
Background images (background-image) do not natively support loading="lazy". You need JavaScript or techniques like content-visibility to delay their load.
Which images should use lazy loading (and which should not)
Not every image should be deferred. The general rule:
- Yes, lazy loading: below-the-fold images, galleries, catalogues, avatars in listings, related article images, photos on long pages.
- No, immediate load: logo, homepage hero image, first visible image when opening the page, critical icons, images that define LCP.
If you apply lazy loading to your homepage hero image, you worsen LCP and Google may penalise the experience. Always prioritise what the user sees in the first seconds.
Common mistakes when implementing lazy loading
- Lazy loading on the LCP image: delays the largest visible element and worsens the key speed metric.
- No width/height dimensions: the browser does not reserve space and content jumps on load (negative CLS).
- Poorly implemented low-quality placeholder: excessive blur or a flickering skeleton creates bad experience.
- Forgetting iframes and videos: a Google Maps embed or embedded video can weigh more than all images combined.
- Not combining with compression: lazy loading a 3 MB image only delays the problem; reduce weight and format first (WebP, AVIF).
- Poor SEO handling: lazy images must still have descriptive
alttext and be in the HTML (not loaded only via JavaScript without fallback).
How to audit lazy loading on your website step by step
- Open PageSpeed Insights with your homepage URL and a page with many images (blog, catalogue).
- Check the "Opportunities" section: look for warnings about off-screen images or deferred loading.
- Inspect the HTML: check which images have
loading="lazy"and whether the hero lacks it. - Simulate mobile in DevTools: Network tab, reload and count how many images download before the first scroll.
- Measure LCP and CLS in Search Console or with Lighthouse to see real impact.
How to implement lazy loading without breaking your site
1. Identify the LCP image for each template
On the homepage it is usually the hero; on a blog article, the featured image. Those images use loading="eager" or no attribute (eager by default).
2. Apply loading="lazy" to the rest
In blog listings, project galleries and catalogues, add loading="lazy" to every <img> below the first viewport.
3. Set width and height
Reserve space before loading to avoid layout shifts. Use CSS aspect-ratio if dimensions vary.
4. Use modern formats
Combine lazy loading with WebP or AVIF and responsive sizes (srcset) so each device downloads only what it needs.
5. Test on a real mobile device
Emulators help, but test on a smartphone with 4G to see the visitor's real experience.
Lazy loading and SEO: what Google expects
Google crawls content loaded with lazy loading if it is in the initial HTML. Images with loading="lazy" remain indexable if they have a URL and alt attribute in the source code.
Avoid loading images only via JavaScript without appearing in the HTML: bots may not execute the script. For critical SEO content, keep images in the markup.
Lazy loading improves speed, and speed is an experience signal. It is not a direct ranking factor on its own, but a faster site retains more visitors and reduces bounce rate.
Summary table: when to use lazy loading
| Element | Lazy loading? | Reason |
|---|---|---|
| Logo and header | No | Immediately visible, critical for branding |
| Hero / cover image | No | Usually the page LCP |
| Article body images | Yes | Below the fold in long texts |
| Project gallery | Yes | Many images, few visible at start |
| Product catalogue | Yes | Long listings with repeated photos |
| Maps and iframes | Yes | Heavy and rarely the first thing seen |
Conclusion: load only what the visitor will see
Lazy loading is not a passing trend: it is standard practice for image-heavy websites. Applied with judgement —without delaying critical content, with defined dimensions and combined with compression— it speeds up your site, improves mobile experience and strengthens your performance metrics.
If your business website is slow to load and has dozens of images on every page, it is time to audit. At aatsoft we help companies optimise their site load without sacrificing visual quality or rankings.