Avis vérifiés, grâce à l’intégration de notre widget produit vous permet d’intégrer nativement les données structurées nécessaires à l’affichage des Rich Snippets (extraits enrichis) dans les résultats de recherche organique.
Cependant, vous avez peut-être temporairement constaté une diminution du nombre d’extraits d’avis valides dans votre Search Console, ou encore une baisse, voire une disparition du volume d’affichage des étoiles sous les liens de vos pages produits dans les résultats de recherche (SERP) ?
Notre widget est constitué sur la base d’un script Javascript. Google traite spécifiquement cette technologie qui nécessite d’être exécutée par un moteur de rendu pour pouvoir lire son contenu.
Il peut arriver que Google n’exécute pas systématiquement le Javascript de notre widget produit et donc ne voit pas les données structurées qu’il contient, ce qui peut empêcher l’affichage des Rich Snippets (étoiles, nombre d’avis, extraits d’avis).
Ce comportement est aléatoire et n’a fait l’objet d’aucune communication officielle de la part de Google.
Ainsi, pour garantir une visibilité permanente des données structurées, nous vous recommandons d’implémenter manuellement des données structurées au format JSON-LD, directement dans le code HTML de vos pages produit.
Cette intégration s’appuie sur notre API Avis Produits et ce guide vous accompagne pas à pas pour enrichir vos pages produit avec des données structurées JSON-LD, conformes aux exigences de Google.
Comme précisé dans la documentation officielle Google, avoir des données structurées correctes et bien formatées au sein de sa page ne garantit pas à 100% un affichage enrichi dans les résultats de recherche. Cet affichage reste algorythmique selon des règles que seul le moteur de recherche maitrise.
Prérequis
- Un client_id / client_secret OAuth2 valide (disponible dans votre espace Avis Vérifiés)
- Un ID de variation de produit (product_variation_id) pour chaque produit de ton site. (La référence du produit pour lequel tu reçois des avis)
La documentation complète de l’API
Désactiver les Rich Snippets du widget produit
- Depuis le menu latéral gauche, cliquez sur
Affichage des avis, puis Intégrer mes widgets.
- Cliquez sur le
petit crayon associé au widget produit de votre choix.
- Depuis les paramètres avancés, décochez l'activation des Rich Snippets.
Aperçu des API Endpoints
L’endpoint Ratings de l’API vous permettra de récupérer la note moyenne et le nombre d’avis pour un produit.
URL
https://api.skeepers.io/verified-reviews/v1/published/productsExemple d’appel API
https://api.skeepers.io/verified-reviews/v1/published/products?product_variation_id=6938012334889
--header 'Authorization: ••••••'
Exemple concret de résultat obtenu
[
{
"product_variation_id": "6938012334889",
"ratings": {
"average": 4.5,
"count_total": 127,
...
},
...
}
]
Cliquez ici pour Voir la documentation API API Endpoints des avis (optionnel)
Cette API Endpoints vous permet de récupérer tous les avis d’un produit.
URL
https://api.skeepers.io/verified-reviews/v1/published/products/reviews?product_variation_id=6938012334889
--header 'Authorization: ••••••'Exemple concret de résultat obtenu
A list of user reviews including the author, content, rating, and publication date.
[
{
"review_id": "67d7b591-40a2-7ab4-1925-0b2db7753c90",
"author_firstname": "John",
"author_lastname": "Doe",
"review_date": "2024-06-24T15:12:31Z",
"review_content": "Great product!",
"review_rate": 5,
...
},
...
]
Cliquez ici pour Voir la documentation API Guide d’intégration étape par étape
Étape 1 : Récupérer les Ratings Data
Il est nécessaire d'utiliser le Products endpoint pour obtenir la note moyenne et le nombre d’avis d’un produit.
Exemple de réponse API :
{
"product_variation_id": "6938012334889",
"ratings": {
"average": 4.5,
"count_total": 127,
...
},
...
}Étape 2 : Créer le code JSON
Il est temps de créer les données structurées JSON-LD.
Pour cela, intégrez ce snippet JSON-LD dans le <head> ou juste avant la balise de fermeture </body> de votre page produit :
-
Générez le bloc ci-dessous :
<script type="application/ld+json"> { "@context": "https://schema.org", "@id": "https://www.example.com/product/6938012334889", "@type": "Product", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.5", "ratingCount": 127, "bestRating": 5, "worstRating": 1 } } </script>Remplacez : - Remplacez l'@id par l’URL canonique de votre produit.
- Remplacez les ratingValue et ratingCount par les valeurs issues de l’API.
- Laissez le reste tel quel !
Étape 3 : Ajouter les avis individuels/individual reviews (optionnel)
Pour aller plus loin et afficher les avis réels (Google peut décider de les afficher ou non), vous pouvez également intégrer les données des avis :
- Récupérez les avis en utilisant le Product Reviews Endpoint
- Convertissez chaque avis au format suivant :
"review": [
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "R Sophie",
"givenName": "Sophie",
"familyName": "R"
},
"datePublished": "2025-03-14T14:12:00.000Z",
"reviewBody": "J'adore ces écouteurs ! Ils bloquent le bruit de fond et sont très légers.",
"reviewRating": {
"@type": "Rating",
"bestRating": 5,
"worstRating": 1,
"ratingValue": 5
}
}
]
Vous pouvez inclure plusieurs objets à l’intérieur de
"review": [ ... ].Google recommande d’inclure :
reviewRating,datePublishedetauthor.
Exemple complet incluant les avis :
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@id": "https://www.example.com/product/57713",
"@type": "Product",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"ratingCount": 12,
"bestRating": 5,
"worstRating": 1
},
"review": [
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "R Sophie",
"givenName": "Sophie",
"familyName": "R"
},
"datePublished": "2025-03-14T14:12:00.000Z",
"reviewBody": "J'adore ces écouteurs ! Ils bloquent le bruit de fond et sont très légers.",
"reviewRating": {
"@type": "Rating",
"bestRating": 5,
"worstRating": 1,
"ratingValue": 5
}
}
]
}
</script>Où charger les données structurées ?
Fortement recommandé
Nous recommandons vivement de générer et d’intégrer les données structurées côté serveur, directement dans le HTML, avant que la page ne soit envoyée au navigateur.
Ainsi, lorsque Googlebot ou d’autres crawlers de moteurs de recherche accèdent à votre page, les données structurées sont déjà présentes dans le HTML brut — ce qui les rend faciles et fiables à indexer.
Exemple : Incluez le bloc <script type="application/ld+json"> dans le template HTML rendu par votre backend, par exemple en PHP, Node.js, Python (Django, Flask), Ruby, etc.
À éviter
L'injection JavaScript sur votre site, car Google risque de ne pas voir ou mal indexer ces données.
Bien qu’il soit techniquement possible d’injecter des données structurées via JavaScript côté frontend (par exemple avec React, Vue ou d’autres frameworks), cette approche est moins fiable car :
- Google peut ne pas exécuter entièrement votre JavaScript, voire pas du tout, selon la vitesse de chargement de la page et le budget de crawl.
- Les données structurées chargées de manière asynchrone peuvent être manquées ou retardées dans l’indexation.
- Vous risquez d’obtenir des résultats inconsistants selon les produits ou les mises à jour.
Bonnes pratiques
- Les données structurées doivent correspondre au contenu visible sur la page.
- Les dates doivent suivre le format ISO 8601 : "2025-03-14T14:12:00.000Z".
- Utilisez uniquement de vrais avis clients (soumis par les utilisateurs).
- Mettez régulièrement à jour les données structurées avec de nouveaux avis et notes.
- Une seule balise "Product" par page est autorisée pour que les Rich Snippets fonctionnent correctement.
Tester la validation des données
Utilisez l’outil Google Rich Results Test pour vérifier que les données structurées sont correctes et bien détectées