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

Google recommends that images be easily accessible, even with lazy loading, through the <noscript> tag or structured data to ensure their correct indexing.
84:00
🎥 Source video

Extracted from a Google Search Central video

⏱ 1h19 💬 EN 📅 24/08/2018 ✂ 15 statements
Watch on YouTube (84:00) →
Other statements from this video 14
  1. 6:10 Faut-il vraiment supprimer les sitemaps vides de votre site ?
  2. 15:23 Le HTTPS booste-t-il vraiment vos positions Google ou est-ce une légende SEO ?
  3. 16:05 Pourquoi votre migration HTTPS risque-t-elle de perturber votre indexation Google ?
  4. 21:13 Les dates structurées influencent-elles vraiment le SEO de vos articles ?
  5. 26:12 Une mise à jour algorithmique peut-elle vraiment ne rien cibler en particulier ?
  6. 37:44 Le contenu dupliqué est-il vraiment sans danger pour votre référencement ?
  7. 60:52 Google peut-il vraiment lire les graphiques sur vos pages web ?
  8. 87:00 Les domaines expirés recyclés subissent-ils vraiment des pénalités manuelles de Google ?
  9. 105:50 Singulier ou pluriel : Google classe-t-il vraiment différemment ?
  10. 125:16 Les visites directes influencent-elles vraiment le classement Google ?
  11. 128:38 Pourquoi modifier les balises canonical et robots en JavaScript peut-il nuire à votre SEO ?
  12. 136:10 Faut-il vraiment utiliser le code 410 plutôt que le 404 pour accélérer la désindexation ?
  13. 156:05 Comment réussir une migration de domaine sans perdre son trafic organique ?
  14. 180:07 Pourquoi rediriger toutes vos pages vers la home en migration tue votre SEO ?
📅
Official statement from (7 years ago)
TL;DR

Google states that lazy loading can compromise image indexing if they are not accessible without JavaScript. The official solution involves using <noscript> tags or structured data. However, in practice, Googlebot has been executing JavaScript for years, and this recommendation conceals a rarely stated nuance: the difference between what is technically crawlable and what is actually indexed in Google Images.

What you need to understand

Why does Google emphasize the accessibility of images loaded via lazy loading?

Lazy loading loads images only when the user scrolls, which enhances performance but poses a technical problem: without active JavaScript, these images do not appear in the initial DOM. Meanwhile, some of Google's historical bots and crawlers have not always reliably rendered JavaScript.

Google therefore recommends exposing your images through a noscript tag containing the full URL of the image, or through structured data ImageObject. The goal? To ensure that Googlebot can find the image even if JavaScript rendering fails or is delayed.

What’s the difference between noscript and structured data for images?

The noscript tag provides a classic HTML fallback that Googlebot can parse even without executing JavaScript. It is the most historically compatible solution, used since the time when Google did not render JS at all.

Structured data ImageObject explicitly declares the image's URL in a structured format that Google understands natively. This approach is more semantic and modern, but requires correct implementation of schema.org to work.

Does modern Googlebot really still need these crutches?

Googlebot has been executing JavaScript since 2015, and the Chromium-based rendering engine has been further improved since then. In theory, native lazy loading (loading="lazy") or using Intersection Observer should be crawled without issues.

However, Google maintains this recommendation for two reasons: first, the crawl budget allocated for JavaScript rendering is not unlimited. Secondly, some custom JavaScript implementations fail or cause timeouts on the bot side. The noscript remains a safeguard.

  • Lazy loading improves perceived speed but can delay the discovery of images by Googlebot if misconfigured
  • The noscript tag offers a simple and universal fallback, compatible with all bots
  • Structured data ImageObject enriches the semantic understanding of the image beyond just crawling
  • Modern Googlebot executes JavaScript, but the budget allocated for rendering remains variable by site
  • An image accessible only via complex JS risks being indexed later or not at all in Google Images

SEO Expert opinion

Is this recommendation consistent with observed practices on the ground?

Yes and no. On sites with a high crawl budget (media, established e-commerce), native lazy loading without noscript works perfectly and images appear in Google Images. Google crawls and renders JavaScript, a fact observed daily in server logs.

However, on smaller or more technical sites (heavy JS frameworks, poorly optimized SPAs), there are clear delays in indexing for images loaded late. The noscript or structured data then accelerates discovery, which partially validates Mueller's recommendation. [To verify]: Google does not provide any public metric on the JavaScript rendering rate by site category.

What nuances should be added to this statement?

Mueller does not mention a crucial point: what is the time window between the initial crawl and the complete JavaScript rendering? On some sites, Googlebot revisits the page multiple times before executing JS. In the meantime, lazy-loaded images remain invisible.

