Site SEO AI Auditdi Internet Solutions

Lazy Loading and SEO: What to Lazy-Load and What Not To

21 settembre 20267 min di letturaSEO tecnica
Lazy Loading and SEO: What to Lazy-Load and What Not To

Short answer: lazy loading delays offscreen images, videos and iframes until the visitor scrolls near them, which reduces page weight and speeds up the first view. Use the native loading="lazy" attribute for images and iframes below the fold, never lazy-load the main image in the first screen, give every lazy element width and height, and make sure important text and links are in the HTML rather than loaded only on scroll or click, because crawlers do not scroll or click.

What lazy loading is

A long page may contain dozens of images, several embedded videos and maybe a map. Without lazy loading, the browser downloads all of them as soon as the page loads, even though the visitor sees only the first screen. Lazy loading postpones offscreen resources until they are about to come into view.

There are two ways to do it:

Google’s guidance on fixing lazy-loaded content explains how to make sure crawlers can still see what is loaded this way.

Why it matters for speed and SEO

Done well, lazy loading improves page speed, especially on image-heavy pages such as blogs, galleries and category pages. Fewer bytes compete with the important resources at the top of the page, which helps Largest Contentful Paint and reduces data use on mobile connections.

The savings can be substantial. A long article with a dozen large images, or a category page with dozens of product photos, may download many times more image data than the visitor ever sees if they read only the top part. On mobile connections, that difference is felt directly in how quickly the page becomes usable.

Done badly, it causes three SEO problems:

Deciding what to lazy-load

The rule of thumb is simple: lazy-load media the visitor cannot see yet, and load everything that defines the page immediately. The difficulty lies in the details, because “the first screen” differs between a small phone and a wide desktop monitor, and because themes often apply one setting to every image on every template.

What to lazy-load

What not to lazy-load

WordPress adds loading="lazy" to images automatically and, since version 5.9, skips the first content image to protect LCP. Themes, page builders and optimisation plugins can override that logic, so check the main image on each template.

How crawlers handle lazy loading

Search engines render pages, but they do not scroll or interact like visitors. Google renders pages with a tall viewport, so native lazy loading and IntersectionObserver-based loading usually work: elements within that tall viewport are treated as visible and load. Problems arise with:

For images that matter for image search, a <noscript> fallback or native lazy loading with a real src attribute is the safest approach.

Lazy loading on category pages and shops

Category and listing pages are where lazy loading brings the biggest savings and the most risk. A grid of 48 products means 48 images, most of them far below the fold. Lazy-loading those thumbnails is sensible. A few details make the difference:

After changing lazy loading settings on a shop, check a category page on a real phone over a mobile connection. It is the fastest way to notice layout jumps, missing images and delayed first rows.

Native vs JavaScript lazy loading

Native (loading="lazy") JavaScript libraries
Setup One attribute Script plus custom attributes
Real image URL in HTML Yes, in src Often only in data-src
Works without JavaScript Yes No, unless a fallback is added
Crawler compatibility Very good Depends on implementation
Fine control of thresholds Browser decides Configurable

For most sites, native lazy loading is simpler and safer. JavaScript libraries are only worth it for special cases like background images or complex galleries.

Avoiding layout shift

A lazy-loaded image that arrives without reserved space pushes the content below it down, which increases Cumulative Layout Shift. Always include width and height attributes or a CSS aspect-ratio on lazy images and iframes, and use placeholders with the same dimensions for embeds.

How to test lazy loading

  1. Identify the LCP element on each template with PageSpeed Insights or DevTools and confirm it has no loading="lazy".
  2. View the raw HTML with curl: do images have real URLs in src, and is the main text present?
  3. Use URL Inspection’s live test: check the rendered HTML and screenshot to see whether lazy content appears.
  4. Disable JavaScript in the browser: images and content that disappear depend on scripts.
  5. Scroll with DevTools open and watch the Network panel to confirm images load as expected and layout stays stable.

Common mistakes

How Site SEO AI Audit helps

The speed and Core Web Vitals area of the audit brings in Google PageSpeed data, including LCP and CLS, which are the two metrics most affected by poor lazy loading, and measures page weight on every crawled page. The AI visibility area flags content that needs JavaScript to appear, which is where script-based lazy loading usually hides text and links. Each issue lists the affected pages. You can compare plans or start with a free audit.

Related reading

The bottom line

Lazy loading is a simple, effective speed technique when it is limited to offscreen media. Use native lazy loading, never apply it to the main image in the first screen, reserve space for every lazy element, and keep important text and links in the initial HTML so crawlers see them without scrolling or clicking.

FAQ

Is lazy loading good for SEO?

Yes, when applied to offscreen images and embeds. It reduces page weight and can improve loading speed. It becomes harmful when the main image or important content is lazy-loaded.

Should I lazy-load the hero image?

No. The hero image is often the Largest Contentful Paint element, and lazy-loading it delays LCP. Load it normally and consider giving it high fetch priority.

Can Google see lazy-loaded images?

Generally yes, with native lazy loading or visibility-based scripts, because Google renders pages with a tall viewport. Content that only loads on scroll events or clicks may not be seen.

Does WordPress lazy-load images automatically?

Yes. WordPress adds loading=”lazy” to images and iframes and skips the first content image by default. Themes and plugins can change this, so check your main templates.

Does lazy loading cause layout shift?

It can, if images load without reserved space. Adding width and height attributes or a CSS aspect ratio to lazy images prevents the shift.

#Core Web Vitals#JavaScript SEO#Page speed#Technical SEO
Controlla il tuo sito — gratis.Ogni problema SEO del tuo sito — e come risolverlo esattamente.
Inizia gratis
Internet Solutions

Altro dal nostro team

Realizzati da Internet Solutions. Prova anche gli altri nostri prodotti: ognuno ti fa risparmiare tempo in modo diverso.

internet-solutions.net ↗
Site SEO AI Audit
Panoramica sulla privacy

Questo sito utilizza i cookie per offrirti la migliore esperienza utente possibile. Le informazioni dei cookie sono memorizzate nel tuo browser e svolgono funzioni come riconoscerti quando torni sul nostro sito e aiutare il nostro team a capire quali sezioni del sito trovi più interessanti e utili.