Ressources pour développeur web

Théme de la semaine : CODEX CLI

Wordpress 7 & JSON-LD : Ajouter balisage schéma.org à un post

Temps de lecture estimé : 7 minutes
Accueil SEO Wordpress 7 & JSON-LD : Ajouter balisage schéma.org à un post

Vous souhaitez ajouter un balisage Schema.org sur un post ou une page de votre site WordPress 7 mais Google refuse parfois de reconnaître votre JSON-LD ? Entre les balises ajoutées automatiquement par WordPress, les guillemets modifiés et les erreurs de formatage invisibles, il est facile de se retrouver avec un code pourtant correct qui devient invalide une fois publié.

Dans ce guide complet, vous allez apprendre à intégrer un JSON-LD propre et valide dans WordPress 7 grâce à un shortcode personnalisé. Pas à pas, nous verrons comment éviter les pièges les plus fréquents, comprendre le fonctionnement des données structurées et mettre en place un balisage Schema.org que Google pourra interpréter sans difficulté.

  • Éviter les erreurs invisibles qui empêchent Google d’interpréter correctement un balisage Schema.org pourtant bien rédigé.
  • Intégrer du JSON-LD personnalisé dans WordPress 7 sans dépendre d’une extension supplémentaire.
  • S’assurer que vos données structurées restent propres, valides et facilement exploitables par les moteurs de recherche.

Lorsque l’on débute avec le référencement naturel, il est fréquent d’entendre parler de balisage Schema.org, de données structurées ou encore de JSON-LD. Ces termes peuvent sembler intimidants au premier abord. Pourtant, ils permettent simplement d’aider Google à mieux comprendre le contenu de vos pages.

Le problème, c’est que depuis plusieurs versions de WordPress, et particulièrement avec WordPress 7, l’insertion de code JSON-LD peut parfois devenir compliquée. Entre les balises <p> ajoutées automatiquement, les retours à la ligne imprévus et les guillemets transformés par l’éditeur, un balisage pourtant valide peut rapidement devenir inutilisable.

Pourquoi utiliser le JSON-LD ?

Avant de manipuler du code, il est important de comprendre à quoi sert cette technologie.

Imaginez que vous écriviez un article sur votre blog. Pour un humain, il est facile de comprendre qu’il s’agit d’un tutoriel, d’une recette ou d’un événement. Pour Google, c’est beaucoup plus compliqué.

Le moteur de recherche analyse principalement du texte. Il doit donc deviner la nature de votre contenu.

  • C’est ici qu’intervient Schema.org.

Schema.org est un vocabulaire standardisé permettant de décrire précisément les informations présentes sur une page web. Grâce à lui, vous pouvez indiquer à Google :

  • qu’il s’agit d’un article
  • qu’une page contient une recette
  • qu’un produit est vendu
  • qu’un événement possède une date
  • qu’une entreprise possède une adresse
  • Qu’il s’agit d’une FAQ
  • etc.

Le format recommandé par Google pour transmettre ces informations est aujourd’hui le JSON-LD.

Qu’est-ce que le JSON-LD ?

JSON-LD signifie JavaScript Object Notation for Linked Data.

Derrière ce nom un peu impressionnant se cache simplement un format de données écrit sous forme de texte.

Prenons un exemple simple :

<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "Person",
    "name": "Alban",
    "jobTitle": "Développeur Web"
}
</script>

Dans cet exemple :

  • @context indique le vocabulaire utilisé ;
  • @type précise le type d’objet ;
  • name représente le nom ;
  • jobTitle représente la profession.

Google comprend immédiatement que vous décrivez une personne.

Sans ce balisage, il devrait analyser toute la page pour essayer de deviner ces informations.

👉 Tout savoir sur le Schema.org en JSON

Pourquoi Google recommande-t-il le JSON-LD ?

Pendant longtemps, plusieurs méthodes existaient :

  • Microdata ;
  • RDFa ;
  • JSON-LD.

Aujourd’hui, Google privilégie clairement le JSON-LD car cette méthode présente plusieurs avantages :

  • D’abord, elle ne modifie pas le contenu visible de votre page.
  • Ensuite, elle est plus simple à maintenir.
  • Enfin, elle réduit considérablement les risques d’erreurs de balisage.

En pratique, si vous devez ajouter des données structurées sur un site WordPress 7, le JSON-LD est le meilleur choix.

Le problème rencontré dans WordPress 7

À première vue, il suffirait de coller un bloc HTML Personnalisé avec du JSON-LD dans un article… Malheureusement, WordPress adore rendre service. Parfois un peu trop.

