Données structurées JSON-LD : exemples à copier et à tester

Par SEOgrinder · Publié le · 10 min de lecture

Réponse courte : Les données structurées JSON-LD sont un bloc de JSON placé dans une balise <script type="application/ld+json"> qui décrit une page aux moteurs de recherche ; c’est le format que Google recommande pour les données structurées. Copiez l’un des deux exemples ci-dessous, remplacez les valeurs en example.com par des faits visibles sur votre page et vérifiez le résultat dans le Rich Results Test de Google. Un code valide rend une page éligible aux résultats enrichis ; Google ne garantit pas qu’ils s’afficheront.

Que sont les données structurées JSON-LD, et que fait Google avec ?

Google définit les données structurées comme « a standardized format for providing information about a page and classifying the page content » (un format standardisé pour fournir des informations sur une page et classer son contenu) (Google). L’essentiel du vocabulaire vient de schema.org, et le JSON-LD est l’une des trois façons de l’écrire. Les deux autres, Microdata et RDFa, ajoutent des attributs au HTML visible. Le JSON-LD garde tout dans un bloc séparé : vous pouvez l’ajouter ou le réparer sans toucher à la mise en page.

Google dit que les trois formats se valent, du moment que le balisage est valide et correctement mis en œuvre. Il recommande tout de même le JSON-LD quand votre installation le permet, parce que c’est « the easiest solution for website owners to implement and maintain at scale » (la solution la plus simple à mettre en place et à maintenir à grande échelle) (Google).

Ce que vous pouvez en tirer : Google écrit que les données structurées « can enable search results that are more engaging to users », ce qu’il appelle des résultats enrichis. Il tient une galerie des fonctionnalités prises en charge, où l’on trouve notamment Article, Breadcrumb, Event, Organization, Product et Recipe. Un dernier point de l’introduction de Google : pour savoir comment la recherche se comporte, fiez-vous à la documentation de Google plutôt qu’à schema.org, qui compte plus d’attributs et d’objets que Google Search n’en utilise.

Trois règles tirées des règles générales sur les données structurées de Google valent avant que vous écriviez la moindre ligne de code :

  • Décrivez la page sur laquelle se trouve le balisage, et seulement ce que les visiteurs y voient.
  • Ne bloquez pas à Googlebot les pages qui portent des données structurées, ni par le robots.txt, ni par noindex, ni autrement.
  • Renseignez chaque propriété obligatoire du type que vous utilisez. Les éléments auxquels il en manque une « are not eligible for rich results » (ne sont pas éligibles aux résultats enrichis).

Exemple 1 : le balisage Organization pour votre page d’accueil

Google recommande de placer le balisage Organization sur votre page d’accueil ou sur une seule page qui décrit l’organisation, comme une page « À propos ». Vous n’en avez pas besoin sur chaque page (Google). Ce type n’a aucune propriété obligatoire ; Google recommande d’ajouter celles qui s’appliquent. Remplacez chaque valeur :

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Exemple Cycles",
  "url": "https://www.example.com/",
  "logo": "https://www.example.com/images/logo.png",
  "description": "Exemple Cycles fabrique des vélos sur mesure.",
  "email": "contact@example.com"
}
</script>

Ce que font les propriétés, d’après la page de Google :

  • name : le même nom que celui que vous utilisez comme nom de site.
  • url : l’adresse de votre site, qui aide Google à identifier l’organisation de façon unique.
  • logo : au moins 112 × 112 px, explorable et indexable. Il peut aider Google à choisir le logo à afficher dans les résultats de recherche et les panneaux de connaissances.
  • description et email : des détails facultatifs. N’ajoutez address, contactPoint ou sameAs (une page de profil sur un autre site) que s’ils vous concernent.

Si un sous-type plus précis convient, Google le recommande, par exemple OnlineStore pour une boutique ou un sous-type de LocalBusiness pour un restaurant.

Exemple 2 : Article et fil d’Ariane sur un article de blog

Google comprend plusieurs éléments sur une même page, que vous les imbriquiez ou que vous les listiez séparément (Google). Cet exemple liste deux éléments dans un tableau JSON, chacun avec son propre @context, selon le schéma que Google montre pour des éléments individuels :

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    "headline": "Comment choisir un casque de vélo",
    "image": [
      "https://www.example.com/photos/casque-16x9.jpg",
      "https://www.example.com/photos/casque-4x3.jpg",
      "https://www.example.com/photos/casque-1x1.jpg"
    ],
    "datePublished": "2026-10-12T08:00:00+02:00",
    "dateModified": "2026-11-04T09:20:00+01:00",
    "author": [
      {
        "@type": "Person",
        "name": "Jeanne Dupont",
        "url": "https://www.example.com/equipe/jeanne-dupont"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      { "@type": "ListItem", "position": 1, "name": "Blog", "item": "https://www.example.com/blog" },
      { "@type": "ListItem", "position": 2, "name": "Vélo", "item": "https://www.example.com/blog/velo" },
      { "@type": "ListItem", "position": 3, "name": "Comment choisir un casque de vélo" }
    ]
  }
]
</script>

