What does Google say about SEO? /
Quick SEO Quiz

Test your SEO knowledge in 3 questions

Less than 30 seconds. Find out how much you really know about Google search.

🕒 ~30s 🎯 3 questions 📚 SEO Google

Official statement

Content hidden behind accordions or tabs is indexable by Google as long as it is present in the DOM, even if it is invisible. However, the main content should not be hidden behind user interaction, and the hidden content is unlikely to be used for snippets.
30:51
🎥 Source video

Extracted from a Google Search Central video

⏱ 38:29 💬 EN 📅 18/05/2020 ✂ 10 statements
Watch on YouTube (30:51) →
Other statements from this video 9
  1. 1:06 Le dynamic rendering est-il vraiment sans risque pour le SEO ?
  2. 1:38 Le dynamic rendering ralentit-il vraiment votre serveur ou améliore-t-il le crawl budget ?
  3. 2:39 Pourquoi Google traite-t-il les redirections JavaScript comme des 302 et non des 301 ?
  4. 2:39 Google fait-il vraiment une différence entre redirections 301 et 302 pour le SEO ?
  5. 3:42 Googlebot peut-il vraiment crawler les liens cachés dans un menu hamburger ?
  6. 5:46 Faut-il servir des pages allégées aux bots pour améliorer les performances ?
  7. 7:01 Comment gérer correctement les erreurs 404 dans une SPA sans risquer la désindexation ?
  8. 14:57 Pourquoi Googlebot rate-t-il vos contenus chargés par Web Workers ?
  9. 31:49 Faut-il vraiment abandonner l'implémentation manuelle du structured data ?
📅
Official statement from (5 years ago)
TL;DR

Google confirms that content hidden behind accordions or tabs is indeed indexable if it is present in the DOM, even if it is invisible on the initial display. However, critical information should never be hidden by default, and this content is unlikely to appear in snippets. In practical terms, this means that these UX patterns can be used without fear for indexing, but not for optimizing rich snippets.

What you need to understand

What does “present in the DOM” really mean?

The DOM (Document Object Model) refers to the complete structure of the HTML document as built by the browser. A piece of content can be invisible on screen but still present in the DOM — typically via CSS properties like display:none or visibility:hidden.

Google's statement settles an old SEO debate: content hidden by pure CSS is indeed indexable. What matters is that the raw HTML actually contains the text at the time of crawling, not whether it is visible on the first display. Classic accordions, Bootstrap tabs, or React toggles fall into this category — they load all the content at once and then visually hide it.

Why does Google advise against hiding the main content?

Because user experience takes precedence. If your central selling point, value proposition, or critical information is tucked away behind a click, you’re wasting the visitor’s time. Google considers this a degraded UX pattern.

From an algorithmic standpoint, we can assume — without absolute certainty — that Google might assign less semantic weight to content it has to “guess” is invisible by default. There’s no official confirmation on this, but the recommendation remains clear: only hide the non-essential, never the essential.

What does Google mean by “not used for snippets”?

Snippets (meta descriptions, rich snippets, featured snippets) are generated from areas that Google deems representative and immediately visible. Text hidden behind an accordion is unlikely to be selected for these displays, even if it’s indexed.

In practical terms? Your FAQ block in an accordion can be indexed and rank for long-tail keywords, but Google will likely favor “above the fold” content to compose the visible snippet in the SERP. If you want to optimize your CTR via snippets, expose the content directly.

  • Content hidden by pure CSS (accordions, tabs) is indexable as long as it appears in the source HTML.
  • Never hide the main content behind an interaction — reserve that for secondary or complementary sections.
  • Snippets prefer visible content on the first display, not what’s hidden in accordions.
  • Always check the rendering on Googlebot’s side via Search Console to confirm that your content is indeed present in the crawled DOM.

SEO Expert opinion

Is this statement consistent with field observations?

Overall yes, and it's actually a welcome confirmation. For years, we've observed that sites with accordion FAQs rank perfectly for the corresponding long-tail queries. A/B tests show that expanding all content or keeping it in an accordion does not significantly change indexing.

However — and this is where it gets tricky — the nuance about snippets deserves attention. It’s true that Google tends to pull from immediately visible content to generate snippets. But there are counter-examples: some FAQs structured in accordions show up in featured snippets if the Schema.org FAQPage markup is well implemented. [To check]: does the Schema offset the visual penalty, or are there exceptions on low-competition queries?

What limits should we place on this rule?

First point: this rule only applies to content present in the DOM at the time of the initial crawl. If your accordion loads content via AJAX after a user click, Googlebot might miss it depending on the rendering latency and the complexity of JavaScript. The guarantee of indexing only holds for preloaded HTML.

Second limit: we are talking about simple textual content. For heavy media (videos, embedded iframes) or complex interactive widgets hidden in tabs, indexing remains random. Google guarantees nothing for these cases — Splitt explicitly mentions “content,” not “media resources.”

Should we still favor visible content to rank?

