Générez gratuitement vos balises JSON-LD pour Google Rich Snippets : Article, Produit, FAQ, Fil d'Ariane, Organisation, Événement, Personne et plus. Code prêt à l'emploi.
Générateur de Rich Snippets JSON-LD
🔍 Code JSON-LD généré
<head> de votre page HTML,
ou avant la balise fermante </body>.
Validez ensuite avec
Google Rich Results Test
.
Qu'est-ce que JSON-LD et les Rich Snippets ?
JSON-LD (JavaScript Object Notation for Linked Data) est un format de balisage sémantique recommandé par Google pour intégrer des données structurées dans vos pages web. Il repose sur le vocabulaire Schema.org, un vocabulaire partagé créé par Google, Bing, Yahoo et Yandex en 2011 pour standardiser la description des contenus web.
Les Rich Snippets (ou résultats enrichis) sont les affichages améliorés qui apparaissent dans les pages de résultats de Google (SERP) grâce à ces données structurées : étoiles de notation, prix de produits, questions-réponses dépliables, étapes de recettes, dates d'événements, etc.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Mon article",
"author": { "@type": "Person", "name": "Jean Dupont" },
"datePublished": "2026-05-03"
}
</script>
Pourquoi choisir JSON-LD plutôt que Microdata ou RDFa ?
Il existe trois formats pour les données structurées : JSON-LD, Microdata et RDFa. Google recommande officiellement JSON-LD pour plusieurs raisons :
- Séparation du contenu et du code — le script JSON-LD est indépendant du HTML visible, ce qui facilite la maintenance sans risquer de casser le rendu.
- Facilité de mise en œuvre — un bloc
<script>à copier-coller suffit, sans modifier les balises HTML existantes. - Chargement asynchrone possible — Google peut lire le JSON-LD même injecté dynamiquement par JavaScript (contrairement à Microdata).
- Lisibilité et débogage aisés — la structure JSON est familière à tous les développeurs web et se valide facilement avec des outils standards.
- Compatible CMS — s'intègre sans friction dans WordPress, Drupal, PrestaShop, Shopify via des plugins dédiés ou du code personnalisé.
Comment Google exploite les données structurées
Google utilise les données structurées à trois niveaux :
| Niveau | Description | Exemple visuel dans la SERP |
|---|---|---|
| Rich Results | Résultats enrichis directement dans Google Search | Étoiles, prix, FAQ dépliable, extraits de recette |
| Knowledge Graph | Panneau de connaissance (droite ou haut de page) | Fiche entreprise, profil auteur, événement |
| Google Assistant / Voice | Réponses vocales et actions enrichies | Recettes dictées, événements lus à voix haute |
Compatibilité avec d'autres moteurs
Schema.org / JSON-LD est reconnu par tous les grands moteurs : Bing (Microsoft Copilot l'utilise pour ses résultats enrichis), DuckDuckGo, Yandex et même les réseaux sociaux comme LinkedIn et Pinterest pour les rich pins. Un seul balisage JSON-LD bien formé bénéficie à toute votre présence en ligne.
Les 10 types de schémas Schema.org essentiels
1. Article — pour les blogs et actualités
Le schéma Article (ou BlogPosting, NewsArticle)
est le plus courant pour les contenus éditoriaux. Il affiche l'auteur, la date et
peut déclencher l'apparition de l'article dans Google Discover et les Top Stories.
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Guide complet JSON-LD pour SEO",
"description": "Comment implémenter les données structurées...",
"author": { "@type": "Person", "name": "Marie Martin" },
"datePublished": "2026-05-03",
"dateModified": "2026-05-03",
"image": { "@type": "ImageObject", "url": "https://example.com/image.jpg" },
"publisher": {
"@type": "Organization",
"name": "TechBlog",
"logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" }
}
}
2. Product — pour l'e-commerce
Le schéma Product est indispensable pour tout site e-commerce.
Il permet d'afficher le prix, la disponibilité et la note moyenne directement dans la SERP,
augmentant significativement le taux de clic.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Casque Bluetooth Pro X200",
"image": "https://example.com/casque.jpg",
"brand": { "@type": "Brand", "name": "AudioMax" },
"sku": "CASQ-X200-BLK",
"offers": {
"@type": "Offer",
"price": "149.99",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"url": "https://example.com/produit/casque-x200"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "248"
}
}
3. FAQPage — pour les pages de questions
Le schéma FAQPage génère des accordéons dépliables directement dans la SERP Google,
multipliant la surface occupée par votre résultat et le rendant très visible.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Qu'est-ce que JSON-LD ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "JSON-LD est un format de données structurées basé sur JSON..."
}
},
{
"@type": "Question",
"name": "JSON-LD améliore-t-il le référencement ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Oui, JSON-LD permet d'obtenir des rich snippets dans Google..."
}
}
]
}
4. BreadcrumbList — pour le fil d'Ariane
Le fil d'Ariane structuré remplace souvent l'URL brute dans les résultats Google par une navigation lisible, améliorant la compréhension du contexte de la page.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Accueil", "item": "https://example.com" },
{ "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://example.com/blog" },
{ "@type": "ListItem", "position": 3, "name": "Guide JSON-LD" }
]
}
5. Organization — pour l'identité de votre marque
Le schéma Organization aide Google à comprendre votre entité légale,
à afficher votre Knowledge Panel et à associer vos pages aux bons profils sociaux
(via sameAs).
6. LocalBusiness — pour les commerces de proximité
Essentiel pour le référencement local, LocalBusiness peut déclencher
l'affichage de vos horaires, adresse, téléphone et position GPS directement dans
les résultats Google Maps et la SERP locale.
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "La Bonne Table",
"address": {
"@type": "PostalAddress",
"streetAddress": "15 rue Montorgueil",
"addressLocality": "Paris",
"postalCode": "75001",
"addressCountry": "FR"
},
"geo": { "@type": "GeoCoordinates", "latitude": "48.8637", "longitude": "2.3477" },
"telephone": "+33 1 42 36 46 46",
"openingHours": ["Mo-Fr 12:00-14:30", "Mo-Sa 19:00-22:30"],
"priceRange": "€€"
}
7. Event — pour les événements
Le schéma Event permet d'afficher les événements à venir dans Google Events,
un carrousel qui apparaît en haut des résultats pour les recherches de type "concerts Paris"
ou "conférences tech 2026".
8. Person — pour les auteurs et profils
Utilisé pour les pages "À propos" ou les profils d'auteurs, Person aide Google
à établir l'E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness)
de vos créateurs de contenu, un facteur de confiance croissant dans le classement.
9. WebSite — pour la recherche interne
Le schéma WebSite avec SearchAction peut faire apparaître
une saisie de recherche directement sous votre résultat principal dans Google (Sitelinks Searchbox).
10. VideoObject — pour les vidéos
Avec l'essor de la recherche vidéo, VideoObject permet d'afficher
des vignettes, la durée et les segments clés (Key Moments) directement
dans les résultats Google et YouTube Search.
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Tutoriel JSON-LD en 10 minutes",
"description": "Guide rapide pour implémenter JSON-LD...",
"thumbnailUrl": "https://img.youtube.com/vi/abc123/maxresdefault.jpg",
"uploadDate": "2026-05-03",
"duration": "PT10M25S",
"contentUrl": "https://www.youtube.com/watch?v=abc123",
"embedUrl": "https://www.youtube.com/embed/abc123"
}
Comment implémenter JSON-LD dans votre site
Placement dans le HTML
Google recommande de placer le bloc JSON-LD dans le <head>,
mais il fonctionne aussi dans le <body>.
Évitez de le placer dans des éléments masqués ou des iframes.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Mon article SEO | Mon Site</title>
<meta name="description" content="Description de la page...">
<!-- JSON-LD données structurées -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Mon article SEO",
"author": { "@type": "Person", "name": "Jean Dupont" },
"datePublished": "2026-05-03"
}
</script>
</head>
<body>
...
</body>
</html>
Implémenter en PHP (CMS personnalisé)
En PHP, vous pouvez générer dynamiquement le JSON-LD en fonction des données de votre article :
<?php
// Générer le JSON-LD pour un article
function generate_article_jsonld(array $article): string
{
$data = [
'@context' => 'https://schema.org',
'@type' => 'Article',
'headline' => $article['title'],
'description' => $article['description'],
'datePublished' => $article['date'],
'author' => [
'@type' => 'Person',
'name' => $article['author'],
],
'publisher' => [
'@type' => 'Organization',
'name' => 'Mon Site',
'logo' => ['@type' => 'ImageObject', 'url' => 'https://monsite.fr/logo.png'],
],
];
if (!empty($article['image'])) {
$data['image'] = ['@type' => 'ImageObject', 'url' => $article['image']];
}
return '<script type="application/ld+json">'
. json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT)
. '</script>';
}
?>
<!-- Dans le head.php : -->
<?php echo generate_article_jsonld($articleData); ?>
Implémenter en JavaScript / Next.js
// Composant React pour Next.js (App Router)
// app/blog/[slug]/page.tsx
import type { Metadata } from 'next';
interface Props { params: { slug: string } }
export default function ArticlePage({ params }: Props) {
const article = getArticleBySlug(params.slug);
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'Article',
headline: article.title,
description: article.description,
datePublished: article.publishedAt,
author: { '@type': 'Person', name: article.author },
image: { '@type': 'ImageObject', url: article.coverImage },
};
return (
<>
{/* Injection JSON-LD dans le head */}
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
<main>{/* contenu article */}</main>
</>
);
}
Implémenter dans WordPress
<?php
// Dans functions.php de votre thème WordPress
add_action('wp_head', function () {
if (!is_singular('post')) return;
global $post;
$author_id = $post->post_author;
$thumbnail = get_the_post_thumbnail_url($post->ID, 'full');
$schema = [
'@context' => 'https://schema.org',
'@type' => 'BlogPosting',
'headline' => get_the_title(),
'description' => get_the_excerpt(),
'datePublished' => get_the_date('c'),
'dateModified' => get_the_modified_date('c'),
'author' => [
'@type' => 'Person',
'name' => get_the_author_meta('display_name', $author_id),
'url' => get_author_posts_url($author_id),
],
'url' => get_the_permalink(),
];
if ($thumbnail) {
$schema['image'] = ['@type' => 'ImageObject', 'url' => $thumbnail];
}
echo '<script type="application/ld+json">'
. json_encode($schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)
. '</script>';
});
Combinaison de plusieurs schémas
Il est possible et recommandé de combiner plusieurs schémas sur une même page.
Par exemple, une page produit peut avoir à la fois Product,
BreadcrumbList et Organization :
<!-- Schéma 1 : Fil d'Ariane -->
<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "BreadcrumbList", ... }
</script>
<!-- Schéma 2 : Produit -->
<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "Product", ... }
</script>
<!-- Alternative : tableau de graphes -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "BreadcrumbList", ... },
{ "@type": "Product", ... }
]
}
</script>
Impact des Rich Snippets sur le SEO
Statistiques et chiffres clés
Les données structurées ne garantissent pas un meilleur classement directement, mais leur impact indirect est documenté dans de nombreuses études :
| Type de Rich Snippet | Gain de CTR observé | Impact additionnel |
|---|---|---|
| FAQ dépliable | +20 à +30 % | Double la surface dans la SERP |
| Étoiles produit (★★★★☆) | +15 à +25 % | Signal de confiance fort |
| Recette avec image | +40 à +50 % | Présence dans Google Images |
| Événement avec date | +10 à +20 % | Apparition dans Google Events |
| Fil d'Ariane lisible | +5 à +10 % | Meilleure lisibilité de l'URL |
JSON-LD et l'E-E-A-T
Depuis les mises à jour Helpful Content et Core Updates de Google, le critère E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) est devenu central. JSON-LD contribue à chacune de ces dimensions :
- Experience — schéma
PersonavecjobTitleetsameAsvers des profils vérifiés - Expertise — schéma
Articleavecauthoretpublisherbien référencés - Authoritativeness — schéma
Organizationavec liens vers Wikipedia, Wikidata viasameAs - Trustworthiness — schéma
ProductavecaggregateRatingetReviewréels
JSON-LD et la recherche vocale / IA
Avec l'essor des assistants vocaux (Google Assistant, Siri, Alexa) et des AI Overviews de Google, les données structurées deviennent encore plus stratégiques. Les LLM (Large Language Models) qui alimentent ces réponses s'appuient sur le contenu structuré et facilement parseable pour extraire des informations précises et fiables.
Une page FAQ bien balisée a plus de chances d'être citée dans une réponse de Google AI Overview, un passage qui capte l'attention avant même les résultats classiques.
Valider et tester vos données structurées
Outils officiels Google
| Outil | Utilisation | URL |
|---|---|---|
| Rich Results Test | Vérifier si une page est éligible aux résultats enrichis | search.google.com/test/rich-results |
| Schema Markup Validator | Valider la syntaxe JSON-LD (Schema.org officiel) | validator.schema.org |
| Google Search Console | Surveiller les erreurs de données structurées en production | Section "Améliorations" dans GSC |
Tester avec Rich Results Test
Étape 1 : Copier votre code JSON-LD (depuis notre générateur ci-dessus)
Étape 2 : Aller sur https://search.google.com/test/rich-results
Étape 3 : Coller l'URL de votre page OU le code HTML complet
Étape 4 : Cliquer "Tester" et analyser les résultats
→ ✅ Éligible aux résultats enrichis = bonne configuration
→ ⚠️ Avertissements = propriétés recommandées manquantes
→ ❌ Erreurs = propriétés obligatoires manquantes ou mal formées
Débogage JSON dans le navigateur
// Méthode 1 : Valider la syntaxe JSON dans la console
const jsonLd = document.querySelector('script[type="application/ld+json"]').textContent;
try {
const parsed = JSON.parse(jsonLd);
console.log('JSON-LD valide :', parsed);
} catch (e) {
console.error('Erreur JSON-LD :', e.message);
}
// Méthode 2 : Récupérer tous les blocs JSON-LD de la page
document.querySelectorAll('script[type="application/ld+json"]').forEach((script, i) => {
try {
console.log(`Schéma ${i + 1} :`, JSON.parse(script.textContent));
} catch (e) {
console.error(`Schéma ${i + 1} invalide :`, e);
}
});
Erreurs courantes de validation
| Erreur | Cause probable | Solution |
|---|---|---|
Missing field "headline" |
Propriété obligatoire absente | Ajouter la propriété requise |
Invalid URL |
URL relative au lieu d'absolue | Utiliser https:// complet |
Invalid date |
Format date incorrect | Utiliser le format ISO 8601 : 2026-05-03 |
Unexpected token |
JSON mal formé (virgule en trop…) | Valider avec JSON.parse() en console |
Content mismatch |
Les données ne correspondent pas au contenu visible | Ne balisez que ce qui est visible sur la page |
Bonnes pratiques et erreurs fréquentes
✅ Les bonnes pratiques à suivre
- Cohérence contenu/balisage — les données JSON-LD doivent refléter exactement le contenu visible de la page (titre, auteur, date, prix…)
- URLs absolues toujours — utilisez
https://example.com/pagejamais/pagedans les propriétés URL - Dates au format ISO 8601 —
2026-05-03ou2026-05-03T10:00:00+02:00pour les événements - Images avec dimensions — ajoutez
widthetheightdansImageObjectpour les articles Google Discover - Prioriser les propriétés recommandées — Google distingue propriétés requises (▲ erreur si absente) et recommandées (◆ avertissement si absente).
- Un schéma par page — pour les types principaux, un seul schéma
ArticleouProductpar page (plusieursFAQouBreadcrumbListsont acceptés) - Surveiller dans Google Search Console — l'onglet "Améliorations" liste toutes les erreurs de données structurées en production
- Mettre à jour avec le contenu — si vous modifiez votre article,
mettez à jour
dateModifieddans le schéma correspondant
❌ Les erreurs courantes à éviter
Erreur 1 — Données trompeuses (spam balisage)
// ❌ Mauvais : ajouter des étoiles sans vraies reviews
"aggregateRating": { "ratingValue": "5.0", "reviewCount": "1" }
// ✅ Correct : utiliser de vraies évaluations authentifiées
"aggregateRating": { "ratingValue": "4.3", "reviewCount": "127" }
Erreur 2 — Marquer du contenu masqué
// ❌ Mauvais : baliser une page FAQ mais l'afficher en display:none
// Google détecte l'écart contenu visible / données structurées
// ✅ Correct : toutes les questions/réponses doivent être
// accessibles aux utilisateurs sur la page (même derrière un accordéon)
Erreur 3 — JSON syntaxiquement invalide
// ❌ Mauvais : virgule traînante (trailing comma)
{
"name": "Produit",
"price": "29.99", <!-- Erreur ! -->
}
// ✅ Correct
{
"name": "Produit",
"price": "29.99"
}
Erreur 4 — Mélanger les formats
// ❌ Mauvais : utiliser RDFa dans le HTML ET JSON-LD pour le même contenu
// Cela peut créer des conflits de données
// ✅ Correct : choisir UN format et s'y tenir (JSON-LD recommandé)
Priorité d'implémentation par type de site
| Type de site | Schémas prioritaires | Impact attendu |
|---|---|---|
| Blog / Média | Article, BreadcrumbList, Person | Top Stories, Discover, E-E-A-T |
| E-commerce | Product, BreadcrumbList, Organization | Prix dans SERP, étoiles, Google Shopping |
| Commerce local | LocalBusiness, Event, FAQPage | Pack local, Knowledge Panel, FAQ SERP |
| SaaS / Logiciel | WebSite, FAQPage, Organization | Sitelinks searchbox, FAQ, marque |
| Recettes / Food | Recipe, Person, BreadcrumbList | Carrousel recettes, Google Images |
| Événements / Ticketing | Event, Organization, FAQPage | Google Events, pack événements |
BreadcrumbList sur toutes vos pages
(impact immédiat sur l'URL dans la SERP), puis ajoutez le schéma spécifique
au contenu principal (Article, Product, FAQPage).
Utilisez notre générateur ci-dessus pour créer le code JSON-LD en quelques secondes,
puis validez avec le
Google Rich Results Test
avant de déployer.