Lors de l’enregistrement d’un article, l’éditeur peut :

  • ajouter des balises <p> 
  • insérer des balises <br> 
  • transformer certains guillemets
  • modifier l’espacement
  • retirer le type="application/ld+json"

Résultat :

<script>
<p>{<br>
"@context":"https://schema.org"<br>
}</p>
</script>

Pour un navigateur, ce code semble acceptable.

  • Pour Google, le JSON n’est plus valide.

Le balisage est alors ignoré. Vous avez pourtant pris le temps de le rédiger correctement. C’est frustrant.

Heureusement, il existe une solution simple.

Créer un shortcode dédié au JSON-LD

L’idée consiste à créer un shortcode WordPress capable de nettoyer automatiquement le contenu avant son affichage.

Ainsi, vous pourrez écrire :

[mon_json_ld]
{
    "@context":"https://schema.org",
    "@type":"WebPage"
}
[/mon_json_ld]

Et obtenir automatiquement :

<script type="application/ld+json">
{
    "@context":"https://schema.org",
    "@type":"WebPage"
}
</script>

Sans parasite. Sans balise inutile. Sans mauvaise surprise.

Wordpress 7 et le JSON-LD

👉 Pour les débutants avec Wordpress 7 : Coder son propre shortcode

Ajouter le shortcode dans WordPress

Ouvrez le fichier functions.php de votre thème enfant.

Vous pouvez également utiliser une extension comme Code Snippets si vous préférez éviter toute modification directe du thème, mais cela alourdira vos performances. Ce n’est donc pas l’idéal…

Ajoutez ensuite le code suivant :

add_shortcode('mon_json_ld', 'rendre_json_ld_shortcode');

function rendre_json_ld_shortcode($atts, $content = null) {

    $content = shortcode_unautop($content);

    // Supprime <p> et <br>
    $content = preg_replace('#<br\s*/?>#i', '', $content);
    $content = preg_replace('#</?p>#i', '', $content);

    // Corrige les guillemets WordPress
    $content = str_replace(
        array('«', '»', '“', '”'),
        '"',
        $content
    );

    // Supprime les espaces insécables UTF8
    $content = str_replace("\xc2\xa0", '', $content);

    // Supprime les espaces autour des guillemets
    $content = preg_replace('/"\s+/', '"', $content);
    $content = preg_replace('/\s+"/', '"', $content);

    return '<script type="application/ld+json">' . trim($content) . '</script>';
}

Maintenant, prenons le temps de comprendre ce que fait réellement ce code.

👉 Tout savoir sur Le fichier functions.php

Comprendre le fonctionnement du shortcode

On commence par la déclaration du shortcode.

Cette ligne :

add_shortcode('mon_json_ld', 'rendre_json_ld_shortcode');

indique à WordPress :

« Lorsque vous rencontrez le shortcode [mon_json_ld], exécutez la fonction rendre_json_ld_shortcode. »

C’est le point de départ du mécanisme.

Ensuite, on récupère le contenu. La fonction reçoit automatiquement le contenu à placer entre les balises du shortcode.

Exemple :

[mon_json_ld] 
{ 
  "@type":"Article" 
} 
[/mon_json_ld]

Le JSON est stocké dans la variable :

$content

Suppression des balises automatiques

Cette instruction :

$content = shortcode_unautop($content);

supprime certaines balises générées automatiquement par WordPress.

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?

Mais ce n’est pas toujours suffisant. C’est pourquoi le script poursuit le nettoyage.

Suppression des balises <p>

Cette ligne :

$content = preg_replace('#</?p>#i', '', $content);

supprime toutes les balises de paragraphe.

Par exemple :

<p>{"@type":"Article"}</p>

devient :

{"@type":"Article"}

Suppression des balises <br>

WordPress adore ajouter des retours à la ligne invisibles.

Le code suivant les élimine :

$content = preg_replace('#<br\s*/?>#i', '', $content);

Votre JSON retrouve ainsi sa forme d’origine.

Correction des guillemets

Un problème très fréquent concerne les guillemets typographiques.

Par exemple :

{
    “name”: “Alban”
}

Ces guillemets sont jolis à l’œil. Mais ils rendent le JSON invalide.

Le script les remplace automatiquement :

str_replace(
    array('«', '»', '“', '”'),
    '"',
    $content
);

Google vous remerciera.

Exemple complet pour une page web

Prenons un cas concret.

Dans votre article WordPress, vous pouvez écrire :

[mon_json_ld]
{
  "@context":"https://schema.org",
  "@type":"WebPage",
  "name":"Mon tutoriel WordPress",
  "url":"https://monsite.fr/tutoriel"
}
[/mon_json_ld]

