Mis à jour le 12 octobre 2026

Le schema markup WordPress, c’est du JSON-LD que vous ajoutez à vos pages pour dire aux moteurs de recherche ce qu’elles sont : un service, une catégorie, un cas client. J’en ai écrit 46 à la main pour mon site, en plus de ce que Rank Math génère. Voici la méthode, les types retenus, les pièges et ce que je n’en attends pas.

Pourquoi ai-je réécrit mes schemas à la main ?

Parce que les schemas automatiques de Rank Math décrivent des pages, pas une organisation. Après ma refonte en silos (pages piliers, sous-pages thématiques, catégories alignées), rien ne reliait « Consultant SEO » à « Audit SEO » dans les données structurées. J’ai donc écrit les liens moi-même.

Le principe rejoint ce que je recommande pour le référencement local : la cohérence des signaux compte plus que leur quantité. C’est aussi le sujet de la cohérence d’entité entre fiche Google et schema, où je traite les conflits de nœuds entre Rank Math et un schema custom. Côté structure du site, j’ai détaillé l’architecture du site dans un autre article.

Quels types de schema pour quelles pages ?

Un type par rôle de page, jamais « Article » partout. Mes 46 schemas se répartissent en cinq familles, résumées ci-dessous. Le vocabulaire vient de schema.org, le référentiel commun aux moteurs de recherche.

Famille Nombre Type principal Rôle
Pages piliers 4 ProfessionalService Décrire un domaine d’expertise et ses services
Pages de silo 19 WebPage + BreadcrumbList Rattacher la page à son pilier
Catégories d’articles 20 CollectionPage Miroir de chaque page de silo
Cas clients 2 Service + résultats Présenter une réalisation
Portfolio 1 CollectionPage + ItemList Lister les cas clients

Les quatre piliers sont Consultant GEO, Consultant SEO, Expert WordPress et WordPress en production. Chaque pilier compte entre 3 et 6 pages de silo.

Comment décrire une page pilier avec ProfessionalService ?

Avec le type ProfessionalService et une propriété hasOfferCatalog qui liste les services inclus. Google voit alors que « Consultant SEO » n’est pas une simple URL mais un service qui en contient d’autres. Voici une version raccourcie :

{
  "@type": "ProfessionalService",
  "@id": "https://wordpress-freelance.com/consultant-seo/#service",
  "name": "Consultant SEO & Stratégie de visibilité",
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Audit SEO technique"
        }
      }
    ]
  }
}

Le détail qui change tout : l’@id. C’est lui que les pages de silo vont référencer.

Comment relier une page de silo à son pilier ?

Avec WebPage et la propriété about qui pointe vers l’@id du service parent, plus un BreadcrumbList pour la hiérarchie. La page « Audit SEO » déclare ainsi qu’elle parle 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"
  }
}

Pour le fil d’Ariane, la documentation Google sur BreadcrumbList exige au moins deux éléments, chacun avec une position et un name. Mon chemin : Accueil, Consultant SEO, Audit SEO.

Que faire des catégories d’articles ?

Les traiter comme des pages de silo, avec le type CollectionPage, parce qu’elles listent du contenu au lieu de le porter. Chaque catégorie pointe aussi vers son service parent via about. La catégorie « Articles Audit SEO » est donc liée au service « Consultant SEO », comme la page de silo qui porte le même nom.

Résultat attendu : les articles de blog renforcent la même arborescence thématique que les pages de service, ce qui va avec un maillage et une cohérence thématique propres.

Quel schema pour un cas client ?

Pas de type officiel dédié que je puisse citer : j’ai retenu Service associé à une page WebPage, avec les résultats décrits dans le texte visible. Mon premier brouillon utilisait un type CaseStudy ; comme je n je ne l’ai pas retrouvé de façon fiable dans le référentiel, je l’ai donc abandonnérsquo;ai pas pu le vérifier dans le référentiel, je l je ne l’ai pas retrouvé de façon fiable dans le référentiel, je l’ai donc abandonnérsquo;ai abandonné. Règle simple : ne mettez dans le JSON-LD que ce qu’un visiteur peut lire sur la page.

Avant, Rank Math déclarait « Article » sur mes cas clients. C’est le défaut à corriger en priorité, puisqu’un cas client n’est pas du contenu éditorial.

Quels réglages Rank Math vérifier avant de coller du JSON-LD ?

Trois réglages : le type par défaut des articles, celui des pages, et l’indexation globale. Sans eux, Rank Math ajoute son propre schema à côté du vôtre et vous créez des doublons. La documentation de Rank Math sur le schema décrit le chemin : Titres et métas, onglet Articles ou Pages, option « Type de schema ».

  • Articles : je passe le défaut de « Actualités » (NewsArticle) à « Article ». NewsArticle est fait pour du contenu d’actualité, pas pour un blog technique.
  • Pages : je choisis « Aucun » comme type par défaut. Les pages avec schema custom ne sont pas doublées, et les pages utilitaires (mentions légales, contact) n’héritent pas d’un schema inadapté.
  • Méta globales : je contrôle que l’indexation est active, que les archives vides sont en noindex et que la miniature OpenGraph fait 1200 x 630 px.

Comment coller un schema JSON-LD dans Rank Math ?

Par l’onglet Schema de Rank Math, via le générateur de schema et son import de code JSON-LD. Point à savoir : d’après la documentation de Rank Math, cet import est réservé à la version PRO. Sans PRO, il faut passer par un plugin dédié ou un snippet dans le thème.

  1. Ouvrir la page dans l’éditeur WordPress, puis Rank Math.
  2. Aller dans l’onglet « Schema » et ouvrir le générateur.
  3. Choisir l’onglet « Import » et coller le code JSON-LD.
  4. Cliquer sur « Process Code », puis enregistrer. L’option « Save as Template » permet de réutiliser le modèle sur d’autres pages.

Pour valider le résultat, deux outils gratuits : le test des résultats enrichis de Google et le validateur schema.org. Collez l’URL de la page et cherchez les erreurs et les doublons de nœuds.

Quelles erreurs éviter ?

  • Laisser Rank Math et le schema custom déclarer chacun une WebPage : deux nœuds pour la même URL.
  • Utiliser Article sur des pages commerciales.
  • Copier un modèle sans changer les URL, les @id et les descriptions.
  • Décrire dans le JSON-LD des éléments absents de la page.
  • Ne pas relire après une mise à jour du plugin : testez deux ou trois pages types à chaque fois.

Que changent vraiment les schemas markup ?

Ils aident les moteurs à comprendre la structure de votre site, mais ne font pas monter un classement à eux seuls. Mon attente reste donc modeste : une architecture pilier/silo lisible aussi pour les robots, et moins de pages orphelines côté signaux. Je ne promets aucun gain de trafic.

Il faut aussi rester lucide sur les rich results. Google indique sur sa page FAQPage que le résultat enrichi FAQ n’est plus affiché dans la recherche ; n’ajoutez donc pas de FAQ en schema pour obtenir des accordéons dans les SERP. Le fil d’Ariane, lui, reste documenté par Google.

Coût réel : une journée pour 46 schemas. Si votre architecture est déjà claire, c’est un investissement raisonnable. Sinon, commencez par la structure, puis par 4 ou 5 pages clés.

Questions fréquentes

Pourquoi mettre en place du schema markup sur un site WordPress ?

Pour décrire sans ambiguïté la nature de chaque page (service, catégorie, article) et les liens entre elles. Cela aide les moteurs à interpréter la structure du site. Ce n’est pas un facteur de classement direct.

Quel type de schema utiliser pour une page de service ?

ProfessionalService ou Service pour une page pilier qui présente une prestation, WebPage avec BreadcrumbList pour les sous-pages. Réservez Article au contenu éditorial.

Combien de schemas faut-il sur un site WordPress ?

Un par modèle de page, avec un type adapté. Sur mon site en silos, cela représente 46 schemas, répartis entre piliers, silos, catégories, cas clients et portfolio. Un petit site peut se contenter de quelques-uns.

Comment intégrer du schema personnalisé dans Rank Math ?

Par le générateur de schema et son onglet d’import JSON-LD, disponible en version PRO d’après la documentation. Passez le type par défaut sur « Aucun » pour éviter les doublons.

Le schema markup améliore-t-il le référencement ?

Pas directement. Il facilite la compréhension de vos pages par les moteurs et peut conditionner certains affichages, comme le fil d’Ariane. Il ne remplace ni le contenu ni les liens.