Données structurées pour les conditions de livraison du marchand (ShippingService)
Les conditions de livraison de nombreux marchands décrivent la procédure que les clients doivent suivre pour se faire livrer les produits qu'ils ont achetés.
Lorsque vous ajoutez des données structurées ShippingService à votre site, la recherche Google peut utiliser ces informations pour afficher les conditions de livraison à côté des informations sur vos produits ainsi que dans les fiches info des résultats de recherche.
ShippingService vous permet de spécifier des informations telles que les frais de port et les délais de livraison en fonction des caractéristiques du produit, comme son poids, ses dimensions ou le lieu de livraison.
Vous pouvez spécifier des conditions de livraison standards pour votre entreprise qui s'appliquent à la plupart ou à tous les produits que vous vendez à l'aide du type de données structurées ShippingService imbriqué sous le type de données structurées Organization à l'aide de la propriété hasShippingService.
Comment ajouter des données structurées
Ces données structurées représentent un format normalisé permettant de fournir des informations sur une page et de classer son contenu. En savoir plus sur le fonctionnement des données structurées
Voici, dans les grandes lignes, comment créer, tester et publier des données structurées.
- Ajoutez les propriétés obligatoires. En fonction du format que vous utilisez, découvrez où insérer des données structurées sur la page.
- Suivez les consignes.
- Validez votre code à l'aide de l'outil de test des résultats enrichis et corrigez les erreurs critiques, le cas échéant. Envisagez également de résoudre les problèmes non critiques que l'outil a pu signaler, car cela peut contribuer à améliorer la qualité de vos données structurées. Toutefois, ce n'est pas nécessaire pour pouvoir bénéficier des résultats enrichis.
- Déployez quelques pages où figurent vos données structurées et utilisez l'outil d'inspection d'URL pour découvrir comment Google voit la page. Assurez-vous que Google peut accéder à votre page et qu'elle n'est pas bloquée par un fichier robots.txt, la balise
noindexni par des identifiants de connexion. Si tout semble être en ordre, vous pouvez demander à Google d'explorer de nouveau vos URL. - Pour informer Google des modifications futures de vos pages, nous vous recommandons de nous envoyer un sitemap. Vous pouvez automatiser cette opération à l'aide de l'API Sitemap de la Search Console.
Exemples
Cet exemple montre que la livraison en deux jours est à 0 $ pour les commandes supérieures à 29,99 $aux États-Unis et au Canada. Autrement, la livraison en trois jours est proposée à 3,49 $. Au Mexique, la livraison est à 0 $ pour les commandes inférieures à 50 $, et elle est de quatre jours avec des frais de port de 10 % dans les autres cas.
<html>
<head>
<title>Our shipping policy</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "https://schema.org/Organization",
"hasShippingService": {
"@type": "ShippingService",
"@id": "#us_ca_mx_standard_shipping",
"name": "Standard shipping policies for US, Canada and Mexico",
"description": "US and Canada: Free 2-day shipping for orders over $29.99,
otherwise 3-day shipping for $3.49.
Mexico: No shipping to Mexico for orders under $50,
otherwise 10% shipping cost and 4-day shipping.",
"fulfillmentType": "FulfillmentTypeDelivery",
"handlingTime": {
"@type": "ServicePeriod",
"cutoffTime": "14:30:00-07:00",
"duration": {
"@type": "QuantitativeValue",
"minValue": "0",
"maxValue": "1",
"unitCode": "DAY"
},
"businessDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
]
},
"shippingConditions": [
{
"@type": "ShippingConditions",
"shippingDestination": [
{
"@type": "DefinedRegion",
"addressCountry": "US"
},
{
"@type": "DefinedRegion",
"addressCountry": "CA"
}
],
"orderValue": {
"@type": "MonetaryAmount",
"minValue": "0",
"maxValue": "29.99",
"currency": "USD"
},
"shippingRate": {
"@type": "MonetaryAmount",
"value": "3.49",
"currency": "USD"
},
"transitTime": {
"@type": "ServicePeriod",
"duration": {
"@type": "QuantitativeValue",
"minValue": "1",
"maxValue": "2",
"unitCode": "DAY"
},
"businessDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
]
}
},
{
"@type": "ShippingConditions",
"shippingDestination": [
{
"@type": "DefinedRegion",
"addressCountry": "US"
},
{
"@type": "DefinedRegion",
"addressCountry": "CA"
}
],
"orderValue": {
"@type": "MonetaryAmount",
"minValue": "30",
"currency": "USD"
},
"shippingRate": {
"@type": "MonetaryAmount",
"value": "0",
"currency": "USD"
},
"transitTime": {
"@type": "ServicePeriod",
"duration": {
"@type": "QuantitativeValue",
"minValue": "1",
"maxValue": "1",
"unitCode": "DAY"
},
"businessDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
]
}
},
{
"@type": "ShippingConditions",
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "MX"
},
"orderValue": {
"@type": "MonetaryAmount",
"minValue": "0",
"maxValue": "49.99",
"currency": "USD"
},
"doesNotShip": true
},
{
"@type": "ShippingConditions",
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "MX"
},
"orderValue": {
"@type": "MonetaryAmount",
"minValue": "50",
"currency": "USD"
},
"shippingRate": {
"@type": "ShippingRateSettings",
"orderPercentage": "0.10"
},
"transitTime": {
"@type": "ServicePeriod",
"duration": {
"@type": "QuantitativeValue",
"minValue": "2",
"maxValue": "3",
"unitCode": "DAY"
},
"businessDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
]
}
}
]
}
// Other Organization-level properties
// ...
}
</script>
</head>
<body>
</body>
</html>Consignes
Pour que votre balisage de conditions de livraison puisse être utilisé dans la recherche Google, vous devez suivre ces consignes :
- Consignes générales relatives aux données structurées
- Essentiels de la recherche
- Consignes techniques
Consignes techniques
-
Nous vous recommandons de placer les informations sur les conditions de livraison sur une seule page de votre site décrivant les conditions de livraison de votre entreprise. Vous n'avez pas besoin de les inclure sur chaque page de votre site. Incluez le type de données structurées
ShippingServicesous le type de données structuréesOrganization. Pour en savoir plus, consultez également la section Balisage d'organisation. -
Si vous avez des conditions de livraison non standards pour un produit spécifique, spécifiez le type de données structurées
OfferShippingDetailsdirectement sous le type de données structuréesOffer. Notez que les propriétés acceptées pour les conditions de livraison au niveau de l'offre sont un sous-ensemble de celles acceptées pour les conditions de livraison au niveau de l'organisation. Consultez la section sur le balisage des fiches de marchand pour connaître le sous-ensemble de propriétés compatibles avec les conditions de livraison au niveau du produit.
Définitions des types de données structurées
Vous devez inclure les propriétés obligatoires pour que vos données structurées puissent être utilisées dans la recherche Google. Vous pouvez également inclure les propriétés recommandées pour ajouter d'autres informations à vos conditions de retour et ainsi offrir une meilleure expérience utilisateur.
ShippingService (imbriqué sous Organization à l'aide de la propriété hasShippingService)
Utilisez les propriétés suivantes pour décrire les services de livraison standard de votre entreprise.
| Propriétés obligatoires | |
|---|---|
shippingConditions |
Spécifiez les frais de port et/ou les délais de livraison qui s'appliquent à un ensemble de conditions spécifiques, par exemple une plage de poids ou de dimensions du produit, une valeur de commande ou une zone de livraison. Un |
| Propriétés recommandées | |
|---|---|
name |
Nom unique de votre service de livraison, le cas échéant. (par exemple, "Livraison standard"). |
description |
Description de votre service de livraison, le cas échéant. Elle est généralement plus complète que le nom. |
fulfillmentType |
Mode de livraison du produit au client pour ce service de livraison, le cas échéant.
|
handlingTime |
Informations facultatives sur les temps de traitement (par exemple, dans un entrepôt) après réception d'une commande, le cas échéant. Consultez également la liste des propriétésServicePeriod sous ShippingService acceptées par Google.
|
validForMemberTier |
Le programme de fidélité et le niveau auxquels ce service de livraison s'applique, le cas échéant. Vous pouvez spécifier plusieurs niveaux de membres si les paramètres de livraison sont les mêmes pour tous les niveaux.
Si vous utilisez la propriété
Les programmes et niveaux d'adhésion que vous proposez pour votre entreprise peuvent être définis dans votre compte Merchant Center ou à l'aide du type de données structurées Voici un exemple de propriété "validForMemberTier": { "@type": "MemberProgramTier", "name": "silver", "isTierOf": { "@type": "MemberProgram", "name": "member-plus" } } Voici un exemple de propriété "validForMemberTier": { "@id": "https://www.example.com/com/member-plus#tier_silver" } |
ServicePeriod (pour les temps de traitement)
Pour spécifier les temps de traitement de la livraison, utilisez la classe ServicePeriod.
Voici un exemple d'objet ServicePeriod où les commandes sont traitées du lundi au vendredi, avec une heure limite de 22h30 (heure normale de l'Est). Le temps de traitement est compris entre 0 et 2 jours (un temps de traitement de 0 signifie que les commandes sont traitées le jour même si elles sont reçues avant l'heure limite).
"handlingTime": { "@type": "ServicePeriod", "businessDays": [ "https://schema.org/Monday", "https://schema.org/Tuesday", "https://schema.org/Wednesday", "https://schema.org/Thursday", "https://schema.org/Friday" ], "cutoffTime": "22:30:00-05:00", "duration": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 2, "unitCode": "DAY" } }
| Propriétés recommandées | |
|---|---|
businessDays |
Jours de la semaine où les commandes reçues sont traitées, le cas échéant. |
cutoffTime |
Heure après laquelle les commandes reçues un jour donné ne sont plus traitées le même jour, le cas échéant. Pour les commandes passées après, un jour est ajouté à l'estimation du délai de livraison. L'heure est indiquée au format ISO-8601. Par exemple, "23:30:00-05:00" correspond à 18h30, heure normale de l'Est (EST), soit cinq heures de moins que le temps universel coordonné (UTC). |
duration |
Délai entre la réception d'une commande et le moment où les marchandises sortent de l'entrepôt, le cas échéant. |
QuantitativeValue (pour les temps de traitement des commandes)
La classe QuantitativeValue est utilisée pour représenter les temps de traitement minimum et maximum des commandes.
Vous devez indiquer value (pour un temps de traitement fixe) ou maxValue (pour une limite supérieure du temps de traitement) en même temps que unitCode. minValue peut éventuellement être fourni pour spécifier une limite inférieure pour le temps de traitement.
| Propriétés recommandées | |
|---|---|
maxValue |
Nombre maximal de jours. Cette valeur doit correspondre à un nombre entier non négatif. |
minValue |
Nombre minimal de jours, le cas échéant. Cette valeur doit correspondre à un nombre entier non négatif. |
unitCode |
Unités des valeurs minimale et maximale. La valeur doit être |
value |
Nombre exact de jours de traitement, si vous le connaissez. Cette valeur doit correspondre à un nombre entier non négatif.
Si elle est fournie, |
ShippingConditions (imbriqué sous ShippingService à l'aide de la propriété shippingConditions)
Utilisez les propriétés suivantes pour décrire les conditions, les coûts associés et les délais d'acheminement d'un service de livraison.
Si aucune destination de livraison n'est spécifiée, les conditions de livraison s'appliquent à toutes les destinations de livraison dans le monde.
| Propriétés recommandées | |
|---|---|
shippingOrigin |
Indique l'origine de l'expédition, le cas échéant. Consultez la liste des propriétés |
shippingDestination |
Indique la destination de livraison, le cas échéant. Consultez la liste des propriétés |
weight |
Plage de poids du colis pour cet objet de conditions de livraison, le cas échéant.
Consultez également la liste des propriétés |
numItems |
Plage du nombre de produits dans la commande pour cet objet de conditions de livraison, le cas échéant.
Consultez également la liste des propriétés |
orderValue |
Plage du coût de la commande pour cet objet de conditions de livraison, le cas échéant.
Consultez également la liste des propriétés |
doesNotShip |
Le cas échéant, définissez cette valeur sur |
transitTime |
Le cas échéant, utilisez-la pour spécifier le délai d'acheminement prévu entre le lieu d'expédition (généralement un entrepôt) et l'arrivée à destination (généralement le client). S'applique aux expéditions depuis un lieu dans la zone géographique d'expédition ( |
shippingRate |
Le cas échéant, utilisez cette propriété pour spécifier les frais de port pour les expéditions d'un lieu dans la zone géographique d'expédition |
seasonalOverride |
Le cas échéant, utilisez cette propriété pour spécifier une période limitée pendant laquelle cet objet de conditions de livraison est valide.
Consultez également la liste des propriétés |
DefinedRegion
DefinedRegion permet de créer des zones personnalisées afin de définir des frais de port et des délais d'acheminement précis entre plusieurs services de livraison.
| Propriétés obligatoires | |
|---|---|
addressCountry |
Code pays à deux lettres, au format ISO 3166-1 alpha-2. |
| Propriétés recommandées | |
|---|---|
addressRegion |
Code de région spécifique au pays, le cas échéant. La région doit correspondre à un code de subdivision ISO 3166-2 à 2 ou 3 caractères, sans préfixe de pays. La recherche Google ne propose cette fonctionnalité qu'en Australie, aux États-Unis et au Japon. Exemples : N'indiquez pas à la fois la zone de livraison et le code postal. |
postalCode |
Code postal spécifique au pays, le cas échéant. Exemple : |
ServicePeriod (pour les délais d'acheminement)
ServicePeriod est utilisé pour représenter les plages de délais d'acheminement d'une commande.
"transitTime": { "@type": "ServicePeriod", "businessDays": [ "https://schema.org/Monday", "https://schema.org/Tuesday", "https://schema.org/Wednesday", "https://schema.org/Thursday", "https://schema.org/Friday" ], "duration": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 2, "unitCode": "DAY" } }
| Propriétés recommandées | |
|---|---|
businessDays |
Jours de la semaine où une commande est en cours de livraison, le cas échéant. Si les jours ouvrés de votre organisation sont du lundi au samedi, vous n'avez pas besoin d'ajouter cette propriété. |
duration |
Nombre de jours ouvrés en transit, le cas échéant.
Consultez également la liste des propriétés |
QuantitativeValue (pour les délais d'acheminement)
La classe QuantitativeValue est utilisée pour représenter les délais d'acheminement minimum et maximum des commandes.
Vous devez fournir value (pour un délai d'acheminement fixe) ou maxValue (pour une limite supérieure du délai d'acheminement) en même temps que unitCode. minValue
peut éventuellement être fourni pour spécifier une limite inférieure pour le délai d'acheminement.
| Propriétés recommandées | |
|---|---|
maxValue |
Nombre maximal de jours. Cette valeur doit correspondre à un nombre entier non négatif. |
minValue |
Nombre minimal de jours, le cas échéant. Cette valeur doit correspondre à un nombre entier non négatif. |
value |
Nombre exact de jours d'acheminement, si connu. Cette valeur doit correspondre à un nombre entier non négatif.
Si elle est fournie, |
unitCode |
Unité du délai d'acheminement. La valeur doit être |
QuantitativeValue (dans le contexte des dimensions de colis)
QuantitativeValue est utilisé dans le contexte de ShippingConditions pour représenter des plages de valeurs de dimensions de colis (weight et numItems) pour lesquelles un tarif de livraison et un délai d'acheminement spécifiques s'appliquent.
Vous devez indiquer minValue ou maxValue. Si aucune valeur n'est indiquée, minValue est défini par défaut sur 0 et maxValue sur l'infini.
| Propriétés recommandées | |
|---|---|
maxValue |
Nombre maximal pour la dimension ( |
minValue |
Nombre minimal pour la dimension ( |
unitCode |
Une unité correspondant à la dimension (
|
MonetaryAmount (dans le contexte des conditions de livraison)
MonetaryAmount est utilisé dans le contexte des conditions de livraison pour représenter des plages de valeurs de commande auxquelles s'appliquent un tarif et des délais de livraison spécifiques.
Vous devez indiquer minValue ou maxValue. Si aucune valeur n'est indiquée, minValue est défini par défaut sur 0 et maxValue sur l'infini.
Notez que le type MonetaryAmount est également utilisé dans un format différent pour spécifier les frais de port.
| Propriétés obligatoires | |
|---|---|
maxValue |
Valeur maximale de la commande. Si aucune valeur n'est indiquée, cet attribut est défini par défaut sur l'infini. |
minValue |
Valeur minimale de la commande. Si aucune valeur n'est indiquée, cet attribut est défini par défaut sur 0. |
currency |
Code de devise pour la valeur de la commande au format ISO 4217. |
MonetaryAmount (dans le contexte du tarif de livraison)
MonetaryAmount est utilisé dans le contexte des tarifs de livraison pour spécifier un tarif de livraison spécifique ou maximal pour une condition de livraison donnée. MonetaryAmount est utilisé comme alternative plus simple à ShippingRateSettings, qui est plus complexe. Vous pouvez l'utiliser lorsque vous avez simplement besoin de spécifier un tarif de livraison spécifique ou maximal. Vous devez indiquer maxValue ou value, ainsi que currency.
| Propriétés obligatoires | |
|---|---|
maxValue |
Frais de port maximum pour la condition de livraison donnée. Ne spécifiez pas |
value |
Frais de port fixes pour la condition de livraison donnée. Pour la livraison gratuite, utilisez |
currency |
Code de devise des frais de port au format ISO 4217. |
ShippingRateSettings (dans le contexte du tarif de livraison)
ShippingRateSettings est utilisé dans le contexte des tarifs de livraison pour spécifier le tarif de livraison pour une condition de livraison donnée en tant que pourcentage de la valeur ou du poids des marchandises commandées. Vous devez indiquer orderPercentage ou weightPercentage lorsque vous utilisez ShippingRateSettings.
| Propriétés recommandées | |
|---|---|
weightPercentage |
Frais de port pour la condition de livraison donnée, sous forme de fraction du poids des marchandises expédiées.
Cette valeur doit être comprise entre |
orderPercentage |
Frais de port pour les conditions de livraison indiquées, sous forme de fraction de la valeur de la commande.
Cette valeur doit être comprise entre |
OpeningHoursSpecification (dans le contexte des exceptions saisonnières pour les délais de livraison)
OpeningHoursSpecification est utilisé dans le contexte des conditions de livraison pour indiquer quand la condition est valide, par exemple en raison de fêtes saisonnières. Au moins l'une des valeurs validFrom et validThrough doit être définie lorsque vous utilisez OpeningHoursSpecification.
| Propriétés recommandées | |
|---|---|
validFrom |
Première date de validité de la condition de livraison, au format ISO 8601. |
validThrough |
Dernière date de validité de la condition de livraison, au format ISO 8601. |
Autre approche de la configuration des paramètres de livraison avec Google
Les conditions de livraison des marchands peuvent être complexes et changer fréquemment. Si vous rencontrez des difficultés pour indiquer les informations de livraison et les tenir à jour avec le balisage, et que vous possédez un compte Google Merchant Center, envisagez de configurer vos paramètres de livraison dans Google Merchant Center. Vous pouvez également configurer des conditions de livraison au niveau du compte dans la Search Console. Elles sont automatiquement ajoutées à Merchant Center.
Combiner plusieurs configurations de livraison
Si vous combinez différentes configurations de livraison, n'oubliez pas que vous pouvez remplacer les informations de vos conditions en fonction de l'ordre de priorité. Par exemple, si vous fournissez à la fois le balisage des conditions de livraison sur votre site et des paramètres de conditions de livraison dans la Search Console, Google n'utilisera que les informations fournies dans la Search Console.
Google utilise l'ordre de priorité suivant (du plus prioritaire au moins prioritaire) :
- Content API for Shopping (paramètres de livraison au niveau du compte)
- Paramètres dans Merchant Center ou la Search Console
- Balisage des fiches de marchand au niveau des produits
- Balisage au niveau de l'organisation
Dépannage
Si vous ne parvenez pas à mettre en œuvre ou à déboguer des données structurées, voici quelques ressources susceptibles de vous aider.
- Si vous utilisez un système de gestion de contenu (CMS) ou si une autre personne s'occupe de votre site, demandez à la personne en charge de vous aider. Veillez à lui transmettre tous les messages de la Search Console qui détaillent le problème.
- Google ne garantit pas que les fonctionnalités basées sur les données structurées apparaîtront dans les résultats de recherche. Pour consulter la liste des raisons courantes pour lesquelles Google n'affiche pas toujours votre contenu dans un résultat enrichi, reportez-vous aux consignes générales relatives aux données structurées.
- Vos données structurées comportent peut-être une erreur. Consultez la liste des erreurs de données structurées et le rapport sur les données structurées impossibles à analyser.
- Si vous avez reçu une action manuelle de données structurées concernant votre page, ces données seront ignorées (mais la page concernée apparaîtra peut-être toujours dans les résultats de recherche Google). Pour résoudre les problèmes de données structurées, utilisez le rapport sur les actions manuelles.
- Consultez à nouveau les consignes pour déterminer si votre contenu est bien conforme. Le problème peut être dû à une page contenant du spam ou à l'utilisation de balises qui en contiennent. Toutefois, il est possible qu'il ne s'agisse pas d'un problème de syntaxe et que le test des résultats enrichis ne puisse pas identifier le problème.
- Découvrez comment résoudre les problèmes liés aux résultats enrichis manquants ou à une baisse du nombre total de résultats enrichis.
- Prévoyez un certain temps avant que la réexploration et la réindexation soient effectuées. Gardez à l'esprit qu'il faut souvent compter plusieurs jours après la publication d'une page pour que Google puisse la trouver et l'explorer. Pour toute question d'ordre général sur l'exploration et l'indexation, consultez les questions fréquentes sur l'exploration et l'indexation dans la recherche Google.
- Posez une question sur le forum Google Search Central.