Article. Google accepte Article, NewsArticle et BlogPosting. Il ne cite aucune propriété obligatoire et recommande author, datePublished, dateModified, headline et image, pour l’aider à « show better title text, images, and date information » (afficher un meilleur titre, de meilleures images et des informations de date plus justes) (Google). Écrivez les dates au format ISO 8601 avec un fuseau horaire ; sans fuseau, Google utilise celui de Googlebot. Listez chaque auteur comme une entrée à part, avec type, nom et url. Gardez le titre court, car « long titles may be truncated on some devices ». Pour les images, Google recommande plusieurs fichiers en haute résolution dans les formats 16x9, 4x3 et 1x1, en rapport avec l’article, et pas des logos.

Fil d’Ariane. Ici, les règles sont strictes. Un BreadcrumbList demande au moins deux entrées ListItem, et chacune a normalement besoin de position, name et item (l’adresse). Seule la dernière peut omettre item ; Google utilise alors l’adresse de la page elle-même (Google). Google recommande un parcours typique de l’utilisateur plutôt qu’une copie de la structure des URL, et indique que la fonctionnalité est disponible sur ordinateur. Notre lecture des règles : affichez le même fil sur la page, car un balisage pour des éléments que les lecteurs ne voient pas n’est pas autorisé.

Comment tester le JSON-LD avant et après publication ?

  1. Rich Results Test (search.google.com/test/rich-results), le test des résultats enrichis de Google. Google l’appelle « the official Google tool for testing your structured data » (l’outil officiel de Google pour tester vos données structurées). La page accepte une adresse ou du code collé : vous pouvez donc tester un exemple avant sa mise en ligne. Corrigez d’abord les erreurs critiques ; selon Google, les remarques non critiques sont facultatives pour l’éligibilité.
  2. Schema Markup Validator (validator.schema.org). La page de test de Google le décrit comme un contrôle de tout balisage fondé sur schema.org « without Google feature specific warnings » (sans avertissements propres aux fonctionnalités de Google). Utilisez-le quand aucune fonctionnalité de Google ne convient à votre type.
  3. Inspection de l’URL dans la Search Console, après la mise en ligne de quelques pages. Google vous demande de vérifier que la page n’est pas bloquée par le robots.txt, par noindex ou par une connexion ; l’exploration d’une nouvelle page peut prendre plusieurs jours.
  4. Rapports sur les résultats enrichis dans la Search Console. Google note que le balisage peut casser après le déploiement, à cause des modèles de pages ou de problèmes de diffusion : regardez donc de nouveau après chaque changement de modèle (Google).

Voici comment nous avons vérifié les deux exemples ci-dessus le 4 novembre 2026 : les deux blocs se lisent comme du JSON valide (module json de Python), et leurs propriétés suivent les pages de Google sur Organization, Article et Breadcrumb (dernière mise à jour le 8 septembre 2026). Nous ne les avons pas collés dans l’outil de Google : votre premier collage est donc le vrai test.

Ce que le JSON-LD ne fait pas

  • Il ne garantit pas un résultat enrichi. Google écrit : « Google does not guarantee that your structured data will show up in search results » (Google). Parmi ses raisons : l’algorithme peut juger qu’un résultat en texte simple convient mieux, et un balisage peut être faux d’une manière que le test ne détecte pas.
  • Ce n’est pas une promesse de classement. Nous n’avons trouvé sur ces pages de Google aucune phrase disant que les données structurées améliorent le classement. Google décrit l’avantage comme une éligibilité aux résultats enrichis. Une action manuelle pour données structurées, ajoute Google, supprime cette éligibilité et « doesn’t affect how the page ranks in Google web search » (n’affecte pas le classement de la page dans la recherche web de Google).
  • Les réponses d’IA n’en ont pas besoin. Le guide de Google sur les fonctionnalités d’IA générative dit : « Structured data isn’t required for generative AI search, and there’s no special schema.org markup you need to add » (Google). Il continue d’y voir une bonne idée pour l’éligibilité aux résultats enrichis. SEOgrinder ne mesure pas si un système d’IA nomme votre site.
  • Le balisage FAQ n’a plus de résultat chez Google. Le journal des modifications de Google indique : « This feature will no longer appear in Google Search starting May 7, 2026 » (Google). N’ajoutez donc plus de balisage FAQPage dans ce but.

