TL;DRPar Zelia Gutierrez. Article à jour en septembre 2026 : les sources citées ont été consultées le 30 septembre 2026.

Le diagnostic en 3 minutes

  1. Testez l'URL en ligne dans le test des résultats enrichis, pas un extrait de code collé. Aucun « Extraits d'avis » détecté : le problème est dans votre code.
  2. Affichez le code rendu : inspection de l'URL dans la Search Console, « Tester l'URL active », puis « Afficher la page testée ». Combien de fois AggregateRating apparaît-il ?
  3. Ouvrez le rapport sur les actions manuelles. Une action « Problème lié aux données structurées » explique à elle seule l'absence d'étoiles.

Tout est propre ? La cause est plus profonde.

Votre fiche produit affiche douze avis, le test de Google est au vert, et aucune étoile n'apparaît sous votre lien. C'est la question que nous recevons le plus souvent sur les données structurées, ce balisage qui décrit le contenu d'une page aux moteurs dans un format standardisé.

Illustration de deux résultats Google pour la même requête, l'un avec étoiles d'avis, l'autre sans résultat enrichi
Même type de page, même requête : seul le premier affiche ses avis.

La réponse tient presque toujours dans une confusion entre trois états : un balisage peut être valide sans être éligible, et éligible sans être affiché. Nous partons des étoiles Google, puis la méthode s'élargit à tous les résultats enrichis, ces présentations améliorées d'un lien (étoiles, prix, fil d'Ariane, vidéo).

  • JSON-LD : format recommandé par Google, un bloc de script séparé du HTML visible.
  • Microdonnées : attributs (itemscope, itemprop) ajoutés aux balises HTML visibles.
  • Type : la catégorie d'entité décrite, par exemple Product ou Review.
  • Propriété : un attribut de ce type, par exemple ratingValue.
  • Rendu : la page après exécution du JavaScript, celle que Google indexe.
  • Action manuelle : sanction décidée par un examinateur de Google, visible dans la Search Console.

Valide, éligible, affiché : trois choses différentes#

Valide : le code respecte la syntaxe JSON et le vocabulaire schema.org. Exemple : un Product avec un aggregateRating (ratingValue: 4.6, reviewCount: 12) posé sur une page d'accueil sans produit est valide pour le validateur schema.org.

Éligible : le balisage remplit en plus les exigences de Google pour un type de résultat enrichi (propriétés obligatoires, type de page, consignes de contenu). Exemple : le même bloc sur une vraie fiche produit où les douze avis sont lisibles. Attention, le test de Google écrit « valide » là où il faut lire « éligible ».

Affiché : Google a indexé la page et choisi d'utiliser le balisage pour une requête donnée. Exemple : les étoiles apparaissent sur « chaussures trail modèle X » mais pas sur « chaussures trail ». Google ne garantit pas l'affichage, même pour un balisage correct (consignes générales).

Les outils de test s'arrêtent au deuxième état.

Schéma des trois états d'un balisage : valide, éligible, affiché
Chaque état est nécessaire au suivant, jamais suffisant.

Les outils, et ce que chacun voit réellement#

Aucun outil ne couvre les trois états.

Test des résultats enrichis (rich results test). Teste l'éligibilité aux résultats enrichis Google sur la page rendue. Ne teste pas la correspondance avec le visible ni l'affichage réel. Il accepte une URL ou un extrait de code (aide Search Console). La différence est décisive : avec une URL, Google récupère la page comme son robot (smartphone par défaut) et exécute le JavaScript. Un extrait collé ne passe pas par votre serveur : un extrait parfait peut correspondre à une page cassée.

Validateur schema.org.Teste la syntaxe et la conformité au vocabulaire schema.org. Ne teste pas les exigences de Google, qui l'a précisé en lui confiant l'ancien outil de test (annonce Google, décembre 2020). À utiliser pour déboguer la structure.

Rapports de la Search Console (Extraits d'avis, Extraits produits, Fiches de marchand). Montrent ce que Google a réellement indexé, en séparant éléments valides et non valides, problèmes critiques et non critiques (aide Search Console). Ne montrent pas l'état actuel de la page. À utiliser pour suivre un site dans le temps, avec l'inspection d'URL pour une page précise.

Bing Webmaster Tools. L'ancien Markup Validator redirige vers l'inspection d'URL, dont une carte « Markup » liste les données structurées détectées. Bing lit JSON-LD, microdonnées et RDFa (blog Bing, 2018) mais applique ses propres critères : ce qu'il lit ne préjuge pas de Google.

La méthode de diagnostic en sept étapes#

Du moins coûteux au plus coûteux.

Frise des sept étapes de diagnostic d'un balisage de données structurées
Du plus simple au plus profond.
  1. Le balisage est-il dans le code rendu ? Le code source brut (Ctrl+U) n'est pas le code rendu. Outil : inspection de l'URL, « Afficher la page testée ».
  2. Y a-t-il des balisages concurrents ? Comptez les blocs JSON-LD et les attributs itemtype décrivant la même entité.
  3. Le type et les propriétés requises sont-ils corrects ? Comparez à la documentation Google du résultat visé, pas seulement à schema.org.
  4. Les données correspondent-elles au contenu visible ? Note, nombre d'avis et prix doivent être ceux que lit l'internaute.
  5. Le robot voit-il le balisage ? S'il est injecté en JavaScript, vérifiez sa présence dans le rendu de Googlebot, pas seulement dans votre navigateur.
  6. La page est-elle indexée, et quand a-t-elle été explorée ? Une correction postérieure à la « Dernière exploration » n'est pas encore connue de Google.
  7. Existe-t-il une action manuelle ? Si oui, aucune correction technique ne suffit sans demande de réexamen.
Comparaison entre code source brut sans balisage et code rendu contenant le JSON-LD
Google indexe le rendu, pas le code source brut.

Les causes que les validateurs signalent#

Le test des résultats enrichis signale ces quatre causes.

Cause 1 – Type inadapté#

L'objet noté n'appartient pas aux types acceptés pour les extraits d'avis, ou la note est rattachée à la WebPage plutôt qu'au Product. Correction : rattacher aggregateRating à l'entité évaluée, d'un type de la liste Google.

Cause 2 – Propriété requise manquante#

Un AggregateRating exige ratingValue, ratingCount ou reviewCount, et le nom de l'objet évalué. Un Review exige author, reviewRating et ce même nom (documentation extraits d'avis). Correction : compléter, avec des valeurs présentes sur la page.

Cause 3 – Format de date non conforme#

datePublished attend le format ISO 8601 : 2026-09-30 ou 2026-09-30T14:20:00+02:00. Un 30/09/2026 issu d'une fonction de date localisée est signalé comme non valide. Correction : formater côté serveur, jamais à partir d'une chaîne traduite.

Cause 4 – Valeurs hors bornes#

Un ratingValue supérieur à bestRating, une note de 8 sans échelle déclarée, ou 4,5 au lieu de 4.5 : Google demande un point décimal. Sans bestRating ni worstRating, il suppose une échelle de 1 à 5. Correction : déclarer l'échelle réelle.

"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "8.4",
  "bestRating": "10",
  "worstRating": "1",
  "reviewCount": "37"
}

Les causes que les validateurs ne détectent pas#

Ici, le test peut rester au vert.

Cause 5 – Balisage dupliqué et entités mal reliées#

Sur WordPress, le thème, l'extension de référencement, la boutique et un module d'avis peuvent chacun produire leur Product. Le test les liste tous, chacun « valide », sans signaler qu'ils se contredisent. Même problème avec @id, l'identifiant qui relie une entité d'un bloc à l'autre : https://exemple.fr/produit/#product et https://exemple.fr/produit#product désignent deux entités distinctes, et la note n'est rattachée à rien. Correction : une seule source de balisage par type, un @id produit par une fonction unique.

Cause 6 – Données balisées absentes de la page visible#

Note absente de l'écran, nombre d'avis différent de celui affiché. Google interdit de baliser un contenu invisible pour le lecteur (consignes générales), et aucun outil ne compare les deux. Correction : générer le balisage à partir des mêmes données que le gabarit.

Cause 7 – Balisage injecté après le chargement#

Un bloc ajouté par un gestionnaire de balises ou un widget d'avis peut manquer au rendu de Google (ressource bloquée, script déclenché par une interaction). Google lit le JSON-LD généré en JavaScript, mais prévient que pour les produits il peut rendre les explorations Shopping moins fréquentes et moins fiables (Google Search Central). Correction : rendre le bloc côté serveur.

Cause 8 – Caractères qui cassent le bloc JSON-LD#

