Balisage Fiche marchand (Product, Offer) pour vendre dans Google
Le balisage Product/Offer rend vos pages produit éligibles aux fiches marchand de Google (prix, stock, livraison, retours). Propriétés obligatoires, recommandées, exemple et pièges.
La fiche marchand s’adresse aux pages où l’on peut acheter le produit. Avec le balisage Product et son objet Offer, Google peut afficher prix, disponibilité, livraison et retours dans la fiche info Shopping, Google Images, les produits populaires et les extraits produit. Si votre page présente un avis de test sans achat direct, c’est l’extrait produit qu’il faut viser ; pour vendre, c’est bien la fiche marchand.
Sur une page d’achat, c’est la fiche marchand qu’il faut viser, pas l’extrait produit, et je vois encore l’inverse trop souvent. La propriété que les gens négligent, c’est la disponibilité : un produit balisé en stock alors qu’il est épuisé, et la confiance s’effondre côté Shopping. Pensez à intégrer livraison et retours ici aussi, car c’est l’ensemble qui rend votre offre compétitive dans la fiche info.
Comment l'ajouter
Ajoutez les propriétés obligatoires au format JSON-LD dans le code de la page, validez avec l’outil de test des résultats enrichis, puis déployez et demandez l’exploration. Un point clé : un seul produit (ou ses variantes) par page, jamais une page de catégorie ou de liste. Une page par devise, et chaque variante sur sa propre URL ; le détail est expliqué dans les variantes de produit. Évitez de générer le balisage uniquement en JavaScript : pour des données qui changent vite comme le prix et le stock, le HTML initial est plus fiable.
Les propriétés obligatoires
Le socle décrit le produit et son offre de vente.
| Propriété | Type | Rôle |
|---|---|---|
name |
Text |
Nom du produit |
image |
URL |
Une ou plusieurs images du produit |
offers |
Offer |
L’offre de vente (objet imbriqué) |
offers.price |
Nombre |
Prix actif du produit |
offers.priceCurrency |
Text |
Devise au format ISO 4217 (ex. EUR) |
offers.availability |
Text |
Disponibilité (ex. https://schema.org/InStock) |
Les propriétés recommandées
Elles enrichissent la fiche et augmentent l’éligibilité.
| Propriété | Type | Rôle |
|---|---|---|
sku / gtin / mpn |
Text |
Identifiants produit (référence, code-barres) |
brand |
Brand |
Marque du produit (brand.name) |
description |
Text |
Description du produit |
review |
Review |
Un avis sur le produit |
aggregateRating |
AggregateRating |
Note moyenne (ratingValue + reviewCount) |
offers.itemCondition |
Text |
État (NewCondition, UsedCondition) |
offers.priceValidUntil |
Date |
Date de fin de validité du prix |
offers.shippingDetails |
OfferShippingDetails |
Frais et délais de livraison |
offers.hasMerchantReturnPolicy |
MerchantReturnPolicy |
Conditions de retour |
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Casque audio X",
"image": ["https://monsite.fr/casque.jpg"],
"description": "Casque circum-aural à réduction de bruit.",
"sku": "0446310786",
"brand": {"@type": "Brand", "name": "ACME"},
"offers": {
"@type": "Offer",
"url": "https://monsite.fr/casque-x",
"price": 129.00,
"priceCurrency": "EUR",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceValidUntil": "2026-12-31"
}
}
Google distingue le prix actif (sans priceType), le prix barré (priceType réglé sur StrikethroughPrice) et le prix membre (validForMemberTier). Règle stricte : priceType et validForMemberTier ne doivent jamais coexister sur une même spécification, sinon elle est ignorée. Et si vous renseignez à la fois price et une priceSpecification pour le prix actif, Google retient price.
Livraison et retours
Vous pouvez préciser la livraison via offers.shippingDetails (tarif, destination, délai de préparation et de transit) et les retours via offers.hasMerchantReturnPolicy (pays, délai, méthode, frais). En pratique, mieux vaut définir des conditions standards au niveau de votre organisation et ne surcharger au niveau du produit que pour les exceptions, comme le détaillent les conditions de livraison.
À faire
- un prix et une disponibilité exacts et à jour
- des identifiants produit (gtin, mpn)
- un seul produit par page
- le balisage dans le HTML initial
À éviter
- baliser une page catégorie ou de liste
- faire coexister prix barré et prix membre
- un prix balisé différent de celui affiché
- produits interdits (armes, tabac, jeux d’argent)
Points clés à retenir
- Product avec name, image et un Offer complet (price, priceCurrency, availability)
- Identifiants et marque renseignés quand ils existent
- Prix actif, barré et membre correctement distingués
- Livraison et retours cohérents avec vos pages
- Validation sans erreur dans l'outil de test des résultats enrichis
Avant publication, vérifiez l’essentiel.
Quiz : testez vos connaissances
Quiz : testez vos connaissances
-
Combien de produits peut-on baliser sur une même page avec Product ?
- Autant de produits que la page en affiche
- Trois produits minimum pour former un carrousel
- Un seul produit, ou ses variantes, jamais une page de catégorie
La règle est stricte : un seul produit, ou ses variantes, par page. Ne balisez jamais une page de catégorie ou de liste.
-
Peut-on faire coexister un prix barré et un prix membre sur une même offre ?
- Oui, si les deux montants sont exacts
- Oui, à condition d'utiliser deux balisages distincts
- Non, c'est interdit
Google distingue le prix actif, le prix barré (
StrikethroughPrice) et le prix membre (validForMemberTier). Le prix barré et le prix membre ne peuvent pas coexister. -
Quand utiliser la fiche marchand plutôt que l'extrait produit ?
- Pour les pages de catégorie regroupant plusieurs articles
- Pour les pages d'avis ou de test sans achat direct
- Pour les pages d'achat affichant prix et stock
La fiche marchand vise les pages où l’on peut acheter le produit, avec prix et disponibilité. L’extrait produit vise les pages d’avis ou de test sans achat direct.
Besoin d'un accompagnement SEO ?
Une boutique à faire ressortir dans Google Shopping et la recherche ? On structure vos fiches produit.