Des étiquettes que Google lit, pas vos visiteurs

Le HTML classique dit au navigateur comment afficher les choses : un titre, un paragraphe, une image. Il ne dit jamais ce que ces choses sont. Quand vous écrivez « Jaguar » dans une page, rien n'indique à la machine s'il s'agit du félin, de la marque de voitures ou d'un groupe de rock. Les données structurées comblent exactement ce trou : ce sont des lignes de code invisibles pour l'internaute, qui décrivent le contenu de la page dans un vocabulaire que les moteurs comprennent.

Ce vocabulaire commun, c'est schema.org, un projet lancé en 2011 par les grands moteurs de recherche justement pour éviter que chacun invente son propre dialecte. On y trouve des centaines de « types » : Article, Product, LocalBusiness, Recipe, Event, Person, et pour chaque type des propriétés (un prix, une date, un auteur, une note moyenne).

Vu de ma fenêtre de consultant, c'est l'un des rares chantiers SEO où l'on parle littéralement la langue du moteur. Pas d'interprétation, pas de « Google devrait comprendre » : on lui dit noir sur blanc que cette page décrit un produit à tel prix, en stock, vendu par telle boutique.

À quoi servent les balisages, concrètement

Il faut être honnête sur ce que ça fait et ce que ça ne fait pas. Baliser une page n'améliore pas directement sa position : Google l'a répété maintes fois, et c'est cohérent avec la façon dont fonctionne le référencement sur Google, du crawl au classement. Le classement se joue sur le contenu, les liens et la technique, pas sur la présence d'un morceau de JSON.

En revanche, les balisages rendent trois services bien réels :

  • Lever l'ambiguïté : le moteur sait avec certitude de quoi parle la page, ce qui l'aide à la faire remonter sur les bonnes requêtes plutôt que sur des homonymes.
  • Débloquer des résultats enrichis : étoiles d'avis, prix, fil d'Ariane, questions dépliables. C'est le gain visible, on y revient juste après.
  • Nourrir les machines qui résument le web : moteurs de réponse et assistants IA s'appuient volontiers sur des données propres et structurées quand ils citent une source.

Les résultats enrichis : le vrai gain visible

Un résultat enrichi, c'est votre lien bleu classique augmenté d'éléments visuels : une note avec des étoiles sous une fiche produit, un fil d'Ariane à la place de l'URL brute, des horaires, une image de recette. À position égale, un résultat enrichi occupe plus de place et attire davantage l'œil, donc le clic. C'est là que se joue le retour sur investissement du balisage.

Page de résultats de recherche affichée sur un écran, avec des blocs de résultats mis en évidence

Deux nuances importantes, que je répète à chaque client. Un : le balisage rend la page éligible à l'affichage enrichi, il ne le garantit jamais. Google décide seul, requête par requête, d'afficher ou non l'enrichissement. Deux : les règles bougent. Les FAQ dépliables, par exemple, ont été fortement restreintes en 2023 et n'apparaissent plus que sur une minorité de sites, essentiellement institutionnels. Baliser une FAQ reste utile pour la compréhension de la page, mais n'en attendez plus des miracles d'affichage.

Retenez la règle du jeu : vous fournissez des données propres et conformes à ce qui est visible sur la page, Google choisit ce qu'il en affiche.

Par où commencer : JSON-LD et une poignée de types

Il existe historiquement trois façons d'écrire des données structurées (microdata, RDFa, JSON-LD), mais le débat est clos depuis longtemps : Google recommande JSON-LD, et c'est de loin le plus simple à maintenir. Le principe : un petit bloc de script posé dans le code de la page, indépendant du HTML visible. Voici à quoi ressemble le balisage minimal d'un article :

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Titre de l'article",
  "author": { "@type": "Person", "name": "Thomas Berthier" },
  "datePublished": "2026-08-08"
}
</script>

Pour débuter, inutile d'apprendre les centaines de types du vocabulaire. Concentrez-vous sur ceux qui correspondent à votre site : Organization ou LocalBusiness pour la page d'accueil ou la page contact, Article pour un blog, Product avec ses avis pour une boutique, BreadcrumbList pour le fil d'Ariane. Et bonne nouvelle si vous êtes sur WordPress ou Shopify : les extensions SEO courantes génèrent déjà une bonne partie de ces blocs toutes seules. Votre travail consiste alors surtout à vérifier ce qu'elles produisent, pas à écrire du code.

Tester son balisage avant de le pousser en ligne

Un JSON-LD cassé (une virgule en trop, un guillemet mal fermé) est simplement ignoré par les moteurs. Vous pouvez donc vivre des mois avec un balisage mort sans le savoir. D'où le réflexe à prendre : tester systématiquement. L'outil de référence, c'est le test des résultats enrichis de Google : vous collez une URL ou un bout de code, il vous dit quels enrichissements la page peut obtenir et liste les erreurs ou avertissements. En complément, le validateur proposé par schema.org vérifie la syntaxe de n'importe quel balisage, même ceux que Google n'affiche pas.

Une fois le site en production, la Search Console prend le relais : elle remonte les erreurs de balisage détectées au fil du crawl, type par type. J'intègre d'ailleurs ce contrôle dans chaque audit, au même titre que l'indexation ou les redirections. Si vous voulez aller plus loin, j'ai détaillé la méthode pour faire un audit SEO technique par vous-même, données structurées comprises.

Les pièges classiques du débutant

Le premier piège, c'est de baliser des choses qui ne figurent pas sur la page : une note cinq étoiles inventée, un prix absent de la fiche, une FAQ fantôme. Les consignes de Google sont claires là-dessus, et le balisage mensonger fait partie des motifs d'action manuelle, autrement dit de pénalité. La règle est simple : le JSON-LD décrit ce que l'internaute voit, rien de plus.

Deuxième piège : tout baliser, partout, par principe. Un bloc Organization dupliqué sur cinq mille pages n'apporte rien, et du balisage incohérent peut brouiller le message plutôt que le clarifier. Mieux vaut trois types bien choisis et justes que quinze types approximatifs.

Dernier point, plus technique : si votre balisage est injecté côté navigateur par un framework, vérifiez qu'il apparaît bien dans le rendu final que Google récupère. Le sujet rejoint ce que Google voit vraiment d'un site en JavaScript : un script qui ne s'exécute pas au rendu, c'est un balisage qui n'existe pas.