Le blog

Technique6 min de lecture

Les données structurées qui comptent vraiment pour être cité par une IA

Sur la trentaine de types schema.org utilisables, cinq portent l'essentiel de l'effet et le reste est du décor. Lesquels poser, dans quel ordre, et la règle de validité qui fait tomber la moitié des balisages que nous auditons.

LevuppL'équipe

Cinq types de données structurées font l'essentiel du travail pour un moteur génératif : Organization ou LocalBusiness pour identifier l'entreprise, WebSite pour rattacher les pages, BreadcrumbList pour situer chaque page dans le site, FAQPage pour livrer des couples question-réponse déjà séparés, et Article ou BlogPosting pour dater et signer un texte. Le reste dépend du métier. Un balisage qui décrit un contenu absent de la page est une faute, pas une optimisation.

Pourquoi le balisage compte davantage qu'avant

Un moteur de recherche classique n'a jamais eu besoin des données structurées pour comprendre une page. Elles servaient à obtenir un affichage enrichi dans les résultats : des étoiles, un fil d'Ariane, un prix.

Pour un moteur génératif, l'usage est différent. Il doit extraire des faits et les attribuer. Le JSON-LD lui livre ces faits déjà séparés, déjà typés, sans avoir à les deviner dans la mise en page. Une adresse écrite dans un pied de page se lit avec une certaine probabilité. La même adresse dans un nœud PostalAddress se lit avec certitude.

C'est aussi ce qui permet de dire à un moteur que deux pages parlent de la même entreprise. Sans identifiant partagé, chaque page décrit une organisation, et le balisage finit par affirmer qu'il existe autant d'entreprises que de pages.

Les cinq types à poser

Organization, ou son sous-type métier

Le nœud qui décrit l'entreprise : nom, forme juridique, adresse, téléphone, date de création, numéro de TVA, logo, zone servie.

Pour une entreprise avec des bureaux, préférez un sous-type de LocalBusiness à Organization seul. ProfessionalService convient à une agence ou un cabinet, LegalService à un cabinet d'avocats, Store à un commerce. Le sous-type autorise l'adresse postale et les horaires, ce que Organization ne prévoit pas au même niveau.

Un point qui fait la différence : foundingDate, vatID et un numéro d'immatriculation. Ce sont des données vérifiables par un tiers, et c'est exactement ce qu'un moteur cherche quand il doit décider si une entreprise existe vraiment.

WebSite

Court et souvent oublié. Il déclare le site lui-même, sa langue, son éditeur. Son intérêt est de servir de point de rattachement : chaque page peut ensuite dire qu'elle en fait partie plutôt que de redéclarer l'éditeur.

BreadcrumbList

Le fil d'Ariane. Il dit où se situe une page dans la hiérarchie du site. C'est un signal de structure peu coûteux, et il aide un moteur à comprendre qu'une page d'article appartient à un blog qui appartient à un site d'entreprise.

Une règle : les positions se calculent, elles ne se saisissent pas. Deux séries de numéros tenues à la main se décalent à la première entrée insérée au milieu.

FAQPage

Le plus utile de tous pour un moteur génératif, parce qu'il livre des couples question-réponse déjà découpés, citables tels quels.

Sa condition de validité n'est pas négociable : chaque question et chaque réponse doivent être visibles dans la page. Un balisage qui décrit un contenu absent est du contenu masqué, et c'est sanctionné. Si vos réponses sont dans un accordéon, elles doivent rester dans le HTML servi, volet ouvert ou fermé. C'est la raison pour laquelle un accordéon de FAQ ne doit jamais utiliser l'attribut hidden ni un montage conditionnel côté client.

Deuxième règle, moins connue : chaque réponse doit être autonome. « Voir la question précédente » ne veut rien dire dans une réponse extraite. Les répétitions apparentes entre deux réponses d'une même FAQ ne sont pas des maladresses, ce sont des conditions d'extraction.

Article ou BlogPosting

Pour tout texte daté et signé. Il porte le titre, la description, l'auteur, la date de publication et celle de modification, la langue, l'illustration.

dateModified mérite une attention particulière. En son absence, le moteur devine, et il devine mal. En sa présence, il faut qu'elle soit vraie : un site qui remet la date du jour sur toutes ses pages à chaque déploiement fabrique un signal de fraîcheur faux, et c'est le genre de chose qui se détecte.

Ce qui dépend du métier

