vendredi 25 septembre 2026

À propos

Contact

SEO & GEO

Ajouter un balisage Schema.org Review sur des pages de test produit WordPress

Le type Review de Schema.org reste peu utilisé sur WordPress alors qu'il s'implémente en quelques dizaines de lignes pour des pages de test produit.

Par Clément Hadrot • 4 août 2022 • 4 min de lecture • Aucun commentaire
Ajouter un balisage Schema.org Review sur des pages de test produit WordPress

Une bonne partie de la documentation SEO sur le balisage Schema.org tourne autour de FAQPage, Article ou Product. Le type Review reste plus rarement documenté pour WordPress, alors qu’il est directement pertinent pour un site qui publie des tests de matériel, exactement le cas de figure sur lequel je suis intervenu récemment : une page de test approfondi d’un boîtier hybride, sans aucun balisage structuré au départ.

Voici comment l’ajouter proprement, en respectant les propriétés obligatoires que Google vérifie avant d’afficher l’étoile dans les résultats.

Étape 1 : comprendre les propriétés obligatoires

Le type Review nécessite au minimum cinq propriétés pour être éligible à un rich result selon la documentation de Google : itemReviewed (l’objet noté, ici un Product), author (avec un name), reviewRating contenant lui-même ratingValue et bestRating, et enfin datePublished recommandé pour la fraîcheur.

Étape 2 : créer un champ personnalisé pour la note

Plutôt que de coder la note en dur dans le gabarit, on l’expose via un champ personnalisé attaché à l’article, modifiable depuis l’éditeur :

register_post_meta( 'post', 'note_test', array(
    'type'         => 'number',
    'single'       => true,
    'show_in_rest' => true,
    'auth_callback' => function() {
        return current_user_can( 'edit_posts' );
    },
) );

Étape 3 : générer le JSON-LD

L'essentiel à retenir : Review exige un itemReviewed, un author et un reviewRating complets ; Google n'affiche l'étoile qu'avec un ratingValue et un bestRating cohérents ; Un balisage Review sur une page sans avis utilisateur réel viole les consignes Google

Le balisage s’injecte sur wp_footer, uniquement sur les articles porteurs de la note, pour éviter de le dupliquer sur des contenus qui ne sont pas des tests produit :

add_action( 'wp_footer', function() {
    if ( ! is_singular( 'post' ) ) {
        return;
    }
    $note = get_post_meta( get_the_ID(), 'note_test', true );
    if ( ! $note ) {
        return;
    }
    $produit = get_post_meta( get_the_ID(), 'nom_produit', true );

    $schema = array(
        '@context' => 'https://schema.org',
        '@type'    => 'Review',
        'itemReviewed' => array(
            '@type' => 'Product',
            'name'  => $produit,
        ),
        'author' => array(
            '@type' => 'Person',
            'name'  => get_the_author(),
        ),
        'reviewRating' => array(
            '@type'       => 'Rating',
            'ratingValue' => $note,
            'bestRating'  => 10,
        ),
        'datePublished' => get_the_date( 'c' ),
    );

    printf(
        '<script type="application/ld+json">%s</script>',
        wp_json_encode( $schema )
    );
} );

Le choix de bestRating à 10 plutôt qu’à 5 est volontaire ici : le barème maison de cette rédaction note sur dix, et Schema.org accepte n’importe quelle échelle tant qu’elle est déclarée explicitement dans bestRating. C’est un point qui piège souvent les développeurs venant d’autres écosystèmes habitués à un barème sur cinq par défaut.

Étape 4 : valider avant publication

L’outil de test des résultats enrichis de Google (à l’adresse officielle search.google.com/test/rich-results) doit être utilisé systématiquement avant mise en production, en collant l’URL de la page une fois publiée en préproduction. Il signale immédiatement une propriété manquante ou un type incorrect, par exemple un ratingValue transmis en chaîne de caractères plutôt qu’en nombre, une erreur fréquente quand la valeur provient directement de get_post_meta() sans conversion.

Le point de vigilance éditoriale

Un balisage Review techniquement valide mais posé sur un article qui n’est pas réellement un test rédigé par l’auteur du site viole les consignes de Google sur les données structurées, indépendamment de sa validité syntaxique.

Les consignes de Google sur le balisage Review précisent que le contenu doit correspondre à un avis authentique rédigé par l’éditeur du site sur le produit en question, pas à un agrégat d’avis clients (qui relève du type AggregateRating) ni à une simple fiche descriptive. Sur ce projet, seuls les articles de la catégorie « Tests » recevaient effectivement le balisage, à l’exclusion des fiches produits classiques et des comparatifs qui listent plusieurs références sans note individuelle.

En résumé

Le type Review est simple à mettre en œuvre techniquement une fois les cinq propriétés obligatoires identifiées, mais son intérêt réel dépend entièrement de la cohérence entre le balisage et le contenu éditorial réel de la page : un rich result Review affiché sur un contenu qui n’est pas un vrai test individuel finit tôt ou tard par être ignoré, voire sanctionné, par Google.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi