Pourquoi j’ai passé une journée sur les schemas markup

Les schemas markup, c’est ce qui permet à Google de comprendre la structure de votre site. Les fils d’Ariane sous les résultats de recherche, les étoiles pour les avis — c’est ça.

J’ai wordpress-freelance.com depuis 2012. Pendant longtemps, j’ai laissé Rank Math gérer les schemas automatiquement. Ça marchait. Mais quand j’ai refait toute l’architecture du site en silos — pages piliers, sous-pages thématiques, catégories alignées — j’ai réalisé que les schemas auto-générés passaient à côté de l’essentiel.

Google voyait des pages. Pas une organisation cohérente. Pas de lien clair entre « Consultant SEO » et « Audit SEO ». Juste des URL sans hiérarchie.

Donc j’ai tout refait à la main. 46 schemas JSON-LD custom. Une journée complète à copier-coller du JSON et à vérifier que rien ne casse.

Ce que j’ai créé : 46 schemas pour toute l’architecture du site

La répartition complète :

4 pages piliers (ProfessionalService) — mes domaines d’expertise :

  • Consultant GEO
  • Consultant SEO
  • Expert WordPress
  • WordPress en production

19 pages de silo (WebPage + BreadcrumbList) — 3 à 6 pages par pilier selon le sujet.

20 catégories d’articles (CollectionPage) — une catégorie miroir pour chaque page de silo.

2 cas clients (CaseStudy) — les réalisations avec résultats chiffrés.

1 page portfolio (CollectionPage + ItemList) — la page qui liste tous les cas clients.

46 schemas interconnectés. Google sait maintenant exactement comment le site est organisé.

1. Pages piliers : ProfessionalService

Les pages piliers représentent mes 4 domaines d’expertise. J’ai utilisé le type ProfessionalService avec une propriété hasOfferCatalog qui liste les services inclus dans chaque domaine.

Exemple pour la page Consultant SEO :

{
  "@type": "ProfessionalService",
  "name": "Consultant SEO & Stratégie de visibilité",
  "description": "Expert SEO technique : audit complet, optimisation on-page...",
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Audit SEO technique"
        }
      }
    ]
  }
}

Ça permet à Google de voir que « Consultant SEO » est un service qui contient plusieurs sous-services. Pas juste une page.

2. Pages de silo : WebPage + BreadcrumbList

Les pages de silo (les sous-pages thématiques sous chaque pilier) utilisent WebPage avec un BreadcrumbList qui montre la hiérarchie complète.

J’ai ajouté une propriété about qui pointe vers le service parent. Comme ça, Google comprend que la page « Audit SEO » fait partie du service « Consultant SEO ».

{
  "@type": "WebPage",
  "url": "https://wordpress-freelance.com/consultant-seo/audit-seo/",
  "about": {
    "@type": "Service",
    "@id": "https://wordpress-freelance.com/consultant-seo/#service"
  }
}

Le BreadcrumbList donne le chemin complet : Accueil > Consultant SEO > Audit SEO.

3. Catégories d’articles : CollectionPage

Les catégories d’articles suivent exactement la même structure que les pages de silo, mais avec le préfixe /articles/category/. J’ai utilisé CollectionPage au lieu de WebPage pour indiquer qu’il s’agit de pages listant du contenu.

Chaque catégorie pointe aussi vers son service parent via about. Donc la catégorie « Articles Audit SEO » est liée au service « Consultant SEO », exactement comme la page « Audit SEO ».

Résultat : Google voit que les articles de blog renforcent la même architecture thématique que les pages de service.

4. Cas clients : CaseStudy

Pour les pages de réalisations, j’ai utilisé le type CaseStudy. C’est le type schema.org fait pour ça : présenter un projet client avec des résultats mesurables.

{
  "@type": "CaseStudy",
  "headline": "Création stratégie SEO from scratch — 0 à 2400 visites/mois",
  "result": [
    {
      "@type": "QuantitativeValue",
      "value": "2400",
      "unitText": "visites mensuelles"
    }
  ],
  "duration": "P8M"
}

J’ai gardé les mêmes types de schema que ceux générés par Rank Math (Service + CaseStudy), mais j’ai ajouté des détails structurés sur les résultats. Avant, Rank Math mettait juste « Article » partout, même sur des cas clients.

Configuration Rank Math à vérifier

Une fois les schemas créés, il faut vérifier que Rank Math ne les écrase pas avec ses propres schemas auto-générés.

Pour les articles : j’ai changé le type par défaut de « Actualités » (NewsArticle) vers « Article ». NewsArticle est réservé aux sites de presse reconnus par Google News. Si vous mettez ça sur un blog technique, Google peut ignorer vos schemas.

Pour les pages : j’ai mis « Aucun » dans le type de schema par défaut. Comme ça, les pages avec mes schemas custom ne sont pas écrasées, et les pages utilitaires (mentions légales, contact) n’ont pas de schema inapproprié.

Métadonnée globale : j’ai vérifié que « Index » était activé, que les archives vides étaient en noindex, et que la miniature OpenGraph faisait bien 1200x630px.

Comment intégrer ces schemas dans Rank Math

L’intégration est simple :

1. Ouvrir la page dans l’éditeur WordPress
2. Descendre dans la meta box Rank Math SEO
3. Aller dans l’onglet « Schema »
4. Cliquer sur « JSON-LD Code » (onglet à droite)
5. Coller le schema JSON-LD complet
6. Sauvegarder

Rank Math va alors utiliser votre schema custom au lieu de générer le sien automatiquement.

Pour vérifier que ça marche :

  • Google Rich Results Test : https://search.google.com/test/rich-results
  • Schema Validator : https://validator.schema.org/

Collez l’URL de votre page et vérifiez qu’il n’y a pas d’erreurs.

Ce que ça change concrètement

Avant : Google voyait des pages sans liens structurels clairs.

Après : Google voit 4 domaines de service avec leurs sous-services, leurs articles, et leurs cas clients.

Est-ce que ça va doubler mon trafic ? Non. Les schemas markup ne sont pas un facteur de ranking. Mais ils aident Google à mieux catégoriser vos pages et à afficher des rich snippets (fils d’Ariane, FAQ) qui peuvent améliorer le taux de clic.

Sur un site avec une architecture en silos, ça renforce la cohérence thématique. Google comprend que « Audit SEO » fait partie d’un ensemble, pas juste une page isolée.

Ça prend du temps (une journée pour 46 schemas). Mais si vous avez déjà une architecture pilier/silo bien pensée, autant que Google la comprenne aussi.

Tous les schemas que j’ai créés suivent la même structure. Vous pouvez réutiliser les modèles en remplaçant juste les URLs et les descriptions.