Au-delà des cinq, quelques types portent un vrai effet dans leur contexte.

  • `Service` pour une page d'offre, rattachée par identifiant à l'entreprise qui la rend.
  • `Product` et `Offer` pour une fiche produit e-commerce, avec la disponibilité et la devise.
  • `Review` et `AggregateRating` pour les avis, à condition qu'ils soient réels et affichés. C'est le type le plus contrôlé et le plus sanctionné.
  • `Event` pour un agenda.
  • `HowTo` pour une procédure numérotée.
  • `JobPosting` pour une offre d'emploi.

Ce qui ne sert à rien

Baliser ce qui n'est pas dans la page. Premier motif de pénalité, et de loin.

`keywords`. Ignoré depuis vingt ans, aussi bien en balise meta qu'en propriété schema.

Empiler dix types sur une page. Un balisage qui décrit tout ne hiérarchise rien. Trois nœuds justes valent mieux que douze approximatifs.

Un `AggregateRating` sans avis affichés. C'est le cas le plus fréquent de balisage sanctionné sur les sites de PME. La note s'affiche quelques semaines, puis disparaît, et parfois le site avec.

La forme à adopter

Le JSON-LD, dans une balise script du HTML servi, plutôt que le microdata dans les attributs. Trois raisons : il se relit, il ne se casse pas quand on retouche la mise en page, et il se produit à partir des mêmes données que la page.

Un seul bloc @graph plutôt que cinq balises séparées. Les nœuds peuvent alors se référencer par identifiant au lieu de se recopier les uns dans les autres.

Un piège technique qui coûte cher et se voit rarement en relecture : la séquence de fermeture de balise script peut apparaître dans une valeur, par exemple dans une réponse de FAQ qui parle de balises HTML. Elle fermerait la balise au milieu du JSON, et le navigateur interpréterait la suite comme du HTML. Les chevrons doivent être échappés à la sérialisation.

Enfin, le balisage doit être dans le HTML servi. Un JSON-LD injecté après l'hydratation arrive trop tard pour une partie des robots qui le lisent.

Comment vérifier

Trois outils, dans cet ordre.

  1. Le test des résultats enrichis de Google, qui dit ce que Google comprend et ce qu'il refuse.
  2. Le validateur de schema.org, plus strict et plus bavard sur les types mal formés.
  3. Une lecture humaine du JSON produit, page par page, la première fois. Les deux outils précédents valident la syntaxe, pas la véracité.

Questions fréquentes

Le balisage fait-il vraiment remonter dans les résultats ?

Pas directement. Il n'y a pas de bonus de classement pour un JSON-LD correct. Ce qu'il fait, c'est rendre la page éligible à des affichages enrichis, et rendre ses faits lisibles sans ambiguïté. L'effet sur un moteur génératif passe par la seconde propriété, pas par la première.

Faut-il baliser toutes les pages du site ?

Non. Les pages de service, les articles, les fiches produit et les pages d'entreprise en profitent. Une page de remerciement ou une page de résultats de recherche interne, non. Un balisage posé partout par principe finit par décrire des choses fausses sur les pages qui n'entrent dans aucun type.

Un plugin suffit-il ?

Il produit du balisage valide, ce qui n'est pas la même chose que du balisage juste. Les défauts que nous rencontrons le plus souvent sur des sites équipés d'un plugin : plusieurs nœuds Organization concurrents sur la même page, un AggregateRating sans avis, et un dateModified remis à jour automatiquement sans que rien n'ait changé.

Que faire si mon site est rendu côté client ?

Servez le JSON-LD dans le HTML initial, pas après l'hydratation. Sur une application React classique, cela veut dire un rendu côté serveur ou une génération statique. C'est un des points où l'architecture décide de ce qui est possible, et il est traité dans notre article sur ce que Next.js règle en performance et en indexabilité.

En résumé

Posez les cinq types de base correctement, ajoutez celui de votre métier, vérifiez que tout ce que vous déclarez est visible, et arrêtez-vous là. Le balisage est nécessaire et il n'est pas suffisant : une page mal écrite parfaitement balisée reste une page mal écrite. La partie qui fait la différence est décrite dans notre article sur l'écriture des pages citables.

Écrit par Levupp, l'équipeTechnique · Référencement

On construit le vôtre ?

Racontez-nous ce que vous avez en tête,on vous dit ce qu'on en ferait.

Démarrer un projet