JSON-LD Schema : structured data pour le SEO

🏷️ Référencement 📅 12/04/2026 17:00:00 👤 Mezgani Said
Json-Ld Structured Data Seo Schema Google
JSON-LD Schema : structured data pour le SEO

Implémenter JSON-LD schema pour améliorer votre SEO avec les données structurées. Guide complet des types (Article, Product, Organization).

Introduction et importance

JSON-LD Schema (JSON for Linking Data) est un format pour décrire le contenu d'une page web de façon lisible par les machines. Google l'utilise pour générer des rich snippets (extraits enrichis) dans les résultats de recherche.

À retenir : JSON-LD = données structurées invisibles. Améliore l'apparence Google et augmente le CTR de 20-30%.

Exemple du résultat :

  • ❌ Avant : Titre + Description simple
  • ✅ Après : Titre + Description + Étoiles + Prix + Disponibilité

Avantages JSON-LD :

  • ✅ Meilleure apparence dans Google (étoiles, prix, avis)
  • ✅ Augmente CTR (+20-30% selon études)
  • ✅ Aide Google comprendre votre contenu
  • ✅ Voice search optimization (Alexa, Google Assistant)
  • ✅ Schema.org standard (universel)

Différence entre schema.org et JSON-LD

schema.org = vocabulaire (définition des données)

JSON-LD = format pour appliquer ce vocabulaire

Autres formats possibles :

  • Microdata (itemscope, itemtype) — désuet, complexe
  • RDFa — standardisé mais rare
  • JSON-LD — ✅ Recommandé par Google (simple et puissant)

Pourquoi JSON-LD ?

  • ✅ Facile à ajouter en <script>
  • ✅ Pas besoin de modifier le HTML
  • ✅ Lisible et maintenable
  • ✅ Google le recommande explicitement

Syntaxe et structure

Structure basique :

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Titre de l'article",
  "description": "Description courte",
  "image": "https://example.com/image.jpg",
  "author": {
    "@type": "Person",
    "name": "Auteur"
  },
  "datePublished": "2026-04-17"
}
</script>

Propriétés essentielles :

  • @context — URL du vocabulaire (toujours https://schema.org)
  • @type — Type de contenu (Article, Product, Event, etc.)
  • Propriétés spécifiques au type

Imbrication d'objets :

{
  "@type": "Person",
  "name": "Alice",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Rue de Paris",
    "addressLocality": "Paris",
    "postalCode": "75001",
    "addressCountry": "FR"
  }
}

Schema Article

Pour les articles de blog :

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "NewsArticle",
  "headline": "JSON-LD Schema : structured data pour le SEO",
  "description": "Implémenter JSON-LD schema pour améliorer votre SEO...",
  "image": "https://example.com/image.jpg",
  "datePublished": "2026-04-17T16:30:00Z",
  "dateModified": "2026-04-17T18:00:00Z",
  "author": {
    "@type": "Person",
    "name": "Mezgani Said"
  },
  "publisher": {
    "@type": "Organization",
    "name": "AngularForAll",
    "logo": "https://example.com/logo.png"
  }
}
</script>

Articles avec notes/ratings :

{
  "@type": "NewsArticle",
  "headline": "...",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "bestRating": "5",
    "worstRating": "1",
    "ratingCount": "125"
  }
}

Schema Product

Pour les produits e-commerce :

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Laptop Dell XPS 13",
  "image": [
    "https://example.com/photo1.jpg",
    "https://example.com/photo2.jpg"
  ],
  "description": "13-inch laptop ultrabook...",
  "sku": "0446310786",
  "brand": {
    "@type": "Brand",
    "name": "Dell"
  },
  "offers": {
    "@type": "Offer",
    "price": "999.99",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock",
    "seller": {
      "@type": "Organization",
      "name": "Example Store"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "89"
  }
}
</script>

Résultat affichage Google :

  • ⭐ Étoiles de rating
  • 💰 Prix visibilisé
  • ✅ En stock/Hors stock affiché
  • 🔍 Nombre d'avis visible

Schema Organization

