Un élément fermé et un contenu invisible se comportent-ils vraiment de la même façon aux yeux d’un moteur de recherche ? C’est la question posée après la publication d’une page d’aide utilisant l’élément HTML natif <dialog> pour regrouper plusieurs questions fréquentes repliées par défaut, une alternative plus légère qu’un script JavaScript personnalisé pour ce genre d’interaction.
Ce que dit la spécification, concrètement
L’élément <dialog>, standardisé et supporté nativement par les navigateurs modernes, s’affiche ou se masque selon la présence de l’attribut booléen open. Sans cet attribut, la feuille de style par défaut du navigateur applique une règle display: none à l’élément. Cette règle n’est pas une convention du développeur, elle fait partie du comportement natif défini par la spécification HTML elle-même.
Le point essentiel à comprendre : display: none ne retire rien du document. Le contenu reste entièrement présent dans le DOM, avec son texte, sa structure, ses éventuels liens internes. Seule sa présentation visuelle change. C’est une distinction fondamentale entre « absent du document » et « non affiché visuellement », une nuance qui change tout pour l’indexation.
<dialog>
<p>Comment configurer les notifications de commande ?</p>
<p>Rendez-vous dans les paramètres du compte, section « Alertes ».</p>
</dialog>
Comment Google traite ce type de contenu
Googlebot utilise un moteur de rendu basé sur Chromium, capable d’exécuter le JavaScript et d’appliquer les feuilles de style, ce qui signifie qu’il perçoit la page à peu près comme un navigateur le ferait. Le contenu du dialog fermé est donc bien présent dans l’arborescence du document analysé, mais son état visuel, masqué par la règle native display: none, correspond exactement à la même situation qu’un texte caché volontairement par CSS pour d’autres raisons.
Or Google a toujours indiqué, dans sa documentation officielle sur le contenu masqué, traiter différemment un contenu qui s’affiche après interaction (un onglet, un accordéon) d’un contenu qui reste durablement invisible sans action de l’utilisateur : le premier cas est généralement pris en compte, le second peut voir son importance relative réduite dans l’évaluation de la page. Un dialog fermé se rapproche du second cas tant qu’aucune interaction ne l’ouvre par défaut.

Diagnostic sur le cas réel
Pour vérifier le comportement effectif sur cette page d’aide, l’outil d’inspection d’URL de Search Console a permis de récupérer le code source tel que Google le voit après rendu. Le texte des questions fréquentes apparaissait bien dans le HTML rendu, confirmant sa présence dans le DOM, mais son enrichissement en résultat de type FAQ, espéré par l’équipe, n’a jamais été appliqué par Google, probablement en raison de ce statut visuellement masqué par défaut.
Ce que le diagnostic n’a pas confirmé
Contrairement à une crainte initiale, aucune pénalité ni dévalorisation globale de la page n’a été observée : le contenu du dialog reste indexable comme texte de la page, simplement sans le traitement enrichi qu’aurait pu recevoir un contenu directement visible. La nuance est importante : ce n’est pas une exclusion, c’est une pondération différente.
Correctif appliqué
Pour les questions jugées stratégiques, le contenu du dialog a été dupliqué dans un bloc visible en permanence sur la page, le dialog restant réservé à un usage strictement interactif secondaire (confirmation d’action, message d’aide contextuel non essentiel au contenu principal).
- Contenu à forte valeur SEO : toujours visible par défaut dans le flux normal de la page.
- Contenu strictement interactif ou accessoire : peut rester dans un dialog fermé sans risque particulier.
- Ne jamais supposer qu’un mécanisme d’interface équivaut à une exclusion d’indexation, ni l’inverse.
Fermé ne veut pas dire absent. C’est la confusion la plus fréquente autour des composants d’interface repliables, quelle que soit la technologie utilisée pour les construire.
En résumé
L’élément <dialog> illustre un cas où l’intuition visuelle trompe facilement : parce qu’un contenu n’apparaît pas à l’écran par défaut, on suppose à tort qu’il échappe à l’indexation. La réalité est plus nuancée, entre présence garantie dans le DOM et traitement différencié selon la visibilité par défaut. Pour tout contenu jugé important, la prudence recommande de ne jamais le confier uniquement à un état fermé par défaut, quelle que soit la balise ou le composant utilisé pour le structurer.