What does Google say about SEO? /
Quick SEO Quiz

Test your SEO knowledge in 5 questions

Less than a minute. Find out how much you really know about Google search.

🕒 ~1 min 🎯 5 questions

Official statement

To ensure that lazily loaded images are indexed by Google, it is recommended to use noscript tags containing standard img tags, especially if the images are significant for image search traffic.
49:40
🎥 Source video

Extracted from a Google Search Central video

⏱ 1h05 💬 EN 📅 26/09/2018 ✂ 11 statements
Watch on YouTube (49:40) →
Other statements from this video 10
  1. 2:22 Pourquoi Google déploie-t-il ses fonctionnalités de recherche d'abord aux États-Unis ?
  2. 9:08 L'indexation mobile-first provoque-t-elle vraiment des chutes de classement temporaires ?
  3. 16:26 Pourquoi Google n'indexe-t-il pas tous les sites en mobile-first simultanément ?
  4. 18:25 Le texte caché pour l'accessibilité peut-il pénaliser votre référencement ?
  5. 21:31 Faut-il vraiment conserver ses URL lors d'une migration de site ?
  6. 26:16 Le rendu dynamique est-il vraiment la solution miracle pour indexer vos applications React ?
  7. 28:09 Pourquoi Googlebot bloque-t-il sur Chrome 41 pour rendre votre JavaScript ?
  8. 32:45 Vos fluctuations de classement sont-elles vraiment dues à votre site ?
  9. 34:16 Les attributs ARIA influencent-ils vraiment le classement Google ?
  10. 34:57 Pourquoi Google classe-t-il parfois les agrégateurs au-dessus des sources originales d'actualité ?
📅
Official statement from (7 years ago)
TL;DR

Google recommends adding noscript tags containing standard img tags to ensure the indexing of images loaded lazily. Without this precaution, images crucial for SEO traffic may never appear in Google Images. It's a simple technical workaround that is often overlooked when implementing lazy loading.

What you need to understand

Why does Google need a noscript tag to index my lazy loaded images?

Lazy loading involves loading images only when they become visible in the viewport. Technically, this works by replacing the src attribute with a data-src or by using the native loading="lazy" attribute.

The problem? Googlebot must execute JavaScript to discover these images. And while Google can render JS, this execution is never 100% guaranteed. If the crawler encounters resource issues, timeouts, or scripts, your images become invisible. The noscript tag with a standard img provides a safe fallback: even without JS, Googlebot sees the image.

Does the native loading="lazy" attribute pose the same issue?

The native HTML loading="lazy" attribute is theoretically better supported than third-party JavaScript solutions. Google has even confirmed that it handles this attribute correctly in most cases.

However, Mueller refers to situations where images are critical for SEO traffic. If a product page generates 60% of its traffic via Google Images, do you really want to bet on "theoretically"? The noscript adds an extra layer of security, especially with custom implementations or third-party JS libraries.

Do all my lazy loaded images need a noscript?

No. Mueller specifies: "if the images are important for traffic". A decorative icon or a secondary illustration? Not critical. The hero image of a product page or the main photo of a blog post? Absolutely critical.

The real question is: how do you identify which images actually generate traffic from Google Images? Look at your Search Console data (Performance tab, filter by search type “Image”). If certain pages receive significant image traffic, their main visuals deserve the noscript treatment.

  • Lazy loading poses an indexing risk if Googlebot cannot execute JavaScript correctly
  • The noscript tag with a standard img provides a reliable fallback for the crawler
  • Prioritize traffic-generating images instead of applying the solution universally everywhere
  • The native loading="lazy" attribute reduces the risk but does not eliminate it completely
  • Check your Search Console data to identify critical images

SEO Expert opinion

Is this recommendation consistent with field observations?

Yes, and this is indeed a problem we regularly encounter in audits. Sites that have migrated to aggressive lazy loading solutions often experience sharp drops in image traffic — 30 to 50% in a few weeks. The pattern is always the same: JS implementation without fallback, and Google sees nothing.

What’s interesting is that Mueller does not say, "just use native loading='lazy' and you’re fine." He recommends noscript as an addition. This means there are cases where even the native attribute is not sufficient — typically with heavy JS frameworks or image CDNs that inject custom lazy loading. [To be verified]: we lack public data on the exact rate of JS rendering failure by Googlebot on real sites.

What common mistakes does this statement reveal?

The classic mistake: implementing lazy loading "because PageSpeed Insights recommends it" without measuring the image SEO impact. Developers optimize for Core Web Vitals without checking if images remain indexable. The result: better LCP score, but organic traffic plummets.

Second mistake: using JavaScript libraries that completely replace src with a base64 or SVG placeholder. Googlebot technically sees an image, but not the correct one. Without a noscript containing the actual URL, indexing fails silently. You only discover it three months later while analyzing your traffic losses.