Pour présenter votre entreprise :

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "AngularForAll",
  "url": "https://angularforall.com",
  "logo": "https://angularforall.com/logo.png",
  "description": "Blog de tutoriels web",
  "contact": "+33 1 23 45 67 89",
  "email": "contact@angularforall.com",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Rue de Paris",
    "addressLocality": "Paris",
    "postalCode": "75001",
    "addressCountry": "FR"
  },
  "sameAs": [
    "https://www.facebook.com/angularforall",
    "https://twitter.com/angularforall",
    "https://linkedin.com/company/angularforall"
  ]
}
</script>

Impact :

  • Améliore Knowledge Panel sur Google
  • Affiche contact et adresse
  • Liens vers réseaux sociaux

Schema Breadcrumb

Pour le fil d'Ariane (enrichit les résultats Google) :

<script type="application/ld+json">
{
  "@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": "JSON-LD Schema",
      "item": "https://example.com/blog/jsonld"
    }
  ]
}
</script>

Affichage Google :

> Accueil > Blog > JSON-LD Schema

Schema LocalBusiness

Pour les commerces locaux, restaurants, services :

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Boulangerie Dupont",
  "image": "https://example.com/boulangerie.jpg",
  "telephone": "+33 1 23 45 67 89",
  "email": "contact@boulangerie.com",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "15 Rue de la Paix",
    "addressLocality": "Paris",
    "postalCode": "75008",
    "addressCountry": "FR"
  },
  "openingHoursSpecification": {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "08:00",
    "closes": "20:00"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "28"
  }
}
</script>

Impact Google Maps/Search :

  • 📍 Affiche localisation
  • ⏰ Affiche horaires d'ouverture
  • ⭐ Affiche avis et rating
  • ☎️ Affiche téléphone en résultats

Rich Snippets et affichage Google

Rich Snippets = extraits enrichis dans Google

Type Affichage Google Cas d'usage
Article Titre + Image + Date + Auteur Blog posts, actualités
Product Titre + Étoiles + Prix E-commerce
LocalBusiness Nom + Étoiles + Adresse + Horaires Restaurants, services
Event Titre + Date + Prix Événements

Avant/Après impact :

  • CTR augmente de 20-40%
  • Position moyenne reste pareille mais visibilité accrue
  • Voice search amélioré

Validation et test

Google Rich Results Test :

  1. Aller sur search.google.com/test/rich-results
  2. Coller l'URL de votre page
  3. Cliquer "Tester l'URL"
  4. Voir les rich snippets détectés

Schema.org Validator :

validator.schema.org

# Ou en ligne : https://validator.schema.org

Erreurs courantes détectées :

  • ❌ Propriété requise manquante (ex: @type)
  • ❌ Type d'objet incorrect
  • ❌ Valeurs invalides (ex: prix négatif)
  • ❌ Structure mal formée

Vérifier aussi avec Search Console :

Google Search Console → Améliorations → Rich results
# Voir le nombre d'éléments valides/invalides

Bonnes pratiques

Checklist JSON-LD :

  • ✅ Placement : dans <head> ou fin <body>
  • ✅ Type type="application/ld+json" (pas "text/javascript")
  • ✅ JSON valide (pas d'erreurs de syntaxe)
  • ✅ @context toujours présent
  • ✅ Propriétés recommandées remplies
  • ✅ Validé avec Google Rich Results Test

Production checklist :

  • ✅ Tester avec Rich Results Test
  • ✅ Vérifier dans Search Console
  • ✅ Monitorer les rich results actifs/invalides
  • ✅ Mettre à jour si contenu change
  • ✅ Ne pas surcharger avec schema inutile

À éviter :

  • ❌ Schema caché (content boosting, cloaking)
  • ❌ Info contradictoire (schema différent du contenu visible)
  • ❌ Schema pour produits n'existant pas
  • ❌ Trop de propriétés inutiles

Template production :

<!-- Dans le <head> -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "NewsArticle",
  "headline": "<?php echo $title ?>",
  "description": "<?php echo $description ?>",
  "image": "<?php echo $image_url ?>",
  "datePublished": "<?php echo $published_date ?>",
  "author": {
    "@type": "Person",
    "name": "<?php echo $author ?>"
  }
}
</script>
Conclusion : JSON-LD Schema est essentiel pour le SEO moderne. Augmente CTR, améliore l'apparence Google et optimise pour voice search. Commencez par Article schema si vous êtes blogueur, Product schema si e-commerce. Testez toujours avec Google Rich Results Test et monotrez dans Search Console.