Another nuance: the loading="lazy" native HTML attribute is now supported by Googlebot, and Google has confirmed that it understands it. However, if you use a custom JS library to manage lazy loading, you enter a gray area where the behavior depends on code quality and execution timing.

In what cases does this rule not really apply?

If you are using native lazy loading (standard HTML attribute), your site has a good crawl budget, and your images are not critical for SEO (decorative images, secondary illustrations), you can do without noscript without measurable impact.

On the other hand, for an e-commerce site with thousands of product listings, images critical for ranking in Google Images, or a limited crawl budget, the noscript becomes non-negotiable. The risk of partial or delayed indexing is too high.

Note: Google does not explicitly say whether an image without noscript will ever be indexed or just indexed later. This ambiguity leaves doubt for low-authority sites.

Practical impact and recommendations

What should you do to secure the indexing of your lazy-loaded images?

First option: add a noscript tag right after each lazy-loaded image, containing a classic img tag with the full URL. This is the simplest and most robust method, compatible with all bots.

Second option: implement ImageObject structured data at the page level, explicitly declaring each important image with its URL, description, and context. This approach requires more work but enhances semantic understanding by Google.

What mistakes should be avoided when implementing lazy loading?

Never load images above the fold using lazy loading. Google may consider them critical for LCP (Largest Contentful Paint), and delaying their display deteriorates UX and Core Web Vitals.

Avoid outdated or overly heavy JavaScript libraries that add latency. Prefer native loading="lazy" or modern solutions like Intersection Observer. Always test rendering with the URL Inspection tool in Search Console to verify that Googlebot sees your images correctly.

How can you check if your images are correctly indexed despite lazy loading?

Use Search Console, in the "Performance" section, filter for "Images" to monitor impressions. If your critical images do not appear after several weeks, that is a warning sign.

Inspect your pages with the "URL Tester" tool in Search Console and check the rendered screenshot. If lazy-loaded images do not appear in this screenshot, immediately add a noscript or structured data. You can also analyze server logs to verify that Googlebot is requesting the image URLs.

  • Add a noscript tag after each critical lazy-loaded image (products, editorial content)
  • Implement ImageObject structured data for SEO priority images
  • Never lazy-load images above the fold
  • Test rendering with the URL Inspection tool in Search Console
  • Monitor image impressions in Search Console after deployment
  • Prefer the native loading="lazy" attribute over heavy JS libraries
Properly implemented lazy loading enhances performance without harming SEO, provided an accessible fallback is in place. The noscript remains the safest solution for critical images, especially on sites with limited crawl budgets. These technical optimizations intersect with performance, JavaScript rendering, and indexing: a complex trifecta to balance. If your site heavily relies on Google Images or contains thousands of product pages, a thorough audit by a specialized SEO agency can clarify priorities and prevent costly visibility errors.

❓ Frequently Asked Questions

Le lazy loading natif (attribut loading="lazy") nécessite-t-il quand même un noscript ?
Non, si vous utilisez l'attribut HTML standard loading="lazy" et que votre site a un bon crawl budget. Google comprend nativement cet attribut. Le noscript reste recommandé uniquement pour les sites à faible autorité ou les images critiques.
Les données structurées ImageObject remplacent-elles le noscript ?
Pas complètement. Les données structurées enrichissent la compréhension sémantique mais ne garantissent pas que Googlebot crawle l'image si le JavaScript échoue. Le noscript reste le fallback le plus robuste.
Googlebot exécute-t-il toujours JavaScript sur toutes les pages ?
Oui techniquement, mais le timing et la profondeur du rendu varient selon le crawl budget. Sur les sites à faible autorité, le rendu JavaScript peut être retardé de plusieurs jours, voire ne jamais se produire pour certaines pages profondes.
Peut-on lazy-loader les images de la sidebar ou du footer sans risque SEO ?
Oui, si ces images ne sont pas critiques pour le contenu principal ou le ranking. Google priorise les images dans le contenu éditorial et les produits. Les images décoratives secondaires peuvent être lazy-loadées sans noscript.
Comment savoir si mes images lazy-loadées sont bien indexées dans Google Images ?
Utilisez la Search Console, section Performances avec filtre "Images". Vérifiez aussi la capture d'écran rendue dans l'outil "Tester l'URL". Si les images n'apparaissent ni dans la capture ni dans les stats après 2-3 semaines, ajoutez un fallback.
🏷 Related Topics
Domain Age & History Crawl & Indexing AI & SEO Images & Videos Web Performance

🎥 From the same video 14

Other SEO insights extracted from this same Google Search Central video · duration 1h19 · published on 24/08/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.