In what cases does this solution become counterproductive?

If you systematically add noscript tags on a site with 10,000 images, you are doubles your HTML. This can degrade your HTML parsing times and your First Contentful Paint. The smart approach? Apply the noscript only to images that generate measurable SEO traffic.

Another edge case: responsive images with srcset. The noscript only handles one source. If your image SEO strategy relies on indexing high-resolution variants for certain queries, the noscript fallback may point to a version that is too small. You must weigh the security of indexing against the quality of the indexed visual.

Practical impact and recommendations

What should you concretely do on an existing site?

First, audit your current implementation. Inspect the HTML rendered server-side (View Source, not DevTools) and check if your lazy loaded images have noscript tags. If not, and if you see traffic from Google Images in Search Console, you have a problem.

Next, identify priority pages: product pages, high-traffic articles, landing pages. On these pages, locate the main image (hero, featured image, product visual). This is the one that deserves the noscript treatment first. No need to do this for all secondary thumbnails.

How to correctly implement the noscript for lazy loading?

The HTML structure looks like this: you keep your img with data-src for lazy loading, and immediately after, you add a <noscript><img src="real-image.jpg" alt="..."></noscript>. Googlebot sees both, ignores the data-src if it does not render the JS, and indexes the image from the noscript.

Pay attention to the alt and title attributes: they must be identical on both tags. Otherwise, Google might treat them as two different images. And make sure that the URL in the noscript points to the full resolution version (or at least 1200px wide for a good rendering in Google Images).

How to verify that my lazy loaded images are indeed indexed?

Use the URL inspection tool in Search Console. Request indexing, then check the rendered screenshot. If your images appear, that’s a good sign. If not, test the URL with the Mobile-Friendly Test which also shows the rendering.

Second verification: search for site:yourdomain.com in Google Images. If key images are missing while they were indexed before, that’s a red flag. Compare with your Search Console data over 3 months to detect declines in image impressions.

  • Audit traffic-generating image pages via Search Console (filter "Image")
  • Add noscript tags only on images critical for SEO
  • Ensure that the alt and src attributes are identical between lazy img and noscript
  • Test the rendering with the Search Console URL inspection tool
  • Monitor the evolution of Google Images traffic after implementation
  • Document the implementation to avoid regressions during updates
The correct implementation of lazy loading with a noscript fallback requires a fine understanding of Googlebot's rendering mechanisms and a rigorous analysis of priority images. If this technical optimization seems complex or risky to deploy alone — especially on an e-commerce site with thousands of product pages — it may be relevant to seek support from a specialized SEO agency that understands these trade-offs between performance and indexing.

❓ Frequently Asked Questions

Est-ce que l'attribut loading="lazy" natif HTML5 suffit pour éviter les problèmes d'indexation ?
Dans la majorité des cas, oui. Mais pour les images critiques qui génèrent du trafic SEO significatif, Mueller recommande d'ajouter un noscript avec img classique en complément pour garantir l'indexation même si le rendering JavaScript échoue.
Dois-je ajouter un noscript sur toutes mes images lazy loaded ?
Non. Concentrez-vous sur les images principales des pages qui génèrent du trafic depuis Google Images. Une image décorative ou secondaire n'a pas besoin de ce traitement. Vérifiez vos données Search Console pour identifier les pages prioritaires.
Le noscript ne va-t-il pas ralentir mon site en doublant le HTML des images ?
Si vous l'appliquez sur des milliers d'images, oui, ça peut dégrader le parsing HTML. C'est pourquoi il faut cibler uniquement les images stratégiques. Sur 20-30 images critiques par site, l'impact performance est négligeable.
Comment savoir si mes images lazy loaded ne sont plus indexées par Google ?
Comparez vos impressions Google Images dans la Search Console sur 3 mois. Une baisse brutale après une migration lazy loading est un signal clair. Utilisez aussi site:votredomaine.com dans Google Images pour vérifier visuellement la présence de vos images clés.
Que faire si j'utilise un CDN qui gère automatiquement le lazy loading ?
Vérifiez si le CDN injecte des noscript automatiquement. Sinon, vous devrez ajouter manuellement les balises noscript dans votre HTML source avant que le CDN ne transforme les images. Certains CDN comme Cloudflare permettent de configurer ce comportement.
🏷 Related Topics
Domain Age & History Crawl & Indexing Images & Videos

🎥 From the same video 10

Other SEO insights extracted from this same Google Search Central video · duration 1h05 · published on 26/09/2018

🎥 Watch the full video on YouTube →

Related statements

💬 Comments (0)

Be the first to comment.

2000 characters remaining
🔔

Get real-time analysis of the latest Google SEO declarations

Be the first to know every time a new official Google statement drops — with full expert analysis.

No spam. Unsubscribe in one click.