Une fois la page affichée, le navigateur recevra :

<script type="application/ld+json">
{
  "@context":"https://schema.org",
  "@type":"WebPage",
  "name":"Mon tutoriel WordPress",
  "url":"https://monsite.fr/tutoriel"
}
</script>

Le balisage est parfaitement valide.

Exemple pour un article de blog

Les tutoriels constituent souvent l’usage le plus fréquent.

Voici un exemple adapté :

[mon_json_ld]
{
  "@context":"https://schema.org",
  "@type":"Article",
  "headline":"WordPress 7 et JSON-LD",
  "author":{
   "@type":"Person",
   "name":"Alban"
  }
}
[/mon_json_ld]

Google comprendra qu’il s’agit d’un article rédigé par une personne identifiée.

Vérifier la validité de son JSON-LD

Même avec un bon shortcode, il reste indispensable de vérifier le résultat. Une simple virgule oubliée peut rendre l’ensemble inutilisable…

Google met à disposition un outil officiel très pratique : Le Rich Results Test.

Collez simplement l’URL de votre page ou votre bloc JSON-LD.

L’outil vous indiquera immédiatement :

  • les erreurs ;
  • les avertissements ;
  • les données reconnues.

Prenez l’habitude de tester chaque nouveau schéma.

Quelques secondes de vérification peuvent vous éviter des heures de recherche.

Aller plus loin avec les schémas Schema.org

Une fois votre shortcode opérationnel, de nombreuses possibilités s’offrent à vous.

Vous pouvez baliser :

  • des articles
  • des formations
  • des FAQ
  • des événements
  • des produits
  • des recettes
  • des entreprises locales
  • etc..

Plus Google comprend votre contenu, plus il peut l’afficher de manière enrichie dans les résultats de recherche.

Attention cependant. Le balisage Schema.org n’améliore pas directement le classement d’une page.

En revanche, il aide Google à mieux interpréter vos contenus et peut favoriser l’affichage de résultats enrichis qui attirent davantage de clics.

C’est une nuance importante.

Faut-il utiliser une extension ou un shortcode ?

Les deux approches sont valables.

Les extensions SEO comme Yoast SEO ou Rank Math génèrent déjà une partie du JSON-LD automatiquement.

Cependant, elles ne couvrent pas toujours tous les besoins.

Si vous souhaitez ajouter des schémas très spécifiques ou garder un contrôle total sur votre balisage, le shortcode présenté dans ce tutoriel constitue une excellente solution.

Il est léger, rapide et parfaitement adapté aux utilisateurs qui aiment comprendre ce qui se passe derrière les coulisses.


Le JSON-LD améliore-t-il le référencement de mon site WordPress 7 ?

Le JSON-LD n’améliore pas directement le positionnement dans Google. En revanche, il aide les moteurs de recherche à mieux comprendre votre contenu et peut favoriser l’affichage de résultats enrichis plus visibles dans les pages de recherche.

Puis-je utiliser du JSON-LD sans extension WordPress ?

Oui. Il est tout à fait possible d’ajouter du JSON-LD manuellement dans WordPress 7 grâce à un shortcode personnalisé ou en l’intégrant directement dans votre thème. Cela offre davantage de contrôle sur votre balisage.

Comment savoir si mon balisage Schema.org est valide ?

Le moyen le plus simple consiste à utiliser l’outil de test des résultats enrichis de Google. Il vérifie votre JSON-LD et signale immédiatement les éventuelles erreurs ou informations manquantes.


Le JSON-LD est aujourd’hui devenu un élément incontournable pour communiquer efficacement avec les moteurs de recherche. Bien utilisé, il permet de transformer une simple page web en contenu clairement interprétable par Google.

Avec WordPress 7, les modifications automatiques de l’éditeur peuvent parfois compliquer l’intégration de données structurées. Heureusement, un simple shortcode comme celui que nous avons développé permet de contourner élégamment ces limitations tout en conservant un balisage Schema.org propre et valide.

Je vous encourage maintenant à expérimenter par vous-même. Commencez par baliser quelques pages simples, testez-les avec les outils de validation de Google, puis essayez progressivement des schémas plus avancés. Vous découvrirez rapidement que les données structurées sont beaucoup moins compliquées qu’elles n’en ont l’air et qu’elles constituent un excellent moyen d’améliorer la compréhension de votre site par les moteurs de recherche.

Après tout, si Google comprend mieux votre contenu, il aura beaucoup plus de facilité à le présenter aux bonnes personnes au bon moment.