Nous avons rencontré ce cas en développant une extension WordPress qui injecte un bloc AggregateRating. Pour garder des URL lisibles, l'encodage utilisait JSON_UNESCAPED_SLASHES, qui n'échappe plus les barres obliques. Un client avait écrit </script> dans son avis. Le navigateur, qui lit du HTML et non du JSON, a fermé la balise à cet endroit : la fin du JSON s'est affichée en texte.

Collé seul dans un validateur, le JSON est irréprochable ; sur l'URL, l'outil signale au mieux une erreur d'analyse, sans son origine.

// Risqué : "</script>" reste tel quel dans la sortie
echo wp_json_encode( $data, JSON_UNESCAPED_SLASHES );

// Sûr : < et > sont remplacés par des séquences Unicode échappées
echo wp_json_encode( $data, JSON_UNESCAPED_SLASHES | JSON_HEX_TAG );

Correction : garder l'échappement par défaut ou ajouter JSON_HEX_TAG, puis tester avec un avis contenant </script> et <!--.

Cause 9 – Notes ou avis qui ne correspondent à aucun avis réel#

Note codée en dur, avis recopiés d'une plateforme tierce, témoignages choisis par l'entreprise. Ce balisage enfreint les consignes de Google et peut valoir une action manuelle qui retire au site ses résultats enrichis. Ne balisez jamais un contenu absent de la page pour obtenir un affichage.Correction : supprimer le bloc tant qu'il n'existe pas d'avis réels et visibles.

Le cas particulier des étoiles#

Les extraits d'avis sont parmi les résultats enrichis les plus encadrés. Quatre restrictions documentées expliquent la plupart des étoiles absentes.

Une liste fermée de types. Depuis septembre 2019, Google n'affiche les étoiles que pour une liste de types et leurs sous-types (blog Google, 16 septembre 2019) : Book, Course, CreativeWorkSeason, CreativeWorkSeries, Episode, Event, Game, HowTo, LocalBusiness, MediaObject, Movie, MusicPlaylist, MusicRecording, Organization, Product, Recipe, SoftwareApplication (documentation extraits d'avis). Une page Service notée n'en fait pas partie.

Pas d'avis sur soi-même. Une entreprise qui contrôle les avis la concernant et les balise en LocalBusiness ou Organization n'est pas éligible, y compris via un widget tiers intégré (avis Google, Facebook). Google précise que cela seul n'entraîne pas d'action manuelle.

Des avis présents sur la page. Le contenu balisé doit être directement accessible, et il doit être évident que la page contient des avis. Les avis agrégés depuis d'autres sites sont exclus.

Des avis authentiques. Depuis juillet 2026, la documentation exclut les faux avis et les avis incités non déclarés (historique des mises à jour).

Et les secteurs ? La documentation Google consultée le 30 septembre 2026 ne contient aucune restriction propre à un secteur d'activité.

Corriger ou attendre#

À corriger sans attendre : ce qui rend un élément non valide (propriété requise absente, valeur non conforme, JSON cassé), les doublons contradictoires, tout écart avec le contenu visible.

À laisser en l'état, souvent : les avertissements, qui portent sur des propriétés recommandées et n'empêchent pas l'éligibilité. Le test en signale un, par exemple, pour un produit avec une offre mais sans note (documentation extraits de produits). Ajouter une note inexistante pour le faire taire serait une faute.

À attendre : les délais documentés par Google.

ÉtapeOrdre de grandeur documentéSource
Nouvelle exploration après demandeQuelques jours à quelques semaines ; répéter la demande n'accélère rienGoogle Search Central
Validation d'une correction dans un rapportPlusieurs jours, voire plusAide Search Console
Réexamen après action manuellePlusieurs jours ou semainesAide Search Console

Au-delà, l'affichage dépend de choix de Google par requête, que ni vous ni votre prestataire ne contrôlez.

Pourquoi un résultat enrichi disparaît alors qu'il s'affichait#

Cinq pistes, dans cet ordre :

  • Changement de gabarit. Une mise à jour de thème ou d'extension a supprimé, dupliqué ou déplacé le balisage.
  • Évolution des critères de Google. Les résultats HowTo ont été abandonnés en septembre 2023 (Google), sept fonctionnalités retirées en juin 2025 (Google), les résultats FAQ supprimés en mai 2026 (historique). Les extraits d'avis restent documentés.
  • Restriction par type de résultat. Une consigne nouvelle (avis incités, juillet 2026) peut rendre inéligible un balisage qui l'était.
  • Perte de pertinence ou déclassement. Si la page recule ou ressort sur d'autres requêtes, les étoiles peuvent disparaître sans que le balisage ait changé.
  • Action manuelle. Elle retire l'éligibilité aux résultats enrichis sans affecter le classement dans la recherche web, selon Google (consignes générales).

