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

For image search indexing, use appropriate image tags instead of CSS background images, which may not be considered.
43:59
🎥 Source video

Extracted from a Google Search Central video

⏱ 1h21 💬 EN 📅 09/09/2016 ✂ 11 statements
Watch on YouTube (43:59) →
Other statements from this video 10
  1. 4:20 Faut-il vraiment mettre à jour les dates de modification dans son sitemap XML ?
  2. 9:31 Pourquoi Google privilégie-t-il systématiquement le rel=canonical pour choisir la version indexée de vos pages ?
  3. 10:09 Panda ignore-t-il vraiment les backlinks dans son évaluation qualité ?
  4. 12:19 Faut-il vraiment figer sa structure d'URL pour éviter les pertes de ranking ?
  5. 19:54 Les erreurs 404 pénalisent-elles vraiment le référencement de votre site ?
  6. 20:25 Faut-il vraiment choisir entre un code 404 et un code 410 pour le SEO ?
  7. 43:27 Les pages multi-locales sont-elles vraiment considérées comme du spam par Google ?
  8. 59:03 Faut-il encore utiliser le fichier disavow en Search Console pour désavouer les mauvais liens ?
  9. 63:58 Faut-il bloquer vos Sitemap XML redondants via robots.txt pour éviter les erreurs ?
  10. 74:55 Les interstitiels tuent-ils vraiment votre classement Google ?
📅
Official statement from (9 years ago)
TL;DR

Google states that CSS background images may not be indexed in Google Images and recommends using traditional <img> tags. For SEO, this means reevaluating the visual architecture of key pages where visuals carry meaning. The nuance? Not all visuals deserve to be indexed, and some CSS background images might still be crawled.

What you need to understand

Why does Google distinguish between tags and CSS backgrounds?

Search engines treat semantic HTML differently than purely stylistic CSS rules. An tag contains exploitable attributes: alt, title, dimensions, srcset. It is part of the DOM as a content element that crawlers can immediately identify.

The CSS background, on the other hand, lives in style sheets. Google must first load the CSS, calculate the visual rendering, and then detect that an image URL is hidden there. This process consumes more crawl resources and provides no structured metadata. The result: indexing in Google Images becomes unpredictable.

When does this limitation really become a problem?

If your decorative images (textures, repetitive patterns, solid colors) are in CSS backgrounds, there’s no issue. They are not meant to rank in Google Images. The problem arises when meaningful visuals — product photos, infographics, editorial illustrations — are coded as backgrounds.

Typically, some WordPress themes or JS frameworks use divs with background-image to handle responsive design or lazy loading. If these images are the main content of the page, you lose an acquisition lever through image search. Google cannot index them correctly or extract their semantic context.

What technically happens during crawling and indexing?

Googlebot prioritizes loading HTML. The tags are explicitly included, with their attributes. The crawler can immediately extract the URL, download the file, analyze its visual content, and correlate it with the textual context of the page.

For a CSS background, Googlebot must wait for JavaScript rendering if the CSS is loaded asynchronously, parse the style rules, identify image URLs in the background or background-image properties, and then decide if they deserve to be crawled. This process slows down indexing and introduces points of failure: if the CSS takes too long to load, if the crawl budget is limited, the image may simply be ignored.

  • tags: nearly systematic indexing in Google Images if the content is relevant and the file is accessible
  • CSS Background: indexing not guaranteed, dependent on crawl budget, JS rendering, and algorithmic prioritization
  • Alt and title attributes: nonexistent on backgrounds, depriving Google of textual signals to understand the image's subject
  • Native lazy loading: works on tags, much less effectively on backgrounds loaded via Intersection Observer or third-party JS libraries

SEO Expert opinion

Is this statement consistent with field observations?

Yes, overall. Tests conducted on e-commerce sites show that product listings using divs with background-images for their main visuals see their Google Images traffic plummet compared to sites that use traditional tags. The correlation is clear.

However, [To be verified]: some large sites (media, UGC platforms) display CSS backgrounds that end up indexed in Google Images. Probably because their overall authority and high crawl budget allow Google to go further in rendering. Don't count on this if your site does not have that scale.

What nuances should be applied to this recommendation?

Not all images need to be indexed. Decorative images, repeated logos, UI icons have no interest in cluttering Google Images. For these elements, CSS background remains a relevant choice: lightweight, maintainable, without semantic overload.

The real question: does your image carry editorial or commercial meaning? If yes, switch it to an tag. If it only serves as visual support for the layout, leave it in CSS. Some practitioners claim that Google now indexes backgrounds better due to JS rendering. Sure, but why take the risk when an tag guarantees the result?

