Utilisez le balisage de données structurées sur les pages de destination de vos produits afin de permettre à Google de récupérer des informations à jour sur vos produits et vos offres, directement à partir de votre site Web. Le balisage de données structurées compatible avec Merchant Center est assorti de valeurs acceptées et d'attributs correspondants, comme indiqué dans les spécifications des données produit. Vos données structurées doivent être associées aux valeurs et attributs correspondants.
Sur cette page :
Attributs et annotations schema.org
Les attributs sont des éléments permettant d'organiser les données produit que vous envoyez à Merchant Center. Chaque attribut contient une seule information sur un produit, comme son titre ou sa description. Associez précisément les valeurs schema.org aux attributs des spécifications des données produit correspondants pour éviter les erreurs lors de la validation de votre flux.
Remarque : Si vous utilisez la mise à jour automatique des articles, veillez à spécifier les propriétés schema.org price
, priceCurrency
, availability
et condition
pour améliorer la précision. En savoir plus sur la mise à jour automatique des articles
Attribut des données produit
|
Type et description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Les attributs suivants appartiennent au type de propriété schema.org Product . |
|||||||||||||||||||||||||||||
Texte | |||||||||||||||||||||||||||||
Texte | |||||||||||||||||||||||||||||
Texte | |||||||||||||||||||||||||||||
URL | |||||||||||||||||||||||||||||
Texte SKU parent, nécessaire pour regrouper toutes les variantes de produits qui appartiennent au même groupe de produits. |
|||||||||||||||||||||||||||||
Texte Code GTIN qui identifie votre produit de manière unique Ne spécifiez qu'une seule de ces propriétés schema.org. Si vous utilisez des valeurs GTIN, celles-ci doivent avoir la bonne longueur et contenir le bon chiffre de contrôle. |
|||||||||||||||||||||||||||||
Texte | |||||||||||||||||||||||||||||
Texte | |||||||||||||||||||||||||||||
Texte | |||||||||||||||||||||||||||||
Texte Utilisez la propriété |
|||||||||||||||||||||||||||||
Texte Utilisez la propriété
|
|||||||||||||||||||||||||||||
ET |
Chiffre (en années) Utilisez la propriété Les valeurs valides correspondent à celles définies par l'attribut
|
||||||||||||||||||||||||||||
Texte | |||||||||||||||||||||||||||||
OU |
Texte Utilisez la propriété |
||||||||||||||||||||||||||||
Texte Utilisez la propriété Les valeurs valides proviennent du type
|
|||||||||||||||||||||||||||||
Texte Utilisez la propriété Les valeurs valides appartiennent au type WearableSizeSystemEnumeration. Elles sont associées aux valeurs du flux comme suit :
|
|||||||||||||||||||||||||||||
Utilisez la propriété |
|||||||||||||||||||||||||||||
Utilisez la propriété |
|||||||||||||||||||||||||||||
Utilisez la propriété |
|||||||||||||||||||||||||||||
Utilisez la propriété |
|||||||||||||||||||||||||||||
Les propriétés schema.org suivantes appartiennent au type Offer, qui doit être imbriqué dans un |
|||||||||||||||||||||||||||||
URL valide vers votre produit | |||||||||||||||||||||||||||||
OU : |
price : nombre. Envoyé sans symbole de devise, séparateur de milliers ni espace (par exemple, "1498.99"). priceCurrency : texte. Envoyée au format ISO 4217 à trois lettres (par exemple, USD, GBP ou EUR), la devise doit respecter les exigences concernant la langue et la devise pour votre pays cible. Remarque : Les valeurs price et priceCurrency peuvent être renseignées directement dans l'instance Offer ou indirectement via la propriété priceSpecification de type UnitPriceSpecification. Lorsque l'attribut sale_price est spécifié, la valeur price doit être indiquée à l'aide d'une propriété priceSpecification avec priceSpecification.priceType="ListPrice". L'attribut sale_price peut être spécifié directement dans l'instance Offer ou via une propriété priceSpecification de type UnitPriceSpecification sans priceSpecification.priceType. |
||||||||||||||||||||||||||||
Les valeurs valides proviennent du type
|
|||||||||||||||||||||||||||||
Les valeurs valides proviennent du type
|
|||||||||||||||||||||||||||||
Une URL de paiement valide pour votre produit. |
Exemples au format JSON-LD
Produit unique
Exemple
L'exemple suivant présente un produit de base avec un nombre minimal de propriétés obligatoires.
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 39.99,
"priceCurrency": "USD"
}
}
L'exemple suivant montre comment spécifier un type de coupe et un système de tailles à l'aide de schema.org. L'exemple spécifie la taille américaine "XL" pour un T-shirt bleu destiné aux adultes (âgés d'au moins 13 ans) et appartenant à la ligne de vêtements pour hommes "Très grande taille".
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "12345",
"image": "https://www.example.com/tshirt.jpg",
"name": "Classic T-Shirt",
"description": "All-cotton t-shirt in classic cut",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"material": "cotton",
"color": "blue",
"size": {
"@type": "SizeSpecification",
"name": "XL",
"sizeSystem": "https://schema.org/WearableSizeSystemUS",
"sizeGroup": [
"https://schema.org/WearableSizeGroupBig",
"https://schema.org/WearableSizeGroupTall"
]
},
"audience": {
"@type": "PeopleAudience",
"suggestedGender": "male",
"suggestedMinAge": 13
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/tshirt",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 24.99,
"priceCurrency": "USD"
}
}
Plusieurs produits sans rapport affichés sur la même page de destination
Lorsque votre page contient plusieurs produits sans rapport et que chacun d'entre eux possède sa propre annotation de données structurées, chaque annotation doit contenir des informations qui identifient le produit auquel elle fait référence.
Par exemple, nous vous recommandons de fournir le SKU (attribut identifiant [id]
) ou le code GTIN (attribut [gtin]
) dans chaque annotation. Sans ces informations, les produits de votre page de destination sont susceptibles de ne pas correspondre à vos données produit structurées. En savoir plus sur la configuration des données structurées sur les pages de destination
Exemple
[
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 39.99,
"priceCurrency": "USD"
}
},
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "racket-12345",
"image": "https://www.example.com/racket.jpg",
"name": "Nice racket",
"description": "Racket for Tennis",
"gtin": "12345678901235",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/racket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 59.99,
"priceCurrency": "USD"
}
}
]
Prix soldé
L'exemple suivant présente un produit de base avec un prix soldé. Pour indiquer un prix soldé, spécifiez également le prix catalogue d'origine dans la propriété /priceType.
Exemple
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 10.00,
"priceCurrency": "USD",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/ListPrice",
"price": 15.00,
"priceCurrency": "USD"
}
}
}
If a /UnitPriceSpecification is also used for the non sale-price, the encoding simply contains two /UnitPriceSpecifications:
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"gtin": "12345678901234",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": [
{
"@type": "UnitPriceSpecification",
"price": 10.00,
"priceCurrency": "USD"
},
{
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/ListPrice",
"price": 15.00,
"priceCurrency": "USD"
}
]
}
}
Livraison
Pour indiquer les frais de port (recommandé) de votre produit, utilisez le type schema.org OfferShippingDetails
, qui doit être imbriqué dans le type Offer à l'aide de la propriété shippingDetails
et qui est mis en correspondance avec l'attribut shipping
dans les spécifications des données produit. Vous pouvez fournir plusieurs propriétés shippingDetails
.
Attribut des données produit
|
Type et description |
---|---|
Les attributs suivants appartiennent au type de propriété schema.org OfferShippingDetails . |
|
|
Texte Code pays ISO 3166-1 à deux chiffres Utilisez la propriété |
Texte Code de subdivision ISO 3166-2 à deux ou trois chiffres, sans le préfixe du pays. Disponible uniquement pour l'Australie, les États-Unis et le Japon. Exemples : "NY", "NSW" ou "03". Utilisez la propriété |
|
Utilisez la propriété |
|
Nombre (entier non négatif) Spécifie les nombres minimal et maximal de jours ouvrés pour le traitement et l'acheminement d'une commande. Le temps de traitement correspond à la période entre le moment où la commande est passée et celui où elle est remise au transporteur. Le délai d'acheminement correspond à la période entre le moment où le produit est remis au transporteur et celui où le client le reçoit. Utilisez la propriété |
Exemple
L'exemple suivant montre comment spécifier des informations de livraison à l'aide de schema.org. L'exemple spécifie des frais de port de 3.49 USD pour les livraisons vers les États américains de l'Arizona, de la Californie et du Nevada. Le temps de traitement est compris entre 0 et 1 jour ouvré. Le délai d'acheminement est compris entre 1 et 5 jours ouvrés.
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"gtin": "12345678901234",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 39.99,
"priceCurrency": "USD"
},
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US",
"addressRegion": [ "CA", "NV", "AZ" ]
},
"shippingRate": {
"@type": "MonetaryAmount",
"value": 3.49,
"currency": "USD"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 5,
"unitCode": "DAY"
}
}
}
}
}
Retours
Pour spécifier des périodes et des frais de retour pour votre produit, utilisez un type de propriété schema.org MerchantReturnPolicy, imbriqué dans le type Offer à l'aide de la propriété hasMerchantReturnPolicy.
Attribut des données produit
|
Type et description |
---|---|
Les propriétés schema.org suivantes appartiennent au type MerchantReturnPolicy, qui doit être imbriqué dans un produit à l'aide de la propriété offers (voir les exemples ci-dessous). | |
applicableCountry |
Code pays ISO 3166-1 alpha-2 à deux lettres (par exemple, "US") Code pays ISO 3166-1 alpha-3 à trois lettres (par exemple, "USA") Pays auquel des conditions de retour spécifiques d'un marchand s'appliquent. Il peut être différent du pays d'expédition du produit. Vous pouvez spécifier jusqu'à 50 pays. |
Les valeurs valides proviennent du type MerchantReturnEnumeration. Si les valeurs MerchantReturnFiniteReturnWindow ou MerchantReturnUnlimitedWindow sont spécifiées, les propriétés returnMethod et returnShippingFeesAmount sont recommandées. En outre, si la valeur MerchantReturnFiniteReturnWindow est spécifiée, la propriété merchantReturnDays est obligatoire. |
|
merchantReturnDays |
Nombre de jours (à compter de la date de livraison) pendant lesquels un produit peut être retourné. |
returnMethod |
Les valeurs valides proviennent du type ReturnMethodEnumeration :
|
returnFees | La valeur valide est "FreeReturn" du type ReturnFeesEnumeration. |
returnShippingFeesAmount |
Informations sur les frais de port pour les retours de produits. |
Exemple
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "trinket-12345",
"gtin": "12345678901234",
"image": "https://www.example.com/trinket.jpg",
"name": "Nice trinket",
"description": "Trinket with clean lines",
"brand": {
"@type": "Brand",
"name": "MyBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/trinket_offer",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 39.99,
"priceCurrency": "USD"
},
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": 2.99,
"currency": "USD"
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 5,
"unitCode": "DAY"
}
}
},
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 60,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
}
}
Efficacité énergétique
Schema.org permet d'étiqueter les produits pour indiquer leur efficacité énergétique à l'aide du type EnergyConsumptionDetails
pouvant être spécifié pour un produit qui utilise la propriété EnergyConsumptionDetails
.
Attribut des données produit
|
Type et description |
---|---|
Les propriétés schema.org suivantes appartiennent au type EnergyConsumptionDetails . |
|
Les valeurs valides proviennent du type de propriété schema.org |
|
À ajouter en dessous de l'instance EnergyConsumptionDetails utilisée pour spécifier l'attribut energy_efficiency_class . Vous devez sélectionner la valeur à l'aide du même tableau de mise en correspondance. Si aucune valeur n'est fournie et que energy_efficiency_class est spécifié, la valeur EUEnergyEfficiencyCategoryG est utilisée. |
|
À ajouter en dessous de l'instance EnergyConsumptionDetails utilisée pour spécifier l'attribut energy_efficiency_class . Vous devez sélectionner la valeur à l'aide du même tableau de mise en correspondance. Si aucune valeur n'est fournie et que energy_efficiency_class est spécifié, la valeur EUEnergyEfficiencyCategoryA3Plus est utilisée. |
Les valeurs d'energyEfficiencyScale
, d'energyEfficiencyScaleMin
et d'energyEfficiencyScaleMax
proviennent du type d'énumération schema.org EUEnergyEfficiencyEnumeration
. Elles sont mises en correspondance avec les valeurs des trois attributs d'efficacité énergétique dans les spécifications des données produit comme illustré ci-dessous.
Valeur des spécifications des données produit | Valeur d'énumération Schema.org appartenant au type EUEnergyEfficiencyEnumeration type |
---|---|
A+++ |
EUEnergyEfficiencyCategoryA3Plus |
A++ |
EUEnergyEfficiencyCategoryA2Plus |
A+ |
EUEnergyEfficiencyCategoryA1Plus |
A |
EUEnergyEfficiencyCategoryA |
B |
EUEnergyEfficiencyCategoryB |
C |
EUEnergyEfficiencyCategoryC |
D |
EUEnergyEfficiencyCategoryD |
E |
EUEnergyEfficiencyCategoryE |
F |
EUEnergyEfficiencyCategoryF |
G |
EUEnergyEfficiencyCategoryG |
Exemple
L'exemple suivant montre comment spécifier des informations sur l'efficacité énergétique à l'aide de schema.org. Il indique la classe énergétique européenne "C", avec une échelle qui s'étend de "A+" à "F", pour un chauffe-eau.
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "1234-5678",
"image": "https://www.example.com/waterheater.jpg",
"name": "Chauffe-eau",
"description": "Chauffe-eau à grande capacité",
"gtin": "12345678901231",
"mpn": "WH1234",
"brand": {
"@type": "Brand",
"name": "ExampleWaterHeaterBrand"
},
"hasEnergyConsumptionDetails": {
"hasEnergyEffiencyCategory": "https://schema.org/EUEnergyEfficiencyCategoryC",
"energyEffiencyScaleMax":
"https://schema.org/EUEnergyEfficiencyCategoryA1Plus",
"energyEffiencyScaleMin": "https://schema.org/EUEnergyEfficiencyCategoryF"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/hotwaterheater",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"price": 1799.00,
"priceCurrency": "EUR"
}
}
Prix unitaire
Schema.org prend en charge le prix unitaire pour les produits utilisant la propriété referenceQuantity
sous le type UnitPriceSpecification
, renseigné à l'aide de la propriété priceSpecification
dans l'instance Offer. Lorsque vous indiquez un prix unitaire, indiquez également le prix et la devise du produit à l'aide de la propriété priceSpecification
(au lieu d'utiliser directement les propriétés price
et priceCurrency
dans l'instance Offer).
Attribut des données produit
|
Type et description |
---|---|
Les propriétés schema.org suivantes appartiennent au type UnitPriceSpecification . |
|
Spécifiez la mesure de prix unitaire à l'aide d'une propriété Utilisez la propriété |
|
Spécifiez la mesure de base de prix unitaire à l'aide d'une propriété Utilisez la propriété |
Exemple
L'exemple suivant illustre un prix de 3.99 EUR pour un sac de riz de 5 kg avec un prix standardisé recommandé pour 1 kg. Cela signifie que le produit peut être présenté aux consommateurs au prix unitaire de 0.80 EUR/kilo.
{
"@context": "https://schema.org/",
"@type": "Product",
"sku": "basrice12345",
"image": "https://www.example.com/rice.jpg",
"name": "Basmati rice",
"description": "Large bag of Organic Basmati white rice, 5 Kilogram",
"gtin": "12345678901231",
"brand": {
"@type": "Brand",
"name": "ExampleRiceBrand"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/basrice1kg",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 3.99,
"priceCurrency": "EUR",
"referenceQuantity": {
"@type": "QuantitativeValue",
"value": 5,
"unitCode": "KGM",
"valueReference": {
"value": 1,
"unitCode": "KGM"
}
}
}
}
}
Tester votre balisage
Testez l'implémentation de vos données schema.org à l'aide de l'outil de test des résultats enrichis (en consultant les rapports sur les données structurées de type "Fiches de marchand"). Accédez au Centre d'aide Google Search Console pour découvrir comment utiliser cet outil, résoudre les problèmes rencontrés et interpréter les résultats. En savoir plus sur les données produit structurées
Exigences concernant le balisage des données structurées
- Le balisage des données structurées doit être inclus dans le code HTML renvoyé par le serveur Web. Il ne peut pas être généré avec JavaScript après le chargement de la page.
- Votre page de destination ne peut pas changer en fonction d'informations sur le client, par exemple vous ne pouvez pas adapter le prix en fonction de son adresse IP ou de son type de navigateur.
- Les données structurées doivent correspondre aux valeurs présentées au client. Si vous fournissez des données incorrectes sur les pages de destination de vos produits, vous enfreignez nos consignes pour les développeurs Web.
- Nous vous recommandons d'utiliser le format JSON-LD pour vos données structurées.