Balisage et moteurs génératifs#

Les données structurées sont souvent présentées comme la clé des réponses générées par IA. Voici ce qui est documenté.

Google : aucune exigence supplémentaire pour apparaître dans les AI Overviews ou le mode IA, et aucun balisage schema.org spécifique à ajouter (« AI features and your website »).

Microsoft : en mars 2025, des propos rapportés indiquaient que le balisage schema aide ses modèles à comprendre les contenus (Search Engine Roundtable). La source est indirecte ; nous n'avons trouvé aucune documentation officielle de Microsoft sur ce point.

Non documenté : aucun moteur n'indique qu'un balisage augmente les chances d'être cité dans une réponse générée.

Et le classement ? Les données structurées rendent une page éligible à un affichage ; Google ne les présente pas comme un facteur de classement. John Mueller l'a résumé en avril 2025 : « Structured data won't make your site rank better » (Bluesky).

Tableau de synthèse#

SymptômeCause probableOutil de vérificationCorrection
Aucun « Extraits d'avis » détectéCause 1 ou 7Test des résultats enrichis (URL)Type accepté, rendu côté serveur
Élément non valideCauses 2, 3, 4Test des résultats enrichisCompléter, ISO 8601, échelle déclarée
Plusieurs Product détectésCause 5Code renduUne seule source de balisage
Test au vert, rien dans les résultatsCause 6 ou 9, avis sur soi-même, page non exploréePage visible, inspection d'URLAligner sur le visible, attendre
Texte JSON visible, page casséeCause 8Code source des pages concernéesJSON_HEX_TAG
Toutes les étoiles du site disparuesAction manuelle, gabarit modifiéRapport sur les actions manuellesCorriger, demander un réexamen
Étoiles sur certaines requêtes seulementChoix de GoogleSearch Console, performancesRien

Checklist avant mise en ligne d'un balisage#

  • ☐ Type présent dans la liste Google du résultat visé
  • ☐ Propriétés requises complètes, tirées des données réelles
  • ☐ Dates ISO 8601, point décimal, échelle déclarée
  • ☐ Un seul balisage par entité dans le code rendu, @id cohérents
  • ☐ Chaque valeur balisée visible sur la page
  • ☐ Avis authentiques, pas sur l'entreprise elle-même, pas copiés d'un autre site
  • ☐ Encodage testé avec un avis contenant </script>
  • ☐ Test lancé sur l'URL en ligne, pas sur un extrait

FAQ#

Pourquoi mes étoiles n'apparaissent pas alors que mon balisage est valide ? Valide ne veut pas dire éligible, ni éligible affiché. Causes fréquentes : avis sur soi-même, type non accepté, avis absents de la page.

Combien de temps avant l'apparition d'un résultat enrichi ? Selon Google, une nouvelle exploration prend de quelques jours à quelques semaines. L'affichage dépend ensuite de la requête et n'est jamais garanti.

Faut-il supprimer les avertissements ? Non : ils n'empêchent pas l'éligibilité. Complétez-les seulement si l'information existe sur la page.

Peut-on baliser des données non visibles ? Non. Google l'interdit, et cela peut entraîner une action manuelle qui retire l'éligibilité aux résultats enrichis.

Deux balisages sur une page, est-ce un problème ? Pas pour deux entités différentes. Pour deux descriptions contradictoires de la même entité, oui : gardez-en une seule.

Les données structurées sont-elles un facteur de classement ? Google ne les présente pas comme tel. Elles rendent une page éligible à des affichages enrichis, ce qui est différent.

Conclusion#

Quand les étoiles manquent, la bonne question n'est pas « mon balisage est-il valide ? » mais « à quel état s'arrête-t-il ? ». Les causes 1 à 4 se lisent dans les outils, les causes 5 à 9 dans le code rendu et la page.

Pour un regard extérieur sur votre balisage, l'équipe Websource peut en faire le diagnostic : websource.fr/contact.

Sources#

Toutes les sources ont été consultées le 30 septembre 2026.