When does this rule not strictly apply?

Progressive Web Apps and some SPAs (Single Page Applications) generate the DOM on the client side. Images can be injected via JS into tags or as backgrounds. If SSR (Server-Side Rendering) or static pre-rendering is well configured, Google sees the tags in the initial HTML, so no problem.

In contrast, if your JS framework loads images only after client hydration, even an tag might be ignored if the crawl budget runs out first. In this case, the problem lies not in the tag versus background choice, but in the overall technical architecture. [To be verified] in your own logs: test actual indexing via Search Console, not theoretical promises.

Warning: some A/B testing or personalization tools (Optimizely, VWO) dynamically replace with CSS backgrounds for performance reasons. Ensure these transformations do not apply to crawlers via user-agent or rendering directives.

Practical impact and recommendations

What should be prioritized for auditing on your site?

Start by identifying all strategic images: product visuals, blog post photos, infographics, galleries. Use DevTools to locate those coded as background-image or background in the CSS. A crawler like Screaming Frog can extract image URLs from tags, but often misses those hidden in styles.

Next, cross-check with Google Search Console, Images section. If your strategic visuals do not appear in indexing reports, they are likely in CSS backgrounds or blocked by something else (robots.txt, poorly implemented lazy loading). Compare the volume of indexed images with the actual volume of visual content on the site.

How to technically migrate CSS backgrounds to tags?

For traditional CMS (WordPress, Drupal), replace styled divs with tags including alt, width, height, and optionally srcset for responsiveness. If you are using builders (Elementor, Divi), check the widgets: some offer a "background image" option that generates CSS, while others insert a real tag.

For JS frameworks, ensure the Image components use tags in the final rendering. Next.js, Nuxt, Gatsby have optimized components that generate the correct HTML. Check the source code post-render, not just the React/Vue code. A poorly configured SSR can produce empty divs on the server side.

What mistakes should be avoided during this migration?

Do not abruptly remove all CSS backgrounds. Decorative images (patterns, textures) should remain in CSS to avoid unnecessarily bloating the DOM. An tag without a relevant alt attribute is useless: Google needs this text signal to understand the image's subject.

Another pitfall: adding tags without optimizing file sizes. If you convert 50 CSS backgrounds to , you risk degrading Core Web Vitals (LCP, CLS) if the images are not compressed, lazy-loaded, or served in WebP/AVIF. Test performance before and after migration.

  • Audit strategic images currently coded as CSS backgrounds
  • Check for their presence (or absence) in Google Search Console > Images
  • Replace meaningful backgrounds with tags that have alt, width, and height attributes
  • Keep CSS backgrounds for purely decorative elements
  • Optimize the weight and format of new images (WebP, compression, srcset)
  • Test the impact on Core Web Vitals (LCP, CLS) after migration
Migrating CSS backgrounds to tags significantly improves indexing in Google Images, but requires a selective approach: only convert visuals with high editorial or commercial value. This optimization might seem technical for those not used to manipulating the DOM or stylesheets. If your site relies on a complex JS framework or a tricky builder, entrusting this migration to a specialized SEO agency can help prevent mistakes (degraded CLS, poorly lazy-loaded images, generic alt attributes) and ensure a measurable increase in image traffic without technical issues.

❓ Frequently Asked Questions

Les images de fond CSS sont-elles complètement invisibles pour Google ?
Non, Google peut les détecter via le rendu JavaScript, mais leur indexation dans Google Images n'est pas garantie. Elles manquent de métadonnées (alt, title) et consomment plus de budget crawl.
Faut-il convertir tous les backgrounds CSS en balises <img> ?
Non, seulement ceux qui portent du sens éditorial ou commercial (produits, articles, infographies). Les éléments décoratifs (textures, motifs) restent mieux gérés en CSS.
Une balise <img> sans attribut alt est-elle indexée dans Google Images ?
Elle peut l'être, mais Google manque de contexte textuel pour la classer correctement. L'attribut alt reste un signal fort pour le ranking dans la recherche d'images.
Le lazy loading fonctionne-t-il aussi bien sur les backgrounds CSS que sur les <img> ?
Le lazy loading natif (loading="lazy") s'applique uniquement aux balises <img>. Pour les backgrounds CSS, il faut passer par JavaScript (Intersection Observer), moins fiable côté crawl.
Comment vérifier si mes images sont indexées dans Google Images ?
Utilisez Google Search Console, section Images, pour voir le volume d'images indexées. Comparez avec le nombre réel de visuels stratégiques sur votre site pour détecter les écarts.
🏷 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 1h21 · published on 09/09/2016

🎥 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.