Erreurs fréquentes : 5 pièges du JSON-LD

1. Baliser ce que personne ne voit

La règle de Google : « Don’t mark up content that is not visible to readers of the page. » L’exemple de Google lui-même : si le balisage décrit un artiste, le corps de la page doit décrire ce même artiste.

2. Un JSON cassé

Une seule faute de syntaxe casse tout le bloc. Le rapport sur les données structurées non analysables de Google dans la Search Console (en anglais « Unparsable structured data report ») cite des types d’erreurs comme une virgule ou une accolade fermante manquante, un deux-points manquant et une séquence d’échappement incorrecte dans une chaîne, par exemple une barre oblique inverse égarée comme \q dans une valeur texte. Le conseil de Google pour trouver la faute : partir d’un objet vide et y remettre votre code morceau par morceau.

3. Des propriétés obligatoires manquantes

Google dit que les éléments auxquels manquent leurs propriétés obligatoires ne sont pas éligibles aux résultats enrichis. Le cas habituel : des entrées de fil d’Ariane sans position, name ou item.

4. Un type qui ne correspond pas à la page

Google demande le type applicable le plus précis. Ses exemples de balisage non pertinent : un site de diffusion sportive qui étiquette ses retransmissions comme des événements locaux, et un site de menuiserie qui étiquette ses tutoriels comme des recettes.

5. Bloquer la page ou ses images

Les pages avec données structurées doivent rester ouvertes à Googlebot, et les adresses d’images dans le balisage doivent pouvoir être explorées et indexées. Une règle Disallow sur votre dossier d’images peut ruiner un balisage soigné.

Comment SEOgrinder vérifie-t-il les données structurées ?

SEOgrinder est notre outil, et nous le construisons. Analysez une page, ouvrez l’onglet « Page sur Google » et regardez deux cartes. « Données structurées » liste les types trouvés dans le JSON-LD et les Microdata. « Contrôle des champs » compte les entités et montre combien sont « Non valides » (un champ obligatoire manque) ou « Incomplètes » (il ne manque que des champs recommandés), avec le nom des champs manquants. Dans la liste des tâches, elles apparaissent sous les noms « Des champs obligatoires manquent aux données structurées », « Données structurées incomplètes », « Aucune donnée structurée » et, pour du code qui ne peut pas être lu, « Un bloc de données structurées cassé ». Après une correction, cliquez sur Réanalyser.

Quatre limites. SEOgrinder lit le HTML que votre serveur envoie, donc le JSON-LD qu’un script n’ajoute que dans le navigateur lui échappe, alors que Google peut le lire. Il lit le JSON-LD et les Microdata, pas le RDFa. Il connaît les champs obligatoires d’une liste de types courants, pas de tous les types. Et il ne décide pas si Google affichera un résultat enrichi ; cet aperçu, c’est le Rich Results Test qui le donne.

Nous avons lu nos propres pages de la même façon le 4 novembre 2026. Cette commande affiche 1 pour un article et 0 pour la page d’accueil :

curl -sS https://seogrinder.com/fr/blog/checklist-audit-seo-gratuite | grep -c 'application/ld+json'

Le seul bloc de l’article contient un BlogPosting et un BreadcrumbList à trois entrées (SEOgrinder, Blog, l’article). Sur la page d’accueil, nous n’avons aucune donnée structurée.

FAQ

Faut-il des données structurées sur chaque page ?

Non. N’ajoutez un type que là où il convient à la page : Organization sur la page d’accueil ou la page « À propos », Article sur les articles. Beaucoup de pages n’ont aucun type correspondant, et ce n’est pas un problème.

Puis-je ajouter du JSON-LD avec une extension ou avec JavaScript ?

Oui. Google écrit que les utilisateurs d’un CMS trouvent souvent une page de réglages ou une extension pour les données structurées, et que Google peut lire du JSON-LD injecté par des scripts (Google). Vérifiez le résultat avec le Rich Results Test et n’oubliez pas que SEOgrinder ne voit que ce que le serveur envoie.

Le JSON-LD améliore-t-il mon classement ?

Les pages de Google décrivent une éligibilité aux résultats enrichis, pas de meilleures positions. Personne ne peut promettre un classement.

Votre prochaine étape

Choisissez la page qui compte le plus. Collez l’exemple 1 ou 2 dans le Rich Results Test avec vos propres valeurs et corrigez ce qu’il signale. Publiez, puis analysez la page avec SEOgrinder, ouvrez « Page sur Google » et lisez la carte « Contrôle des champs ». Pour la vue d’ensemble, notre checklist audit SEO montre où se situent les données structurées parmi les autres contrôles.

À lire aussi

Autres articles du blog