Comment réparer mes problèmes de microdonnées / Rich Snippets ?
Les données structurées décrivent vos produits pour les moteurs de recherche. Google peut les utiliser pour les résultats enrichis et pour contrôler ou mettre à jour certaines données Merchant Center. Elles sont distinctes du flux XML.
Vérifier le balisage actuel
- Testez l’URL exacte du produit, avec sa variante et sa devise, dans le test Google des résultats enrichis.
- Contrôlez les objets
ProductetOffer, en JSON-LD ou microdonnées : prix numérique, devise, disponibilité, état et URL doivent correspondre à l’offre visible. - Recherchez les objets dupliqués ou contradictoires produits par le thème, les modules ou le cache.
- Pour les avis, vérifiez que les données de note et de nombre d’avis sont correctement associées au produit concerné.
- Faites corriger la source réelle du balisage par votre intégrateur, puis retestez les pages et le XML.
Dans la valeur structurée de prix, utilisez le format attendu par Google, par exemple 29.90, avec la devise dans son attribut dédié. L’affichage visible au client peut garder sa présentation locale. Un attribut content n’est pertinent que pour le balisage microdata auquel il s’applique ; ce n’est pas un correctif universel pour du JSON-LD.
Les anciens exemples ci-dessous concernent des templates PrestaShop 1.6. Ils ne doivent pas être copiés tels quels dans un thème PrestaShop récent. La correction dépend du thème et de la version réellement utilisés.
Exemple historique : product.tpl
Avant :
<span id="our_price_display" class="price" itemprop="price">{convertPrice price=$productPrice|floatval}</span>
Après, dans le contexte historique décrit :
<span id="our_price_display" class="price" itemprop="price" content="{$productPrice}">{convertPrice price=$productPrice|floatval}</span>
Exemple historique : product-list.tpl
Avant :
<span itemprop="price" class="price product-price">
Après, dans le contexte historique décrit :
<span itemprop="price" class="price product-price" content="{if !$priceDisplay}{$product.price}{else}{$product.price_tax_exc}{/if}">
Exemple historique : productscategory.tpl
Avant :
<p class="price_display">
<span class="price">{convertPrice price=$categoryProduct.displayed_price}</span>
</p>
Après, dans le contexte historique décrit :
<p class="price_display">
<span class="price" content="{$categoryProduct.displayed_price}">{convertPrice price=$categoryProduct.displayed_price}</span>
</p>
Pour les règles détaillées : Documentation officielle Google.