# Données structurées : ajouter un balisage schema JSON-LD que Google utilise

> Le balisage schema est un bloc JSON-LD qui décrit ce qu'est une page : un article, un produit, un commerce. Choisissez le type le plus précis, remplissez les propriétés que Google exige, gardez chaque valeur identique à ce que voit le visiteur, puis testez l'URL en ligne avec le test des résultats enrichis. Un balisage valide rend la page éligible aux résultats enrichis ; Google ne les garantit jamais.

Source : https://tonaily.com/fr/guides/schema-markup-guide/
Mis à jour le : 2026-11-06
Vérifié avec les sources au : 2026-11-06

## Que sont les données structurées, et à quoi servent-elles vraiment ?

Les données structurées, ou balisage schema, sont un bloc de code, le plus souvent en JSON-LD, qui dit aux moteurs de recherche ce qu'est une page dans un vocabulaire commun : cette page est un produit, celle-ci un article signé par telle personne, celle-là une boulangerie ouverte jusqu'à 19 h.

La définition de Google tient en une phrase : « Structured data is a standardized format for providing information about a page and classifying the page content », soit un format standardisé pour donner des informations sur une page et classer son contenu ([introduction aux données structurées](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data)). Le vocabulaire vient de [schema.org](https://schema.org/docs/gs.html), un ensemble partagé de types et de propriétés. Le type le plus large est `Thing` ; les types plus précis héritent des propriétés de leurs parents. Schema.org prend l'exemple de `LocalBusiness`, à la fois un `Place` et une `Organization` plus spécifiques.

Qu'est-ce que cela vous apporte ? Surtout l'éligibilité aux **résultats enrichis** : les étoiles, prix, fils d'Ariane et logos qui font ressortir un résultat. La page d'introduction de Google cite des études de cas, comme Rotten Tomatoes, qui a mesuré un taux de clic 25 % plus élevé sur les pages dotées de données structurées, sur 100 000 pages. Ce sont des exemples choisis par Google, pas une promesse pour votre site.

Ce guide traite de la mécanique : quel type choisir, quoi remplir, où le placer, comment le tester. Si votre question est de savoir si le balisage aide à être cité par ChatGPT ou les AI Overviews, lisez plutôt [Schema.org et recherche IA](/fr/guides/schema-markup-ai-search/) : la réponse courte, c'est qu'aucun balisage spécial n'est exigé.

## Quel format choisir : JSON-LD, Microdata ou RDFa ?

Le JSON-LD. Google accepte les trois formats, mais écrit : « In general, Google recommends using JSON-LD for structured data if your site's setup allows it. » Autrement dit, il recommande le JSON-LD dès que votre site le permet.

La raison pratique : le JSON-LD vit dans sa propre balise `<script type="application/ld+json">`, au lieu d'être mêlé au HTML comme Microdata ou RDFa. Vous pouvez l'ajouter, le modifier ou le retirer sans toucher à la mise en page. Google précise que les trois formats se valent quand le balisage est valide : inutile de réécrire dans l'urgence des Microdata qui fonctionnent.

## Quels résultats enrichis chaque type peut-il débloquer ?

Chaque type correspond à une fonctionnalité de la [galerie de recherche](https://developers.google.com/search/docs/appearance/structured-data/search-gallery) de Google, qui en listait 25 lors de notre vérification. Voici les cinq qui couvrent l'essentiel d'un site de PME.

| Type | Où le placer | Ce que Google peut afficher | Exigé par Google |
|---|---|---|---|
| Article, NewsArticle, BlogPosting | Chaque article | Un meilleur titre, des images et des dates | Rien |
| Product | Une page consacrée à un seul produit | Notes, avis, prix, disponibilité | `name`, plus `review`, `aggregateRating` ou `offers` |
| LocalBusiness (sous-type le plus précis) | La page de chaque établissement | Fiche de connaissances : horaires, services, itinéraire | `name`, `address` |
| Organization | Accueil ou page « À propos » | Le logo affiché, les informations administratives, la désambiguïsation | Rien |
| BreadcrumbList | Pages internes | La position de la page dans le site, sur ordinateur | `itemListElement` ; chaque `ListItem` demande `name`, `position` et `item` |

La colonne « exigé » compte plus qu'elle n'en a l'air. Les [consignes générales](https://developers.google.com/search/docs/appearance/structured-data/sd-policies) sont nettes : un élément sans ses propriétés obligatoires n'est pas éligible aux résultats enrichis. Les propriétés recommandées améliorent la qualité : « The more recommended properties that you provide, the higher quality the result is to users. » L'introduction de Google ajoute une nuance utile : mieux vaut moins de propriétés recommandées, mais complètes et exactes, que beaucoup de propriétés approximatives.

FAQPage manque volontairement au tableau. Les [mises à jour de la documentation](https://developers.google.com/search/updates) indiquent que le résultat enrichi FAQ « will no longer appear in Google Search starting May 7, 2026 » : il n'apparaît plus depuis le 7 mai 2026. Le [générateur de schema FAQ](/fr/resources/tools/faq-schema-generator/) produit toujours un FAQPage valide pour une vraie section de questions-réponses, mais n'en attendez aucun changement dans Google.

## Comment écrire le balisage d'un article ?

Avec un bloc `Article`, `NewsArticle` ou `BlogPosting` dont le titre, l'auteur, l'image et les dates sont ceux imprimés sur la page. La [page Article](https://developers.google.com/search/docs/appearance/structured-data/article) de Google précise qu'aucune propriété n'est obligatoire : ajoutez celles qui s'appliquent à votre contenu.

```json title="BlogPosting : page d'article"
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Choisir ses chaussures de randonnée pour terrain humide",
  "image": [
    "https://www.example.fr/img/chaussures-16x9.jpg",
    "https://www.example.fr/img/chaussures-4x3.jpg",
    "https://www.example.fr/img/chaussures-1x1.jpg"
  ],
  "datePublished": "2026-10-12T09:00:00+02:00",
  "dateModified": "2026-10-20T14:30:00+02:00",
  "author": [{
    "@type": "Person",
    "name": "Marie Dubois",
    "url": "https://www.example.fr/equipe/marie-dubois/"
  }]
}
```

Ce que Google recommande pour chaque propriété :

- **`headline`** : un titre concis, car les titres longs peuvent être tronqués sur certains appareils.
- **`image`** : des images en rapport avec l'article, « rather than logos or captions » (pas des logos ni des légendes), idéalement en plusieurs versions haute résolution aux formats 16x9, 4x3 et 1x1.
- **`datePublished` et `dateModified`** : au format ISO 8601, avec le fuseau horaire.
- **`author`** : chaque auteur affiché sur la page doit aussi figurer dans le balisage, avec `@type` et une `url` vers une page qui le présente.

Le [générateur de schema markup](/fr/resources/tools/schema-markup-generator/) a un mode Article qui construit ce bloc à partir d'un formulaire : vous saisissez les valeurs et copiez le résultat.

## Comment baliser une fiche produit ?

Sachez d'abord quelle expérience Google vous visez. L'[introduction aux données Product](https://developers.google.com/search/docs/appearance/structured-data/product) en distingue deux :

- **Les extraits de produit** (product snippets), pour les pages où l'on ne peut pas acheter directement le produit : un test, un comparatif, le catalogue d'un fabricant.
- **Les fiches marchandes** (merchant listings), pour les pages où le client peut vous acheter le produit, avec leurs propres exigences, plus strictes.

Pour un extrait de produit, les [exigences](https://developers.google.com/search/docs/appearance/structured-data/product-snippet) sont légères : un `name`, plus l'une des propriétés `review`, `aggregateRating` ou `offers`. Dans une `Offer`, `price` est obligatoire ; `priceCurrency` est recommandé pour les extraits et obligatoire pour les fiches marchandes : mettez-le dans tous les cas.

```json title="Product avec une offre"
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Chaussure de randonnée imperméable Trail 40",
  "image": "https://www.example.fr/img/trail-40.jpg",
  "description": "Chaussure de randonnée en cuir avec membrane imperméable, du 36 au 47.",
  "offers": {
    "@type": "Offer",
    "price": "149.00",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  }
}
```

Deux règles piègent beaucoup de boutiques. La première :

```quote source="Google Search Central, Product snippet structured data" href="https://developers.google.com/search/docs/appearance/structured-data/product-snippet"
We recommend focusing on adding markup to product pages instead of pages that list products or a category of products.
```

En clair : balisez les fiches produit, pas les pages qui listent des produits ou une catégorie. La même page précise que les résultats enrichis produit ne concernent que les pages centrées sur un seul produit, ou sur les variantes d'un même produit. La seconde : la page de Google sur le [balisage généré en JavaScript](https://developers.google.com/search/docs/appearance/structured-data/generate-structured-data-with-javascript) prévient qu'un balisage produit généré dynamiquement peut rendre les explorations Shopping moins fréquentes et moins fiables. Pour les produits, sortez le JSON-LD dans le HTML du serveur quand c'est possible. Google ajoute que fournir à la fois des données structurées et un flux Merchant Center « maximizes your eligibility to experiences ».

## LocalBusiness ou Organization : lequel mettre sur votre site ?

`LocalBusiness`, dans son sous-type le plus précis, pour un commerce où les clients peuvent se rendre. `Organization`, ou un sous-type comme `OnlineStore`, pour une entreprise sans lieu ouvert au public. Les deux ne s'opposent pas : pour schema.org, un `LocalBusiness` est une sorte d'`Organization`.

**LocalBusiness.** La [page Local business](https://developers.google.com/search/docs/appearance/structured-data/local-business) de Google n'exige que `name` et `address`, et recommande notamment `geo`, `openingHoursSpecification`, `telephone`, `url` et `priceRange`. Elle demande d'utiliser le sous-type le plus précis possible, comme `Restaurant`, `DaySpa` ou `HealthClub`. Un piège : Google ne recommande `review` et `aggregateRating` ici que « for sites that capture reviews about other local businesses », c'est-à-dire pour les sites qui recueillent des avis sur d'autres commerces. Baliser votre propre note sur la page de votre propre commerce n'est pas l'usage prévu.

```json title="LocalBusiness : page d'établissement"
{
  "@context": "https://schema.org",
  "@type": "Bakery",
  "name": "Boulangerie des Halles",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "12 rue des Halles",
    "addressLocality": "Nantes",
    "postalCode": "44000",
    "addressCountry": "FR"
  },
  "telephone": "+33 2 40 00 00 00",
  "url": "https://www.example.fr/nantes/",
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
    "opens": "07:00",
    "closes": "19:00"
  }]
}
```

Notez que les jours restent en anglais : ce sont des valeurs du vocabulaire schema.org, pas du texte affiché.

**Organization.** La [page Organization](https://developers.google.com/search/docs/appearance/structured-data/organization) recommande de la placer sur la page d'accueil ou sur une page unique qui présente l'organisation. Aucune propriété n'est obligatoire ; Google conseille d'en ajouter autant que possible parmi celles qui s'appliquent. Elle peut influencer le logo affiché dans les résultats, et ce logo doit mesurer au moins 112x112 px, à une URL explorable et indexable. Pour un exemple Organization commenté, avec `@id` et `sameAs`, voyez le guide [Schema.org et recherche IA](/fr/guides/schema-markup-ai-search/) plutôt qu'une seconde copie ici.

## Comment ajouter le balisage du fil d'Ariane ?

Ajoutez un `BreadcrumbList` dont les éléments suivent le fil d'Ariane que voit le visiteur, du niveau le plus haut jusqu'à la page courante. Google affiche cette fonctionnalité sur ordinateur.

```json title="BreadcrumbList"
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Guides", "item": "https://www.example.fr/guides/" },
    { "@type": "ListItem", "position": 2, "name": "Randonnée", "item": "https://www.example.fr/guides/randonnee/" },
    { "@type": "ListItem", "position": 3, "name": "Chaussures pour terrain humide" }
  ]
}
```

Le dernier élément peut se passer d'`item` : Google prend alors l'URL de la page elle-même. Une page accessible par plusieurs chemins peut porter plusieurs fils. Et le fil doit refléter la navigation, pas vos dossiers :

```quote source="Google Search Central, Breadcrumb structured data" href="https://developers.google.com/search/docs/appearance/structured-data/breadcrumb"
We recommend providing breadcrumbs that represent a typical user path to a page, instead of mirroring the URL structure.
```

Google recommande donc un fil qui représente le parcours type d'un visiteur, plutôt qu'un calque de l'arborescence des URL.

## Où placer exactement le JSON-LD ?

Sur la page qu'il décrit, dans une balise `<script type="application/ld+json">`, dans le `<head>` ou le `<body>`. Les consignes de Google sont claires sur l'emplacement : « Put the structured data on the page that it describes, unless specified otherwise by the documentation. »

Quelques cas concrets :

1. **Site codé à la main ou générateur statique.** Placez la balise dans le gabarit de page et remplissez-la avec les mêmes variables que le contenu visible (titre, date, prix). Le balisage ne peut alors pas diverger de la page.
2. **WordPress, Shopify, Wix.** Beaucoup de thèmes et d'extensions SEO produisent déjà du JSON-LD. Regardez le code source avant d'ajouter votre bloc, sinon vous risquez deux `Organization` ou deux `Product` contradictoires.
3. **Plusieurs types sur une page.** Google comprend plusieurs éléments sur une page, qu'ils soient imbriqués ou déclarés un par un. Plusieurs balises script ou un seul tableau `@graph` : les deux fonctionnent.
4. **Gestionnaire de balises et JavaScript.** Google écrit qu'il sait traiter les données structurées présentes dans le DOM au moment du rendu. Cela marche, avec la réserve Shopping vue plus haut pour les produits.

```tonaily
Le **[générateur de schema markup](/fr/resources/tools/schema-markup-generator/)** gratuit produit le JSON-LD pour Article, Product, LocalBusiness, Organization, BreadcrumbList et FAQPage, signale au fil de la saisie les champs attendus par Google et vous donne la balise script prête à coller. Tout se passe dans votre navigateur, sans compte.
```

## Comment tester et déboguer votre balisage ?

Avec trois outils, dans cet ordre : le test des résultats enrichis avant et après la mise en ligne, l'outil d'inspection d'URL une fois la page publiée, puis les rapports de résultats enrichis de Search Console dans la durée.

- **Le test des résultats enrichis.** Google le décrit comme « an easy and useful tool for validating your structured data ». Testez l'URL en ligne plutôt qu'un extrait collé : pour un balisage généré en JavaScript, Google recommande la saisie par URL plutôt que par code, qui a des limites comme les restrictions CORS. L'aperçu reste indicatif : Google prévient que l'affichage réel dans les résultats peut différer.
- **L'outil d'inspection d'URL** de Search Console. Google suggère de s'en servir pour confirmer qu'il a bien trouvé vos données structurées sur la page indexée.
- **Les rapports d'état des résultats enrichis.** Chaque type pris en charge a son rapport, qui compte des éléments et non des pages. Un élément valide n'a aucun problème critique et peut apparaître comme résultat enrichi ; un élément non valide a au moins un problème critique qui l'en empêche ([Aide Search Console](https://support.google.com/webmasters/answer/7552505)). Corrigez la source, pas une page isolée : l'aide rappelle que les correctifs doivent être appliqués au code source du site pour régler le problème durablement.
- **L'[outil de validation du balisage Schema](https://validator.schema.org/).** Géré par schema.org, il vérifie le balisage par rapport au vocabulaire lui-même : utile pour les types qui n'ont pas de résultat enrichi chez Google.

Quand un test échoue, les coupables habituels sont une propriété obligatoire manquante, une erreur de syntaxe JSON (une virgule en trop, un guillemet oublié), une image bloquée à l'exploration ou une date hors du format ISO 8601.

## Quelles erreurs font ignorer votre balisage ?

Celles que Google détaille dans ses consignes générales : un balisage qui ne correspond pas à la page, un balisage sur des pages que Googlebot ne peut pas atteindre, des propriétés obligatoires absentes.

```quote source="Google Search Central, General structured data guidelines" href="https://developers.google.com/search/docs/appearance/structured-data/sd-policies"
Your structured data must be a true representation of the page content.
```

Vos données structurées doivent être une représentation fidèle du contenu de la page. Enfreindre les consignes de qualité coûte peu, mais coûte : une action manuelle sur les données structurées fait perdre à la page son éligibilité aux résultats enrichis, sans toucher à son classement dans la recherche web. Et même un balisage parfait ne promet rien : Google écrit qu'il ne garantit pas l'affichage de vos données structurées, même si elles passent le test des résultats enrichis.

```checklist title="Avant de publier votre balisage"
- Le type est le plus précis possible (Bakery plutôt que LocalBusiness, BlogPosting ou Article selon le cas)
- Toutes les propriétés obligatoires du résultat enrichi visé sont remplies
- Chaque valeur (nom, prix, dates, auteur, horaires) est identique à ce qu'affiche la page
- Aucun contenu n'existe que dans le balisage : ni avis, ni questions, ni prix cachés
- Le balisage Product est sur des fiches produit, pas sur des pages catégorie
- Les images du balisage sont à des URL explorables et indexables
- La page n'est bloquée ni par le robots.txt ni par un noindex
- Les dates sont au format ISO 8601 avec le fuseau horaire
- Une seule source produit chaque type : thème, extension ou bloc manuel, pas deux
- L'URL en ligne passe le test des résultats enrichis sans problème critique
- Le rapport de Search Console affiche l'élément comme valide quelques jours après la mise en ligne
```

## Par où commencer sur votre site ?

Par les pages qui comptent le plus pour votre activité : l'accueil (Organization ou LocalBusiness), vos fiches produit les plus vendues, vos articles les plus lus. Balisez-les, testez-les, et ensuite seulement étendez le gabarit au reste du site.

```tonaily
Vous ne savez pas ce que votre site produit déjà ? L'**[audit gratuit](https://app.tonaily.com/tools/check/)** lit le JSON-LD de votre page d'accueil et indique si des blocs Organization (ou un type proche comme LocalBusiness), Article et FAQPage sont présents. Comblez ensuite les manques avec le **[générateur de schema markup](/fr/resources/tools/schema-markup-generator/)**, ou le **[générateur de schema FAQ](/fr/resources/tools/faq-schema-generator/)** pour une vraie section de questions-réponses.
```

Le balisage décrit vos pages ; il ne les remplace pas. Si le contenu, l'indexation ou l'accès des robots pose problème, aucun JSON-LD n'y changera rien. Pour le volet IA, les guides [Schema.org et recherche IA](/fr/guides/schema-markup-ai-search/), [GEO : être cité par ChatGPT, Gemini et Grok](/fr/guides/generative-engine-optimization/) et [robots IA et robots.txt](/fr/guides/ai-crawlers-robots-txt/) prennent le relais.

## Questions fréquentes

### Faut-il savoir coder pour ajouter des données structurées ?

Non. Un bloc JSON-LD est du texte collé dans une balise script. Un générateur prépare la structure ; à vous de vérifier que chaque valeur correspond à la page. Sur WordPress, Wix ou Shopify, regardez d'abord ce que votre thème ou votre extension produit déjà.

### Les données structurées améliorent-elles le classement ?

Google ne les présente pas comme un coup de pouce au classement. Sa documentation les décrit comme un moyen de mieux comprendre la page et de la rendre éligible aux résultats enrichis. Même une action manuelle sur les données structurées ne retire que cette éligibilité : Google précise qu'elle n'affecte pas le classement de la page dans la recherche web.

### Mon balisage est valide : pourquoi n'ai-je pas de résultat enrichi ?

Parce qu'un balisage valide rend seulement la page éligible. Google écrit qu'il ne garantit pas l'affichage des données structurées dans les résultats, même si elles passent le test des résultats enrichis. Vérifiez que le type a encore un résultat enrichi, que les propriétés obligatoires sont là et que la page est indexée.

### Le JSON-LD va-t-il dans le head ou dans le body ?

Les deux conviennent. Google décrit le JSON-LD comme une balise script dans le head ou le body, et il sait lire un JSON-LD injecté en JavaScript. Pour les produits, il prévient qu'un balisage généré dynamiquement peut rendre les explorations Shopping moins fréquentes et moins fiables : préférez alors un balisage rendu côté serveur.

### Peut-on mettre plusieurs types sur une même page ?

Oui. Google comprend plusieurs éléments sur une page, qu'ils soient imbriqués ou déclarés séparément. Une page d'article porte souvent un Article et un BreadcrumbList, par exemple dans un même @graph.


## Sources

- [Google Search Central : Introduction to structured data markup in Google Search](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data)
- [Google Search Central : General structured data guidelines](https://developers.google.com/search/docs/appearance/structured-data/sd-policies)
- [Google Search Central : Structured data markup that Google Search supports (galerie de recherche)](https://developers.google.com/search/docs/appearance/structured-data/search-gallery)
- [Google Search Central : Article structured data](https://developers.google.com/search/docs/appearance/structured-data/article)
- [Google Search Central : Introduction to Product structured data](https://developers.google.com/search/docs/appearance/structured-data/product)
- [Google Search Central : Product snippet structured data](https://developers.google.com/search/docs/appearance/structured-data/product-snippet)
- [Google Search Central : Local business structured data](https://developers.google.com/search/docs/appearance/structured-data/local-business)
- [Google Search Central : Organization structured data](https://developers.google.com/search/docs/appearance/structured-data/organization)
- [Google Search Central : Breadcrumb structured data](https://developers.google.com/search/docs/appearance/structured-data/breadcrumb)
- [Google Search Central : Generate structured data with JavaScript](https://developers.google.com/search/docs/appearance/structured-data/generate-structured-data-with-javascript)
- [Google Search Central : Latest documentation updates](https://developers.google.com/search/updates)
- [Aide Search Console : Rich result status reports](https://support.google.com/webmasters/answer/7552505)
- [Schema.org : Getting started with schema.org](https://schema.org/docs/gs.html)
- [Outil de validation du balisage Schema (schema.org)](https://validator.schema.org/)
