Official statement
Other statements from this video 38 ▾
- 1:07 Google rebascule-t-il automatiquement en mobile-first après correction des erreurs d'asymétrie ?
- 1:07 Le mobile-first indexing bloqué : combien de temps avant le déblocage automatique ?
- 3:14 Google signale des images manquantes sur mobile : faut-il ignorer ces alertes si votre version mobile est intentionnellement différente ?
- 3:14 Faut-il vraiment corriger les images manquantes détectées par Google sur mobile ?
- 4:15 Le mobile-first indexing améliore-t-il vraiment votre positionnement dans Google ?
- 4:15 Le mobile-first indexing impacte-t-il vraiment le classement de vos pages ?
- 5:17 Comment Google combine-t-il signaux site-level et page-level pour classer vos pages ?
- 5:49 Faut-il privilégier l'autorité du domaine ou l'optimisation page par page ?
- 11:16 Le duplicate content fonctionnel pénalise-t-il vraiment votre référencement ?
- 11:52 Le contenu dupliqué boilerplate est-il vraiment ignoré par Google sans pénalité ?
- 13:08 Faut-il vraiment plusieurs questions dans un FAQ schema pour obtenir un rich snippet ?
- 13:08 Faut-il vraiment abandonner le schema FAQ sur les pages produit single-question ?
- 14:14 Le schema markup sert-il vraiment à décrocher les featured snippets ?
- 15:45 Les featured snippets dépendent-ils vraiment du markup structuré ou du contenu visible ?
- 18:18 Le contenu FAQ caché en accordéon CSS est-il pénalisé par Google ?
- 19:13 Faut-il fusionner deux pages qui se cannibalisent ou les laisser coexister ?
- 19:53 Faut-il vraiment fusionner vos pages concurrentes pour améliorer leur classement ?
- 20:58 Peut-on vraiment combiner canonical et noindex sans risque pour le SEO ?
- 21:36 Peut-on vraiment combiner canonical et noindex sans risque ?
- 23:02 L'ordre exact des mots-clés dans vos contenus a-t-il vraiment un impact sur votre ranking Google ?
- 23:22 L'ordre des mots-clés dans une page influence-t-il vraiment le ranking Google ?
- 27:07 L'ordre des mots-clés dans la meta description impacte-t-il vraiment le CTR ?
- 27:22 Faut-il vraiment aligner l'ordre des mots dans la meta description sur la requête cible ?
- 29:56 Google maîtrise-t-il vraiment vos synonymes mieux que vous ?
- 30:29 Faut-il vraiment bourrer vos pages de synonymes pour ranker sur Google ?
- 31:56 Faut-il créer des pages mixtes pour couvrir tous les sens d'un mot-clé polysémique ?
- 34:00 Faut-il créer des pages spécialisées ou des pages généralistes pour ranker ?
- 35:45 Faut-il optimiser son site pour les synonymes ou Google s'en charge-t-il vraiment tout seul ?
- 37:52 Google donne-t-il vraiment 6 mois de préavis avant tout changement SEO majeur ?
- 39:55 Google annonce-t-il vraiment ses changements algorithmiques majeurs 6 mois à l'avance ?
- 43:57 Pourquoi les liens footer interlangues sont-ils indispensables sur toutes les pages ?
- 44:37 Pourquoi vos liens hreflang échouent-ils s'ils pointent vers une homepage au lieu d'une page équivalente ?
- 44:37 Pourquoi pointer vers la homepage casse-t-il votre stratégie hreflang ?
- 46:54 Sous-domaines ou sous-répertoires pour l'international : quelle architecture hreflang Google privilégie-t-il vraiment ?
- 47:44 Sous-répertoires ou sous-domaines pour un site multilingue : quelle architecture choisir ?
- 48:49 Faut-il ajouter des liens footer vers les homepages multilingues en complément du hreflang ?
- 50:23 Votre IP partagée pénalise-t-elle vraiment votre référencement ?
- 50:53 Les IP partagées en cloud peuvent-elles vraiment pénaliser votre référencement ?
Google validates the FAQ schema if the question is visible and the answer is present in the HTML, even if hidden by CSS. However, loading the answer via JavaScript on click invalidates the markup because Google cannot check its content. In practical terms: a CSS accordion passes, but an AJAX load breaks everything.
What you need to understand
Why does Google make a distinction between CSS and JavaScript?
The difference lies in the way Googlebot accesses the content. When an answer is hidden by CSS, it remains physically present in the source HTML code — Googlebot reads it effortlessly. The display:none or a collapsed accordion does not change this technical accessibility.
In contrast, if the answer loads only on click via JavaScript — typically an AJAX call fetching content from an endpoint — the initial HTML is empty. Google must then execute the JS, trigger the event, and wait for the server response. This chain of operations is not guaranteed during crawling. Even if Google executes JavaScript, it does not simulate user interactions like clicking on each accordion.
Does the FAQ schema require immediate visibility of content?
No, and this is where many go wrong. Google does not require the answer to be visible on screen at page load. What matters is its presence in the initial HTML DOM. A default collapsed accordion, hidden via CSS, remains perfectly compliant.
The only strict requirement: the question must be visible. Not hidden, not white on white, not off-screen. The user must be able to identify that there is a FAQ. The answers can await a click to visually expand — but they must exist behind the scenes from the start.
What happens if the markup is invalidated?
If Google detects that the answers are not in the initial HTML, the FAQ rich snippet disappears from the SERPs. No manual penalty, no deindexing — just a total loss of enriched visibility. You remain ranked normally but without stars, the question carousel, or extra display space.
In some cases, Google may continue to partially display the FAQ schema if some items are valid and others are not. But consistency is rarely present — it’s better not to play with fire and aim for total compliance.
- CSS Accordions: complete HTML, visually hidden answers → valid markup
- AJAX loading on click: initial HTML empty, remote content → invalid markup
- Visible question mandatory: no circumventing allowed, Google checks real visibility
- No algorithmic penalty: only loss of the rich snippet, regular ranking remains intact
- Recommended testing: Search Console checks for content presence, but does not always simulate client-side JS
SEO Expert opinion
Is this rule consistent with real-world observations?
Yes, overall. Websites that load their FAQs via AJAX — often to lighten the initial HTML weight or manage thousands of questions — do indeed lose their rich snippets. I've seen e-commerce sites lose 30% of CTR on certain informational queries after migrating to an aggressive lazy-loading system.
However, Google can sometimes be inconsistent: some sites with deferred content loading retain their FAQ snippets for weeks or even months. [To be verified] whether Google applies this rule with the same rigor across sectors or domain authority levels. Larger sites seem to benefit from a longer tolerance period before invalidation.
What nuances should be added to this statement?
The boundary between CSS and JavaScript is not always clear. If you use a modern framework like React or Vue, the initial HTML can be almost empty, even if the FAQ content is technically rendered server-side (SSR). Google crawls the final result, but the JS execution delay can pose problems.
Similarly, some CMS platforms generate complete HTML but rewrite the DOM via JS after the first render. If this rewriting temporarily removes answers from the DOM before reinjecting them, Googlebot may crawl at the wrong time and see nothing. Mueller's statement remains true in theory, but practical implementation is fraught with pitfalls.
When does this rule not really apply?
If your FAQ is not intended to generate rich snippets — for example, an internal FAQ area for customer support, without SERP optimization — the loading method matters little. You can load via AJAX, in an iframe, in a remote modal, it doesn’t matter: no direct SEO impact.
Another edge case: pages with hundreds of Q&A pairs. Loading all HTML at once can explode page weight and degrade LCP. Here, you need to balance between rich snippet and performance. Some decide to only mark the first 10-15 questions visible in HTML as schema, and leave the rest as AJAX without markup. Pragmatic, but this mechanically reduces the enriched visibility surface.
Practical impact and recommendations
What should you actually do to stay compliant?
First, audit your current implementation. Display the raw HTML source code (Ctrl+U, not the inspector) and check that each answer marked in the FAQ schema appears textually in the code. If you see empty tags or data-endpoint attributes, you are in the red zone.
Next, favor native HTML+CSS accordions. A simple <details> + <summary> does the job without JS and remains crawlable. Otherwise, a classic CSS toggle with a hidden checkbox or active class added on click — as long as the content already exists in the initial DOM, you’re good.
What mistakes should you absolutely avoid?
Never load answers via fetch(), XMLHttpRequest, or any network call triggered by user interaction. Even if your JS is ultra-fast, Googlebot will not click for you. The crawler merely takes the initial HTML and a passive JS rendering.
Avoid frameworks that mount the DOM only client-side (React without SSR, Vue in pure SPA mode). If the HTML served to the bot is a simple <div id="app"></div>, your FAQs do not exist for Google. Use SSR or static pre-rendering instead.
How can I check that my site is really compliant?
Use Google's Rich Results Test tool. Paste the URL, wait for rendering, and check that all your question-answer pairs are detected. If some are missing, it means they are not in the initial HTML or the JSON-LD schema is malformed.
Complete this with a Screaming Frog or Oncrawl crawl in "JavaScript rendering disabled" mode. If your FAQs disappear without JS, they will also disappear for a part of Google crawls. Lastly, monitor Search Console: schema validation errors often come up several days after crawling.
- Check that each FAQ answer is present in the raw HTML source code
- Favor pure CSS accordions or the native element
<details> - Ban any AJAX/fetch loading of answers on user click
- Test the URL in Google's Rich Results Test tool
- Crawl the site with JavaScript disabled to validate content presence
- Regularly monitor schema errors in Google Search Console
❓ Frequently Asked Questions
Puis-je utiliser un accordéon Bootstrap ou jQuery pour mes FAQ ?
Est-ce que Google pénalise les sites qui chargent les FAQ en AJAX ?
Le contenu en display:none est-il considéré comme du cloaking ?
Faut-il marquer toutes les FAQ en schema ou seulement celles visibles au-dessus de la ligne de flottaison ?
Est-ce que le FAQ schema fonctionne avec du contenu rendu côté serveur en React SSR ?
🎥 From the same video 38
Other SEO insights extracted from this same Google Search Central video · duration 52 min · published on 14/05/2020
🎥 Watch the full video on YouTube →
💬 Comments (0)
Be the first to comment.