Service en ligne 100% Gratuit Utilitaires Web AngularForAll

- Générateur de Rich Snippets JSON-LD

Generateur Rich Snippets Json-Ld Json-Ld Generator Online Structured Data Generator Seo Schema.org Json-Ld Gratuit Rich Snippets Code Generator

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

Choisissez le type de données structurées à générer.

🔍 Code JSON-LD généré

application/ld+json

                                    
💡 Utilisation : Copiez ce code et collez-le dans le <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.

📌 Format JSON-LD (recommandé par Google) :
<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
📊 Résultat clé : Bien que Google affirme que les données structurées ne sont pas un facteur de classement direct, un CTR plus élevé envoie un signal positif à l'algorithme, ce qui améliore indirectement le positionnement.

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 Person avec jobTitle et sameAs vers des profils vérifiés
  • Expertise — schéma Article avec author et publisher bien référencés
  • Authoritativeness — schéma Organization avec liens vers Wikipedia, Wikidata via sameAs
  • Trustworthiness — schéma Product avec aggregateRating et Review ré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
⚠️ Règle d'or : Ne balisez jamais des données qui ne sont pas visibles sur la page. Google pénalise les schémas "trompeurs" qui décrivent un contenu différent de ce que l'utilisateur voit réellement.

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/page jamais /page dans les propriétés URL
  • Dates au format ISO 86012026-05-03 ou 2026-05-03T10:00:00+02:00 pour les événements
  • Images avec dimensions — ajoutez width et height dans ImageObject pour 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 Article ou Product par page (plusieurs FAQ ou BreadcrumbList sont 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 dateModified dans 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
🎯 Conclusion pratique : Commencez par implémenter 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.

Partager