Let’s be honest: anything that improves UX indirectly improves SEO. If your visitors have to click through five tabs to find the information, your bounce rate rises, session time decreases, and your user signals deteriorate. Algorithm or not, it’s bad for your ranking.

Google's recommendation is not trivial. It implies that even if indexing is guaranteed, the semantic weight or priority assigned to hidden content could be lower. No official confirmation on this, but the principle of caution remains valid: expose directly what matters, hide what is optional.

Attention: Don't confuse “indexable” with “performant for ranking.” Indexed content is not necessarily ranked well. If your main content is hidden, you risk losing semantic weight even if Google crawls it.

Practical impact and recommendations

How to structure accordions and tabs in a SEO-friendly way?

Load all content into the DOM on the first HTML render. No lazy-loading JavaScript for critical sections. Use pure CSS patterns (display:none + toggle via aria-expanded attribute) or frameworks that generate complete HTML server-side. React Server Components, Next.js SSR, or even good old static HTML work perfectly.

Reserve accordions and tabs for secondary or complementary content: FAQs, technical details, product specifications, additional testimonials. The hero block, value proposition, main CTAs, and selling points should remain visible by default. If a visitor has to click to understand what you offer, you have a UX issue even before an SEO problem.

What common mistakes should be absolutely avoided?

Classic mistake: hiding unique and strategic content in multiple tabs. A typical example is a product page with specs in one tab, reviews in another, detailed description in a third. Result: no section dominates semantically, and Google doesn’t know how to position you, leading to diluted content.

Another trap: using AJAX-loaded accordions. If the content only appears after an API fetch triggered by a click, Googlebot might miss it based on JavaScript rendering complexity and crawl timeouts. Even with JavaScript rendering enabled, network latency or 5xx errors on the API side can fail indexing. Always prioritize server-side rendering for indexable content.

How can I verify that my implementation is compliant?

First step: inspect the raw source code (View Source, not the DevTools inspector which shows the DOM post-JavaScript). If your content appears directly in the HTML, you’re good to go. Otherwise, it’s likely loaded via JavaScript and you need to fix that.

Second step: use the Search Console URL testing tool. Analyze the HTML rendering and the Googlebot screenshot. Compare with what a real user sees. If the hidden content is in the rendered HTML but not in the screenshot, that's normal — as long as it's in the code, it’s indexable. If the content appears neither in the HTML nor in the screenshot, it’s not crawled.

  • Load all indexable content into the DOM at the initial render — no lazy-loading AJAX for critical sections.
  • Expose the main content (hero, value, CTA) as visible by default — only hide secondary sections.
  • Use pure CSS patterns or SSR for accordions and tabs, not client-side JavaScript to load content.
  • Check Googlebot rendering via Search Console and compare raw HTML with the screenshot.
  • Implement Schema.org FAQPage markup if relevant to maximize chances of rich snippets even with accordions.
  • Test on mobile — accordions are more common there, but the same rules apply.
In summary: accordions and tabs are SEO-safe for secondary content, as long as it is present in the DOM at the time of crawling. Never hide the main content, prioritize server-side rendering, and systematically check Googlebot rendering. These technical optimizations can be complex to implement correctly, especially on modern JavaScript stacks or customized CMSs. If you want to secure your indexing without risking costly errors, consulting a specialized SEO agency can help you avoid nasty surprises and ensure implementation in line with Google standards.

❓ Frequently Asked Questions

Un contenu masqué par défaut dans un accordéon perd-il du poids SEO ?
Non, il est indexé normalement s'il est présent dans le DOM. Cependant, Google indique qu'il ne sera probablement pas utilisé pour générer les snippets dans les résultats de recherche.
Dois-je éviter complètement les accordéons pour le contenu principal ?
Google recommande de ne pas masquer le contenu principal derrière une interaction. Réserve les accordéons aux sections secondaires, FAQ ou détails complémentaires — pas au cœur de ta proposition de valeur.
Le contenu chargé en JavaScript après interaction est-il indexable ?
Oui, si présent dans le DOM. Mais attention : si le contenu apparaît uniquement après un clic via un appel AJAX différé, l'indexation n'est pas garantie selon la latence du rendu côté Googlebot.
Les onglets ont-ils le même traitement que les accordéons ?
Oui, même principe. Tant que le contenu figure dans le DOM au moment du crawl, Google peut l'indexer. La visibilité CSS n'affecte pas l'indexation, contrairement à l'absence pure et simple du contenu.
Comment vérifier que mon contenu masqué est bien présent dans le DOM ?
Inspecte le code source brut (View Source, pas l'inspecteur). Si le contenu apparaît directement dans le HTML, il est dans le DOM. Utilise aussi l'outil de test d'URL de la Search Console pour voir le rendu Googlebot.
🏷 Related Topics
Content Crawl & Indexing AI & SEO JavaScript & Technical SEO Pagination & Structure

🎥 From the same video 9

Other SEO insights extracted from this same Google Search Central video · duration 38 min · published on 18/05/2020

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