Données structurées spécifiques à une fiche de marchand (Product, Offer)

Présentation de la fiche info Shopping dans les résultats de recherche

Lorsque vous ajoutez un balisage Product à votre page, celle-ci peut s'afficher dans les fiches de marchand dans la recherche Google, y compris dans la fiche info Shopping, sur Google Images, dans les résultats de produits populaires et les extraits produit. Les fiches de marchand peuvent mettre en avant des données plus spécifiques sur un produit, comme son prix, sa disponibilité, ainsi que les conditions de livraison et de retour.

Ce guide est consacré aux exigences concernant les données structurées Product pour les fiches de marchand. Si vous ne savez pas quel balisage utiliser, consultez notre présentation du balisage Product.

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. Pour consulter un guide détaillé sur l'ajout de données structurées à une page Web, accédez à cet atelier de programmation.

  1. 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.
  2. Suivez les consignes.
  3. 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.
  4. 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 noindex ni par des identifiants de connexion. Si tout semble être en ordre, vous pouvez demander à Google d'explorer de nouveau vos URL.
  5. 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

Les exemples suivants montrent comment inclure des données structurées sur vos pages Web dans différentes situations.

Page produit avec offre

Voici un exemple de page qui vend un produit et qui contient des avis sur le produit.

JSON-LD


 <html>
  <head>
    <title>Executive Anvil</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Product",
      "name": "Executive Anvil",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "description": "Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height.",
      "sku": "0446310786",
      "mpn": "925872",
      "brand": {
        "@type": "Brand",
        "name": "ACME"
      },
      "review": {
        "@type": "Review",
        "reviewRating": {
          "@type": "Rating",
          "ratingValue": 4,
          "bestRating": 5
        },
        "author": {
          "@type": "Person",
          "name": "Fred Benson"
        }
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": 4.4,
        "reviewCount": 89
      },
      "offers": {
        "@type": "Offer",
        "url": "https://example.com/anvil",
        "priceCurrency": "USD",
        "price": 119.99,
        "priceValidUntil": "2024-11-20",
        "itemCondition": "https://schema.org/UsedCondition",
        "availability": "https://schema.org/InStock"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

RDFa


 <html>
  <head>
    <title>Executive Anvil</title>
  </head>
  <body>
    <div typeof="schema:Product">
        <div rel="schema:review">
          <div typeof="schema:Review">
            <div rel="schema:reviewRating">
              <div typeof="schema:Rating">
                <div property="schema:ratingValue" content="4"></div>
                <div property="schema:bestRating" content="5"></div>
              </div>
            </div>
            <div rel="schema:author">
              <div typeof="schema:Person">
                <div property="schema:name" content="Fred Benson"></div>
              </div>
            </div>
          </div>
        </div>
        <div rel="schema:image" resource="https://example.com/photos/4x3/photo.jpg"></div>
        <div property="schema:mpn" content="925872"></div>
        <div property="schema:name" content="Executive Anvil"></div>
        <div property="schema:description" content="Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height."></div>
        <div rel="schema:image" resource="https://example.com/photos/1x1/photo.jpg"></div>
        <div rel="schema:brand">
          <div typeof="schema:Brand">
            <div property="schema:name" content="ACME"></div>
          </div>
        </div>
        <div rel="schema:aggregateRating">
          <div typeof="schema:AggregateRating">
            <div property="schema:reviewCount" content="89"></div>
            <div property="schema:ratingValue" content="4.4"></div>
          </div>
        </div>
        <div rel="schema:offers">
          <div typeof="schema:Offer">
            <div property="schema:price" content="119.99"></div>
            <div property="schema:availability" content="https://schema.org/InStock"></div>
            <div property="schema:priceCurrency" content="USD"></div>
            <div property="schema:priceValidUntil" datatype="xsd:date" content="2024-11-20"></div>
            <div rel="schema:url" resource="https://example.com/anvil"></div>
            <div property="schema:itemCondition" content="https://schema.org/UsedCondition"></div>
          </div>
        </div>
        <div rel="schema:image" resource="https://example.com/photos/16x9/photo.jpg"></div>
        <div property="schema:sku" content="0446310786"></div>
      </div>
  </body>
</html>

Microdonnées


 <html>
  <head>
    <title>Executive Anvil</title>
  </head>
  <body>
  <div>
    <div itemtype="https://schema.org/Product" itemscope>
      <meta itemprop="mpn" content="925872" />
      <meta itemprop="name" content="Executive Anvil" />
      <link itemprop="image" href="https://example.com/photos/16x9/photo.jpg" />
      <link itemprop="image" href="https://example.com/photos/4x3/photo.jpg" />
      <link itemprop="image" href="https://example.com/photos/1x1/photo.jpg" />
      <meta itemprop="description" content="Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height." />
      <div itemprop="offers" itemtype="https://schema.org/Offer" itemscope>
        <link itemprop="url" href="https://example.com/anvil" />
        <meta itemprop="availability" content="https://schema.org/InStock" />
        <meta itemprop="priceCurrency" content="USD" />
        <meta itemprop="itemCondition" content="https://schema.org/UsedCondition" />
        <meta itemprop="price" content="119.99" />
        <meta itemprop="priceValidUntil" content="2024-11-20" />
      </div>
      <div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope>
        <meta itemprop="reviewCount" content="89" />
        <meta itemprop="ratingValue" content="4.4" />
      </div>
      <div itemprop="review" itemtype="https://schema.org/Review" itemscope>
        <div itemprop="author" itemtype="https://schema.org/Person" itemscope>
          <meta itemprop="name" content="Fred Benson" />
        </div>
        <div itemprop="reviewRating" itemtype="https://schema.org/Rating" itemscope>
          <meta itemprop="ratingValue" content="4" />
          <meta itemprop="bestRating" content="5" />
        </div>
      </div>
      <meta itemprop="sku" content="0446310786" />
      <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope>
        <meta itemprop="name" content="ACME" />
      </div>
    </div>
  </div>
  </body>
</html>

Tarifs

Voici deux exemples d'encodage de prix au format JSON-LD.

Vous pouvez indiquer un prix à l'aide de la propriété price comme suit :

"offers": {
  "@type": "Offer",
  "price": 10.00,
  "priceCurrency": "USD",
  ...
}

Vous pouvez également spécifier un prix à l'aide de la propriété priceSpecification.

"offers": {
  "@type": "Offer",
  "priceSpecification": {
    "@type": "UnitPriceSpecification",
    "price": 10.00,
    "priceCurrency": "USD"
  },
  ...
}

Tarifs avec mesures de prix unitaire

Voici un exemple de spécification de prix pour 4,5 l d'un produit qui est toujours vendu par lots de 750 ml. Cette forme de tarification est particulièrement importante dans l'UE pour les produits vendus par volume ou par poids.

Lorsque les attributs mesure de prix unitaire et mesure de base de prix unitaire sont présents, spécifiez le prix dans un élément UnitPriceSpecification.

"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 81.00,
"priceCurrency": "EUR",
"referenceQuantity": {
  "@type": "QuantitativeValue",
  "value": "4.5",
  "unitCode": "LTR",
  "valueReference": {
    "@type": "QuantitativeValue",
    "value": "750",
    "unitCode": "MLT"
  }
}
}

Informations de livraison

Voici un exemple de page produit contenant des informations de livraison. Dans cet exemple, le tarif de livraison est de $3.49 pour tous les utilisateurs résidant aux États-Unis. Pour voir d'autres exemples, consultez la section Livraison.

JSON-LD


 <html>
  <head>
    <title>Nice trinket</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Product",
      "sku": "trinket-12345",
      "gtin14": "12345678901234",
      "image": [
        "https://example.com/photos/16x9/trinket.jpg",
        "https://example.com/photos/4x3/trinket.jpg",
        "https://example.com/photos/1x1/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",
        "price": 39.99,
        "priceCurrency": "USD",
        "priceValidUntil": "2024-11-20",
        "shippingDetails": {
          "@type": "OfferShippingDetails",
          "shippingRate": {
            "@type": "MonetaryAmount",
            "value": 3.49,
            "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"
            }
          }
        }
      },
      "review": {
        "@type": "Review",
          "reviewRating": {
            "@type": "Rating",
            "ratingValue": 4,
            "bestRating": 5
          },
          "author": {
            "@type": "Person",
            "name": "Fred Benson"
          }
        },
        "aggregateRating": {
          "@type": "AggregateRating",
          "ratingValue": 4.4,
          "reviewCount": 89
        }
      }
    </script>
  </head>
  <body>
  </body>
</html>

RDFa


 <html>
  <head>
    <title>Nice trinket</title>
  </head>
  <body>
    <div typeof="schema:Product">
      <div property="schema:sku" content="trinket-12345"></div>
      <div property="schema:gtin14" content="12345678901234"></div>
      <div property="schema:name" content="Nice trinket"></div>
      <div rel="schema:image" resource="https://example.com/photos/16x9/trinket.jpg"></div>
      <div rel="schema:image" resource="https://example.com/photos/4x3/trinket.jpg"></div>
      <div rel="schema:image" resource="https://example.com/photos/1x1/trinket.jpg"></div>
      <div property="schema:description" content="Trinket with clean lines"></div>
      <div rel="schema:brand">
        <div typeof="schema:Brand">
          <div property="schema:name" content="MyBrand"></div>
        </div>
      </div>
      <div rel="schema:offers">
        <div typeof="schema:Offer">
          <div rel="schema:url" resource="https://example.com/trinket_offer"></div>
          <div property="schema:itemCondition" content="https://schema.org/NewCondition"></div>
          <div property="schema:availability" content="https://schema.org/InStock"></div>
          <div property="schema:price" content="39.99"></div>
          <div property="schema:priceCurrency" content="USD"></div>
          <div property="schema:priceValidUntil" datatype="xsd:date" content="2024-11-20"></div>
          <div rel="schema:shippingDetails">
            <div typeof="schema:OfferShippingDetails">
              <div rel="schema:shippingRate">
                <div typeof="schema:MonetaryAmount">
                  <div property="schema:value" content="3.49"></div>
                  <div property="schema:currency" content="USD"></div>
                </div>
              </div>
              <div rel="schema:shippingDestination">
                <div typeof="schema:DefinedRegion">
                  <div property="schema:addressCountry" content="US"></div>
                </div>
              </div>
              <div rel="schema:deliveryTime">
                <div typeof="schema:ShippingDeliveryTime">
                  <div rel="schema:handlingTime">
                    <div typeof="schema:QuantitativeValue">
                      <div property="schema:minValue" content="0"></div>
                      <div property="schema:maxValue" content="1"></div>
                      <div property="schema:unitCode" content="DAY"></div>
                    </div>
                  </div>
                  <div rel="schema:transitTime">
                    <div typeof="schema:QuantitativeValue">
                      <div property="schema:minValue" content="1"></div>
                      <div property="schema:maxValue" content="5"></div>
                      <div property="schema:unitCode" content="DAY"></div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div rel="schema:review">
        <div typeof="schema:Review">
          <div rel="schema:reviewRating">
            <div typeof="schema:Rating">
              <div property="schema:ratingValue" content="4"></div>
              <div property="schema:bestRating" content="5"></div>
            </div>
          </div>
          <div rel="schema:author">
            <div typeof="schema:Person">
              <div property="schema:name" content="Fred Benson"></div>
            </div>
          </div>
        </div>
      </div>
      <div rel="schema:aggregateRating">
        <div typeof="schema:AggregateRating">
          <div property="schema:reviewCount" content="89"></div>
          <div property="schema:ratingValue" content="4.4"></div>
        </div>
      </div>
    </div>
  </body>
</html>

Microdonnées


 <html>
  <head>
    <title>Nice trinket</title>
  </head>
  <body>
  <div>
    <div itemtype="https://schema.org/Product" itemscope>
      <meta itemprop="sku" content="trinket-12345" />
      <meta itemprop="gtin14" content="12345678901234" />
      <meta itemprop="name" content="Nice trinket" />
      <link itemprop="image" href="https://example.com/photos/16x9/trinket.jpg" />
      <link itemprop="image" href="https://example.com/photos/4x3/trinket.jpg" />
      <link itemprop="image" href="https://example.com/photos/1x1/trinket.jpg" />
      <meta itemprop="description" content="Trinket with clean lines" />
      <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope>
        <meta itemprop="name" content="MyBrand" />
      </div>
      <div itemprop="offers" itemtype="https://schema.org/Offer" itemscope>
        <link itemprop="url" href="https://www.example.com/trinket_offer" />
        <meta itemprop="itemCondition" content="https://schema.org/NewCondition" />
        <meta itemprop="availability" content="https://schema.org/InStock" />
        <meta itemprop="price" content="39.99" />
        <meta itemprop="priceCurrency" content="USD" />
        <meta itemprop="priceValidUntil" content="2024-11-20" />
        <div itemprop="shippingDetails" itemtype="https://schema.org/OfferShippingDetails" itemscope>
          <div itemprop="shippingRate" itemtype="https://schema.org/MonetaryAmount" itemscope>
            <meta itemprop="value" content="3.49" />
            <meta itemprop="currency" content="USD" />
          </div>
          <div itemprop="shippingDestination" itemtype="https://schema.org/DefinedRegion" itemscope>
            <meta itemprop="addressCountry" content="US" />
          </div>
          <div itemprop="deliveryTime" itemtype="https://schema.org/ShippingDeliveryTime" itemscope>
            <div itemprop="handlingTime" itemtype="https://schema.org/QuantitativeValue" itemscope>
              <meta itemprop="minValue" content="0" />
              <meta itemprop="maxValue" content="1" />
              <meta itemprop="unitCode" content="DAY" />
            </div>
            <div itemprop="transitTime" itemtype="https://schema.org/QuantitativeValue" itemscope>
              <meta itemprop="minValue" content="1" />
              <meta itemprop="maxValue" content="5" />
              <meta itemprop="unitCode" content="DAY" />
            </div>
          </div>
        </div>
      </div>
      <div itemprop="review" itemtype="https://schema.org/Review" itemscope>
        <div itemprop="author" itemtype="https://schema.org/Person" itemscope>
          <meta itemprop="name" content="Fred Benson" />
        </div>
        <div itemprop="reviewRating" itemtype="https://schema.org/Rating" itemscope>
          <meta itemprop="ratingValue" content="4" />
          <meta itemprop="bestRating" content="5" />
        </div>
      </div>
      <div itemprop="aggregateRating" itemtype="https://schema.org/AggregateRating" itemscope>
        <meta itemprop="reviewCount" content="89" />
        <meta itemprop="ratingValue" content="4.4" />
      </div>
    </div>
  </div>
  </body>
</html>

Livraison gratuite

Voici un exemple de livraison gratuite aux acheteurs résidant dans l'État de New York, aux États-Unis.

"shippingDetails": {
  "@type": "OfferShippingDetails",
  "shippingRate": {
    "@type": "MonetaryAmount",
    "value": "0",
    "currency": "USD"
  },
  "shippingDestination": [
    {
      "@type": "DefinedRegion",
      "addressCountry": "US",
      "addressRegion": ["NY"]
    }
  ]
}

Détails concernant les retours

Voici un exemple de page produit contenant des informations sur les retours. Le balisage correspond aux conditions de retour suivantes : produits renvoyés dans un délai de 60 jours, livrés aux États-Unis et sans frais de retour.

JSON-LD


 <html>
  <head>
    <title>Nice trinket</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Product",
      "sku": "trinket-12345",
      "gtin14": "12345678901234",
      "image": [
        "https://example.com/photos/16x9/trinket.jpg",
        "https://example.com/photos/4x3/trinket.jpg",
        "https://example.com/photos/1x1/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": "PriceSpecification",
          "price": 39.99,
          "priceCurrency": "CHF"
        },
        "hasMerchantReturnPolicy": {
          "@type": "MerchantReturnPolicy",
          "applicableCountry": "CH",
          "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
          "merchantReturnDays": 60,
          "returnMethod": "https://schema.org/ReturnByMail",
          "returnFees": "https://schema.org/FreeReturn"
        }
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

RDFa


 <html>
  <head>
    <title>Nice trinket</title>
  </head>
  <body>
    <div typeof="schema:Product">
      <div property="schema:sku" content="trinket-12345"></div>
      <div property="schema:gtin14" content="12345678901234"></div>
      <div property="schema:name" content="Nice trinket"></div>
      <div rel="schema:image" resource="https://example.com/photos/16x9/trinket.jpg"></div>
      <div rel="schema:image" resource="https://example.com/photos/4x3/trinket.jpg"></div>
      <div rel="schema:image" resource="https://example.com/photos/1x1/trinket.jpg"></div>
      <div property="schema:description" content="Trinket with clean lines"></div>
      <div rel="schema:brand">
        <div typeof="schema:Brand">
          <div property="schema:name" content="MyBrand"></div>
        </div>
      </div>
      <div rel="schema:offers">
        <div typeof="schema:Offer">
          <div rel="schema:url" resource="https://example.com/trinket_offer"></div>
          <div property="schema:itemCondition" content="https://schema.org/NewCondition"></div>
          <div property="schema:availability" content="https://schema.org/InStock"></div>
          <div property="schema:price" content="39.99"></div>
          <div property="schema:priceCurrency" content="CHF"></div>
          <div property="schema:priceValidUntil" datatype="xsd:date" content="2024-11-20"></div>
          <div rel="schema:hasMerchantReturnPolicy">
            <div typeof="schema:MerchantReturnPolicy">
              <div property="schema:applicableCountry" content="US"></div>
              <div property="schema:returnPolicyCategory" content="https://schema.org/MerchantReturnFiniteReturnWindow"></div>
              <div property="schema:merchantReturnDays" content="60"></div>
              <div property="schema:returnMethod" content="https://schema.org/ReturnByMail"></div>
              <div property="schema:returnFees" content="https://schema.org/FreeReturn"></div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>

Microdonnées


 <html>
  <head>
    <title>Nice trinket</title>
  </head>
  <body>
  <div>
    <div itemtype="https://schema.org/Product" itemscope>
      <meta itemprop="sku" content="trinket-12345" />
      <meta itemprop="gtin14" content="12345678901234" />
      <meta itemprop="name" content="Nice trinket" />
      <link itemprop="image" href="https://example.com/photos/16x9/trinket.jpg" />
      <link itemprop="image" href="https://example.com/photos/4x3/trinket.jpg" />
      <link itemprop="image" href="https://example.com/photos/1x1/trinket.jpg" />
      <meta itemprop="description" content="Trinket with clean lines" />
      <div itemprop="brand" itemtype="https://schema.org/Brand" itemscope>
        <meta itemprop="name" content="MyBrand" />
      </div>
      <div itemprop="offers" itemtype="https://schema.org/Offer" itemscope>
        <link itemprop="url" href="https://www.example.com/trinket_offer" />
        <meta itemprop="itemCondition" content="https://schema.org/NewCondition" />
        <meta itemprop="availability" content="https://schema.org/InStock" />
        <meta itemprop="price" content="39.99" />
        <meta itemprop="priceCurrency" content="CHF" />
        <meta itemprop="priceValidUntil" content="2024-11-20" />
        <div itemprop="hasMerchantReturnPolicy" itemtype="https://schema.org/MerchantReturnPolicy" itemscope>
          <meta itemprop="applicableCountry" content="US" />
          <meta itemprop="returnPolicyCategory" content="https://schema.org/MerchantReturnFiniteReturnWindow" />
          <meta itemprop="merchantReturnDays" content="60" />
          <meta itemprop="returnMethod" content="https://schema.org/ReturnByMail" />
          <meta itemprop="returnFees" content="https://schema.org/FreeReturn" />
        </div>
      </div>
    </div>
  </div>
  </body>
</html>

Évaluation de l'efficacité énergétique

L'exemple suivant montre comment spécifier des informations sur l'efficacité énergétique à l'aide de données structurées. Il indique la classe énergétique européenne "C" avec une échelle allant de "A+" à "F" pour un chauffe-eau.

Notez que la valeur de la classe énergétique minimale spécifie la classe la moins efficace sur l'échelle de consommation d'énergie (ici, "F"), tandis que la valeur de la classe énergétique maximale indique la classe la plus efficace (ici "A+").

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "sku": "1234-5678",
  "image": "https://www.example.com/waterheater.jpg",
  "name": "Water heater",
  "description": "Large capacity water heater",
  "gtin14": "12345678901231",
  "mpn": "WH1234",
  "brand": {
    "@type": "Brand",
    "name": "ExampleWaterHeaterBrand"
  },
  "hasEnergyConsumptionDetails": {
    "@type": "EnergyConsumptionDetails",
    "hasEnergyEfficiencyCategory": "https://schema.org/EUEnergyEfficiencyCategoryC",
    "energyEfficiencyScaleMin": "https://schema.org/EUEnergyEfficiencyCategoryF",
    "energyEfficiencyScaleMax": "https://schema.org/EUEnergyEfficiencyCategoryA1Plus"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/hotwaterheater",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock",
    "price": 1799.00,
    "priceCurrency": "EUR"
  }
}

Modèle 3D

Cet exemple montre comment associer un modèle 3D à un produit avec la propriété subjectOf et le type 3DModel.

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "sku": "1234-5678",
  "image": "https://www.example.com/sofa.jpg",
  "name": "Water heater",
  "description": "White 3-Seat Sofa",
  "gtin14": "12345678901231",
  "mpn": "S1234W3",
  "brand": {
    "@type": "Brand",
    "name": "ExampleSofaBrand"
  },
  "subjectOf": {
    "@type": "3DModel",
    "encoding": {
      "@type": "MediaObject",
      "contentUrl": "https://example.com/sofa.gltf"
    }
  },
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/whitechaiselongue",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock",
    "price": 1299.00,
    "priceCurrency": "USD"
  }
}

Consignes

Pour que votre balisage Product soit éligible aux fiches de marchand, vous devez suivre ces consignes :

Consignes techniques

  • Seules les pages depuis lesquelles un internaute peut acheter un produit sont éligibles aux fiches de marchand. Les pages contenant des liens vers d'autres sites qui vendent le produit ne sont pas concernées. Google se réserve le droit de vérifier les données produit de la fiche de marchand avant d'afficher les informations dans les résultats de recherche.
  • Actuellement, les résultats enrichis spécifiques aux produits ne concernent que les pages qui mettent en avant un seul produit (ou plusieurs variantes de celui-ci). Par exemple, "chaussures en vente dans notre boutique" n'est pas un produit spécifique. Cela inclut les variantes de produits qui sont toutes associées à une URL distincte. Dès lors, nous vous recommandons de ne pas ajouter ce balisage aux pages répertoriant plusieurs produits ou une catégorie de produits.
  • Pour savoir comment baliser les variantes de produit, consultez la documentation sur les données structurées relatives aux variantes de produit.
  • Si vous proposez des produits à vendre dans plusieurs devises, créez une URL distincte pour chaque devise. Par exemple, si un produit est disponible à la vente en dollars canadiens et en dollars américains, utilisez deux URL distinctes, une pour chaque devise.
  • Actuellement, Car n'est pas accepté automatiquement en tant que sous-type de "Product". Pour l'instant, incluez les types "Car" et "Product" si vous souhaitez associer des notes et pouvoir figurer dans les résultats de recherche. Exemple au format JSON-LD :
    {
      "@context": "https://schema.org",
      "@type": ["Product", "Car"],
      ...
    }

Consignes relatives au contenu

  • Nous n'autorisons pas les contenus qui font la promotion de biens, de services ou d'informations largement interdits ou réglementés susceptibles de causer des dommages graves, immédiats ou à long terme. Cela inclut les contenus liés aux armes à feu et aux armes blanches, les drogues récréatives, les produits liés au tabac et au vapotage, et les produits liés aux jeux d'argent et de hasard.

Définitions des types de données structurées

Vous devez inclure les propriétés obligatoires pour que votre contenu puisse être affiché sous forme de résultat enrichi. Vous pouvez également inclure les propriétés recommandées pour ajouter d'autres informations à vos données structurées et ainsi offrir une meilleure expérience utilisateur.

Informations sur les produits

Product

La définition complète de l'élément Product est disponible sur schema.org/Product. Lorsque vous balisez votre contenu pour afficher des informations spécifiques sur un produit, utilisez les propriétés suivantes de type Product :

Propriétés obligatoires
name

Text

Nom du produit.

image

Élément ImageObject ou URL répété

URL de la photo du produit. Utilisez de préférence des images montrant clairement le produit (par exemple, sur un fond blanc).

Consignes supplémentaires relatives aux images :

  • Chaque page doit contenir au moins une image (que vous incluiez ou non un balisage). Google choisit la meilleure image à afficher dans les résultats de recherche en fonction du format et de la résolution.
  • Les URL des images doivent être explorables et indexables. Pour vérifier si Google peut accéder à vos URL, utilisez l'outil d'inspection d'URL.
  • Les images doivent représenter le contenu balisé.
  • Le format des fichiers images doit être compatible avec Google Images.
  • Pour de meilleurs résultats, nous vous recommandons de fournir plusieurs images haute résolution (minimum 50 000 pixels lorsque vous multipliez la largeur et la hauteur) dans l'un des formats suivants : 16x9, 4x3 et 1x1.

Exemple :

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
offers

Offer

Élément Offer imbriqué pour vendre le produit.

Les extraits produit acceptent un élément Offerou AggregateOffer, mais les fiches de marchand nécessitent un élément Offer, car le marchand doit être le vendeur du produit pour que sa fiche de marchand puisse s'afficher dans les résultats de recherche.

Propriétés recommandées
aggregateRating

AggregateRating

Élément aggregateRating imbriqué du produit. Respectez les consignes relatives aux extraits d'avis ainsi que la liste des propriétés AggregateRating obligatoires et recommandées.

audience

PeopleAudience

Informations facultatives sur l'audience suggérée du produit, telles que le sexe et la tranche d'âge. Seul le type PeopleAudience est accepté. Consultez la liste des propriétés PeopleAudience acceptées par Google.

brand.name

Text

Si vous connaissez cette information, incluez la marque du produit dans la propriété name de type Brand. N'ajoutez pas plus d'un nom de marque.

color

Text

Couleur ou combinaison de couleurs du produit (par exemple, "rouge" ou "jaune/bleu ciel"). Consultez également la section Attribut de couleur dans l'aide de Google Merchant Center.

description

Text

Description du produit. Bien que la description du produit ne soit pas obligatoire, nous vous recommandons vivement de la fournir dans cette propriété.

gtin | gtin8 | gtin12 | gtin13 | gtin14 | isbn

Text

Incluez tous les identifiants globaux applicables. Vous trouverez leur description sous schema.org/Product. Bien que vous puissiez utiliser la propriété générique gtin pour tous les codes GTIN, nous vous recommandons d'utiliser le code GTIN le plus spécifique qui s'applique à votre produit, car il s'agit de sa représentation la plus précise. Assurez-vous que la valeur du code GTIN est au format numérique. Nous n'acceptons pas le format URL pour les codes GTIN.

isbn n'est une propriété valide que dans Book. Pour de meilleurs résultats, utilisez le format ISBN-13. Pour utiliser Book correctement, saisissez également le type Product. Vous pourrez ainsi utiliser les propriétés des deux types au niveau du nœud. Exemple :

{
  "@context": "https://schema.org",
  "@type": ["Product", "Book"],
  ....
}
hasEnergyConsumptionDetails

EnergyConsumptionDetails

Informations sur la consommation énergétique de produits tels que les appareils électriques. Cette propriété est particulièrement importante dans les pays européens. Consultez également la liste des propriétés EnergyConsumptionDetails acceptées par Google.

inProductGroupWithID

Text

Identifiant d'un groupe de produits auquel appartient cette variante de produit. Consultez également Item Group Id dans l'aide de Google Merchant Center. N'indiquez pas plus d'une valeur.

Pour savoir comment ajouter un balisage pour les variantes de produit, consultez la documentation sur les données structurées relatives aux variantes de produit.
isVariantOf

ProductGroup

Groupe de produits auquel appartient cette variante de produit, le cas échéant. Pour savoir comment ajouter un balisage pour les variantes de produit, consultez la documentation sur les données structurées relatives aux variantes de produit.

material

Text

Matière ou combinaison de matières, comme "Cuir" ou "Coton/Polyester". Consultez également Material dans l'aide de Google Merchant Center.

mpn

Text

Référence fabricant. Cette propriété identifie le produit de manière unique pour un fabricant donné.

pattern

Text

Motif du produit, par exemple "à pois" ou "à rayures". Consultez également Pattern sur la page "Spécification des données produit Google Merchant Center".

review

Review

Élément Review imbriqué du produit. Respectez les consignes relatives aux extraits d'avis ainsi que la liste des propriétés d'avis obligatoires et recommandées. Consultez également la liste des propriétés Review supplémentaires spécifiques au type schema.org Product.

Si vous ajoutez un avis pour le produit, le nom de son auteur doit correspondre à un nom valide pour une personne (Person) ou une équipe (Team).

Approche déconseillée : 50 % de réduction pour le Black Friday

Approche conseillée : "Philippe Martin" ou "Équipe CNET"

size

Text ou SizeSpecification

Taille du produit (par exemple, "XL" ou "medium"). Consultez également size sur la page Spécifications des données produit Google Merchant Center. Consultez la liste des propriétés SizeSpecification acceptées par Google. N'indiquez pas plus d'une valeur.

sku

Text

Identifiant du produit spécifique au marchand. N'indiquez pas plus d'une valeur.

  • La valeur sku doit utiliser des caractères Unicode valides pour l'échange.
  • La valeur sku ne doit pas contenir d'espaces blancs (tels que définis par la propriété d'espace blanc Unicode).
  • Nous vous recommandons de n'utiliser que des caractères ASCII dans la valeur sku.
subjectOf

3DModel

Modèle 3D du produit, le cas échéant. Consultez la liste des propriétés 3DModel acceptées par Google. N'indiquez pas plus d'une valeur 3DModel.

3DModel

La définition complète de l'élément 3DModel est disponible sur schema.org/3DModel.

Utilisez les propriétés suivantes pour associer un modèle 3D. Pour le moment, seuls les modèles au format glTF sont acceptés.

Propriétés obligatoires
encoding

MediaObject

Support du modèle 3D.

encoding.contentUrl

URL

Lien vers un fichier de définition de modèle 3D au format glTF. Le fichier doit comporter un suffixe .gltf ou .glb.

Détails de l'offre

Offer

La définition complète de l'élément Offer est disponible sur schema.org/Offer. Lorsque vous balisez des offres dans un produit, utilisez les propriétés suivantes du type schema.org Offer.

Propriétés obligatoires
price ou priceSpecification.price

Number

Prix d'offre d'un produit. Suivez les consignes d'utilisation de schema.org.

Voici un exemple de propriété price :

"offers": {
  "@type": "Offer",
  "price": 39.99,
  "priceCurrency": "USD"
}

Contrairement aux extraits produit, les fiches de marchand nécessitent un prix supérieur à zéro.

Le prix de l'offre est obligatoire, mais il peut être imbriqué dans une propriété priceSpecification au lieu d'être fourni au niveau de l'élément Offer.

priceCurrency ou priceSpecification.priceCurrency

Text

Devise utilisée pour décrire le prix du produit, au format ISO 4217 à trois lettres.

priceCurrency est obligatoire si price est spécifié. Sinon, priceSpecification.priceCurrency est obligatoire si priceSpecification.price est spécifié.

priceSpecification

UnitPriceSpecification

Vous pouvez spécifier des prix complexes à l'aide de l'élément priceSpecification à la place de la propriété price. Consultez la liste des propriétés UnitPriceSpecification compatibles et des exemples pour découvrir comment baliser différentes formes de tarifs.

Vous pouvez spécifier les prix à l'aide de price et priceCurrency au niveau de l'élément Offer ou dans la propriété priceSpecification.

Les prix avec des mesures de prix unitaire peuvent spécifier une propriété referenceQuantity dans un élément UnitPriceSpecification.

Propriétés recommandées
availability

ItemAvailability

Options de disponibilité des produits. Les noms courts sans préfixe d'URL sont également acceptés (par exemple, BackOrder).

  • https://schema.org/BackOrder : l'article est en cours de réapprovisionnement.
  • https://schema.org/Discontinued : l'article n'est plus fabriqué.
  • https://schema.org/InStock : l'article est en stock.
  • https://schema.org/InStoreOnly : l'article ne peut être acheté qu'en magasin.
  • https://schema.org/LimitedAvailability : l'article est disponible en quantité limitée.
  • https://schema.org/OnlineOnly : l'article n'est disponible qu'en ligne.
  • https://schema.org/OutOfStock : l'article est actuellement non disponible.
  • https://schema.org/PreOrder : l'article est disponible en précommande.
  • https://schema.org/PreSale : l'article peut être commandé et livré avant sa disponibilité générale.
  • https://schema.org/SoldOut : l'article est épuisé.

N'indiquez pas plus d'une valeur.

hasMerchantReturnPolicy

MerchantReturnPolicy

Informations imbriquées concernant les conditions de retour associées à Offer. Si vous décidez d'ajouter hasMerchantReturnPolicy, insérez les propriétés MerchantReturnPolicy obligatoires et recommandées.

itemCondition

OfferItemCondition

État de l'article proposé à la vente. Les noms courts sans préfixe d'URL sont également acceptés (par exemple, NewCondition).

  • https://schema.org/NewCondition : l'article est neuf.
  • https://schema.org/RefurbishedCondition : l'article a été reconditionné.
  • https://schema.org/UsedCondition : l'article est d'occasion (il n'est pas neuf).

N'indiquez pas plus d'une valeur.

shippingDetails

OfferShippingDetails

Informations imbriquées sur les conditions et les options de livraison associées à un élément Offer. Si vous décidez d'ajouter shippingDetails, insérez les propriétés OfferShippingDetails obligatoires et recommandées.

url

URL

URL de la page Web à partir de laquelle l'acheteur peut acheter le produit. Il peut s'agir de l'URL préférée pour la page actuelle. Toutes les variantes sont correctement sélectionnées. L'URL peut être omise. N'indiquez pas plusieurs URL.

Pour savoir comment ajouter un balisage pour les variantes de produit, consultez la documentation sur les données structurées relatives aux variantes de produit.

UnitPriceSpecification

La définition complète de l'élément UnitPriceSpecification est disponible sur schema.org/UnitPriceSpecification. Utilisez les propriétés suivantes pour capturer les schémas de tarification plus complexes.

Propriétés obligatoires
price

Number

Prix d'offre d'un produit. Consultez également la propriété price de l'élément Offer.

priceCurrency

Text

Devise utilisée pour décrire le prix du produit, au format ISO 4217 à trois lettres. Consultez également la propriété priceCurrency de l'élément Offer.

Propriétés recommandées
referenceQuantity

QuantitativeValue (pour le prix unitaire)

La quantité de référence est utilisée pour les prix qui impliquent une valeur de référence. Pour en savoir plus sur le prix unitaire, consultez également l'exemple Tarifs avec mesures de prix unitaire et Mesure de prix unitaire dans l'aide de Google Merchant Center.

QuantitativeValue (pour le prix unitaire)

Cette section explique comment utiliser QuantitativeValue pour la propriété referenceQuantity d'une spécification de prix unitaire. (QuantitativeValue est également utilisé pour les durées de livraison, mais avec des règles différentes.) La définition complète de l'élément QuantitativeValue est disponible sur schema.org/QuantitativeValue.

QuantitativeValue peut être utilisé pour les prix basés sur une mesure unitaire, comme l'achat de parquet par mètre carré ou de liquides par demi-gallon. Pour en savoir plus sur le prix unitaire, consultez la section Mesure de prix unitaire dans l'aide de Google Merchant Center.

Voici un exemple de prix de vente pour 4,5 l d'un produit qui peut être acheté en plusieurs fois pour 750 ml.

"priceSpecification": {
  "@type": "UnitPriceSpecification",
  "price": 81.00,
  "priceCurrency": "EUR",
  "referenceQuantity": {
    "@type": "QuantitativeValue",
    "value": "4.5",
    "unitCode": "LTR",
    "valueReference": {
      "@type": "QuantitativeValue",
      "value": "750",
      "unitCode": "MLT"
    }
  }
}

Utilisez les propriétés suivantes pour obtenir des informations sur le prix unitaire.

Propriétés obligatoires
unitCode

Text ou URL

Unité de mesure. Les codes UN/CEFACT ou leurs équivalents intelligibles, répertoriés dans la section Mesure de prix unitaire dans l'aide de Google Merchant Center, sont acceptés.

value

Text

Valeur numérique de l'unité vendue.

Propriétés recommandées
valueReference

QuantitativeValue

L'élément QuantitativeValue dans la propriété referenceQuantity d'une propriété UnitPriceSpecification doit inclure un élément QuantitativeValue imbriqué dans cette propriété valueReference.

SizeSpecification

Le type SizeSpecification permet d'indiquer la taille d'un produit. La définition complète du type est disponible sur schema.org/SizeSpecification.

Propriétés recommandées
name

Text

Nom compréhensible de la taille, par exemple "XL". Pour en savoir plus, consultez la section concernant l'attribut taille dans l'aide de Google Merchant Center.

sizeGroup

WearableSizeGroupEnumeration ou Text

Groupe de tailles suggéré pour le produit, le cas échéant. L'interprétation du groupe est définie par la propriété sizeGroup. Vous pouvez indiquer deux groupes de tailles au maximum. Voici les valeurs possibles :

  • https://schema.org/WearableSizeGroupRegular : la taille de l'article est "standard".
  • https://schema.org/WearableSizeGroupPetite : la taille de l'article est "petite taille femme".
  • https://schema.org/WearableSizeGroupPlus : la taille de l'article est "grande taille femme".
  • https://schema.org/WearableSizeGroupTall : la taille de l'article est "grand".
  • https://schema.org/WearableSizeGroupBig : la taille de l'article est "grande taille".
  • https://schema.org/WearableSizeGroupMaternity : la taille de l'article est "maternité".

Les noms courts sans préfixe d'URL sont également acceptés (par exemple, WearableSizeGroupRegular).

Consultez également size_type et Types de données structurées et valeurs acceptés dans l'aide de Google Merchant Center pour en savoir plus sur les systèmes de tailles compatibles. Google interprète les valeurs textuelles spécifiques à size_type (regular, petite, plus, tall, big et maternity), mais ce n'est pas forcément le cas des autres moteurs de recherche. Il est donc recommandé d'utiliser les valeurs d'énumération standards schema.org.

sizeSystem

WearableSizeSystemEnumeration ou Text

Système de tailles correspondant au produit, le cas échéant. Voici les valeurs possibles :

  • https://schema.org/WearableSizeSystemAU : système de tailles en Australie.
  • https://schema.org/WearableSizeSystemBR : système de tailles au Brésil.
  • https://schema.org/WearableSizeSystemCN : système de tailles en Chine.
  • https://schema.org/WearableSizeSystemDE : système de tailles en Allemagne.
  • https://schema.org/WearableSizeSystemEurope : système de tailles en Europe.
  • https://schema.org/WearableSizeSystemFR : système de tailles en France.
  • https://schema.org/WearableSizeSystemIT : système de tailles en Italie.
  • https://schema.org/WearableSizeSystemJP : système de tailles au Japon.
  • https://schema.org/WearableSizeSystemMX : système de tailles au Mexique.
  • https://schema.org/WearableSizeSystemUK : système de tailles au Royaume-Uni.
  • https://schema.org/WearableSizeSystemUS : système de tailles aux États-Unis.

Les noms courts sans préfixe d'URL sont également acceptés (par exemple, WearableSizeSystemAU).

Consultez également size_system dans l'aide de Google Merchant Center. Google interprète les valeurs textuelles spécifiques à size_system (UR, BR, CN, DE, EU), mais ce n'est pas forcément le cas des autres moteurs de recherche. Il est donc recommandé d'utiliser les valeurs d'énumération standardsschema.org.

PeopleAudience

La définition complète de l'élément PeopleAudience est disponible sur schema.org/PeopleAudience.

Utilisez les propriétés suivantes pour indiquer l'audience recommandée pour un produit. Consultez également les attributs et valeurs acceptés pour les données structurées dans l'aide de Google Merchant Center.

Propriétés recommandées
suggestedGender

Text ou GenderType

Suggestion du sexe (masculin/féminin) auquel le produit est destiné. Doit correspondre à l'une des valeurs suivantes :

  • https://schema.org/Male
  • https://schema.org/Female
  • Unisex : cette valeur (non sensible à la casse) ne figure pas dans la norme schema.org et ne doit pas comporter de préfixe https://schema.org/.

Pour en savoir plus, consultez la section Gender dans l'aide de Google Merchant Center.

Notez que Google complètera les valeurs GenderType sans le préfixe schema.org. Par conséquent, les valeurs male et female brutes sont également acceptées.

suggestedMaxAge (ou suggestedAge.maxValue)

Number

Âge maximal suggéré pour le produit, en années. Google fait correspondre l'âge maximal suggéré pour les produits à l'ensemble de valeurs numériques fixe suivant :

  • 0.25 : pour les nourrissons
  • 1.0: pour les bébés
  • 5.0: pour les tout-petits
  • 13.0 : pour les enfants
.
suggestedMinAge (ou suggestedAge.minValue)

Number

Âge minimal suggéré pour le produit, en années. Google fait correspondre l'âge minimal suggéré pour les produits à l'ensemble de valeurs numériques fixe suivant:

  • 0 : pour les nourrissons
  • 0.25: pour les bébés
  • 1.0: pour les tout-petits
  • 5.0 : pour les enfants
  • 13.0 : pour les adultes

EnergyConsumptionDetails

La définition complète de l'élément EnergyConsumptionDetails est disponible sur schema.org/EnergyConsumptionDetails.

Utilisez les propriétés suivantes pour indiquer la consommation d'énergie d'un produit, tel que les appareils électriques. Actuellement, seuls les niveaux d'efficacité énergétique de l'UE sont acceptés.

Propriétés obligatoires
hasEnergyEfficiencyCategory

EUEnergyEfficiencyEnumeration

Catégorie d'efficacité énergétique du produit. Actuellement, seules les évaluations de l'efficacité énergétique de l'UE sont acceptées :

  • https://schema.org/EUEnergyEfficiencyCategoryA3Plus : classe énergétique A+++ pour l'UE.
  • https://schema.org/EUEnergyEfficiencyCategoryA2Plus : classe énergétique A++ pour l'UE.
  • https://schema.org/EUEnergyEfficiencyCategoryA1Plus : classe énergétique A+ pour l'UE.
  • https://schema.org/EUEnergyEfficiencyCategoryA : classe énergétique A pour l'UE.
  • https://schema.org/EUEnergyEfficiencyCategoryB : classe énergétique B pour l'UE.
  • https://schema.org/EUEnergyEfficiencyCategoryC : classe énergétique C pour l'UE.
  • https://schema.org/EUEnergyEfficiencyCategoryD : classe énergétique D pour l'UE.
  • https://schema.org/EUEnergyEfficiencyCategoryE : classe énergétique E pour l'UE.
  • https://schema.org/EUEnergyEfficiencyCategoryF : classe énergétique F pour l'UE.
  • https://schema.org/EUEnergyEfficiencyCategoryG : classe énergétique G pour l'UE.

Les noms courts sans préfixe d'URL sont également acceptés (par exemple, EUEnergyEfficiencyCategoryA).

Propriétés recommandées
energyEfficiencyScaleMin et energyEfficiencyScaleMax

EUEnergyEfficiencyEnumeration

Classe énergétique la plus basse et la plus efficace sur l'échelle de consommation d'énergie réglementée dans l'UE pour la catégorie à laquelle appartient le produit.

Consultez hasEnergyEfficiencyCategory pour obtenir la liste des valeurs acceptées.

La propriété energyEfficiencyScaleMin spécifie la classe la moins efficace sur l'échelle de consommation d'énergie, tandis que energyEfficiencyScaleMax spécifie la classe la plus efficace. Par exemple, pour un produit avec une classe énergétique "C" sur une échelle de "A+++" à "D", utilisez :

{
  "@type": "EnergyConsumptionDetails",
  "hasEnergyEfficiencyCategory":  "https://schema.org/EUEnergyEfficiencyCategoryC",
  "energyEfficiencyScaleMin": "https://schema.org/EUEnergyEfficiencyCategoryD",
  "energyEfficiencyScaleMax": "https://schema.org/EUEnergyEfficiencyCategoryA3Plus"
}

Si energyEfficiencyScaleMin n'est pas fourni, la valeur https://schema.org/EUEnergyEfficiencyCategoryG est déduite par défaut. Si energyEfficiencyScaleMax n'est pas fourni, la valeur https://schema.org/EUEnergyEfficiencyCategoryA3Plus est déduite par défaut.

Livraison

OfferShippingDetails

OfferShippingDetails permet aux clients de consulter les frais de port et les délais de livraison estimés en fonction de leur zone géographique et des conditions de livraison de votre entreprise. Pour que vos produits puissent bénéficier de l'amélioration mettant en avant les informations de livraison, ajoutez les propriétés OfferShippingDetails suivantes à vos pages de produits, en plus des données structurées Product.

Parfois, les marchands proposent aux clients plusieurs options de livraison (par exemple, livraison en 24h, livraison en 2 jours et livraison standard). Vous pouvez indiquer chacune de ces options à l'aide de plusieurs propriétés shippingDetails, chacune avec des combinaisons de propriétés shippingRate et deliveryTime différentes.

Bien que OfferShippingDetails ne soit pas obligatoire, vous devez ajouter les propriétés ci-dessous si vous souhaitez que les informations de livraison puissent figurer comme résultats enrichis.

La définition complète de la propriété OfferShippingDetails est disponible sur schema.org/OfferShippingDetails.

Propriétés obligatoires
deliveryTime

ShippingDeliveryTime

Délai total entre la réception de la commande et la livraison des produits au client final. Les propriétés suivantes peuvent être imbriquées dans la propriété deliveryTime :

  • handlingTime
  • transitTime

Ne fournissez pas plus d'un élément deliveryTime. Consultez également la liste des propriétés ShippingDeliveryTime acceptées par Google.

shippingDestination

DefinedRegion

Indique les destinations de livraison. Spécifiez les informations shippingDestination.addressCountry. Consultez également la liste des propriétés DefinedRegion acceptées par Google.

shippingRate

MonetaryAmount

Informations sur les frais de port pour la destination spécifiée. Vous devez spécifier au moins shippingRate.value ou shippingRate.maxValue, ainsi que shippingRate.currency.

Vous ne pouvez définir qu'un seul élément shippingRate par propriété OfferShippingDetails. Si vous souhaitez indiquer plusieurs tarifs pour un produit, spécifiez plusieurs propriétés OfferShippingDetail.

shippingRate.currency

Text

Devise des frais de port, au format ISO 4217 à trois lettres. La devise doit être identique à celle de l'offre.

shippingRate.value ou shippingRate.maxValue

Number

Frais de livraison spécifiques à la destination (shippingDestination). Si une chaîne est utilisée pour fournir cette valeur, n'incluez pas de symboles monétaires, de séparateurs des milliers ni d'espaces.

Pour spécifier que la livraison ne comprend pas de frais, indiquez la valeur 0.

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. Ce service n'est actuellement disponible que pour un nombre limité de pays, comme indiqué dans la section Configurer des régions dans l'aide de Google Merchant Center.

Propriétés obligatoires
addressCountry

Text

Code pays à deux lettres, au format ISO 3166-1 alpha-2.

Propriétés recommandées
Sélectionnez addressRegion ou postalCode.

Identifie la zone de livraison du client. En cas d'omission, le pays entier correspond à la zone définie. Plusieurs zones de livraison peuvent être répertoriées, mais vous ne pouvez pas combiner différentes méthodes pour les spécifier dans une même instance DefinedRegion.

addressRegion

Text

Si vous incluez cette propriété, la zone de livraison doit correspondre à un code de subdivision ISO 3166-2 à 2 ou 3 chiffres, sans préfixe de pays. Actuellement, la recherche Google ne propose cette fonctionnalité qu'en Australie, aux États-Unis et au Japon. Exemples : "NY" (pour les États-Unis, État de New York), "NSW" (pour l'Australie, État de Nouvelle-Galles du Sud) ou "03" (pour le Japon, préfecture d'Iwate).

N'indiquez pas à la fois la zone de livraison et le code postal.

postalCode

Text

Code postal (par exemple, 94043). Les codes postaux sont actuellement acceptés pour l'Australie, le Canada et les États-Unis.

ShippingDeliveryTime

ShippingDeliveryTime permet de partager le délai total entre la réception d'une commande et la livraison des produits au client final.

Propriétés recommandées
handlingTime

QuantitativeValue (pour les délais de livraison)

Délai moyen entre la réception de la commande et le moment où les marchandises sortent de l'entrepôt.

transitTime

QuantitativeValue (pour les délais de livraison)

Délai moyen entre le moment où la commande a été expédiée et le moment où les produits parviennent au client final.

QuantitativeValue (pour les délais de livraison)

QuantitativeValue est utilisé pour représenter les délais de livraison. Vous devez spécifier un nombre minimal et maximal de jours. (QuantitativeValue est également utilisé pour la tarification unitaire, avec différentes règles de validation pour les propriétés.)

Propriétés obligatoires
maxValue

Number

Nombre maximal de jours. Cette valeur doit correspondre à un nombre entier non négatif.

minValue

Number

Nombre minimal de jours. Cette valeur doit correspondre à un nombre entier non négatif.

unitCode

Text

Unités des valeurs minimale et maximale. La valeur doit être DAY ou d.

Retours

MerchantReturnPolicy

Utilisez les propriétés suivantes pour que votre fiche de marchand puisse afficher des informations sur les conditions de retour, y compris les frais et la période de retour du produit.

Propriétés obligatoires
applicableCountry

Text

Code du pays auquel les conditions de retour s'appliquent, au format ISO 3166-1 alpha-2 à deux lettres. Vous pouvez spécifier jusqu'à 50 pays.

returnPolicyCategory

MerchantReturnEnumeration

Type de conditions de retour. Utilisez l'une des valeurs suivantes :

  • https://schema.org/MerchantReturnFiniteReturnWindow : délai de retour limité à un certain nombre de jours.
  • https://schema.org/MerchantReturnNotPermitted : retours non pris en charge.
  • https://schema.org/MerchantReturnUnlimitedWindow : délai de retour illimité.

Si vous utilisez MerchantReturnFiniteReturnWindow, la propriété merchantReturnDays est obligatoire.

Propriétés recommandées
merchantReturnDays

Integer

Nombre de jours à compter de la date de livraison pendant lesquels un produit peut être retourné. Cette propriété n'est obligatoire que si vous définissez returnPolicyCategory sur MerchantReturnFiniteReturnWindow.

returnFees

ReturnFeesEnumeration

Type de frais de retour. Utilisez l'une des valeurs acceptées suivantes :

  • https://schema.org/FreeReturn: le consommateur n'a pas à payer pour renvoyer le produit. Si vous l'utilisez, n'incluez pas la propriété returnShippingFeesAmount.
  • https://schema.org/ReturnFeesCustomerResponsibility: le consommateur doit gérer et payer lui-même les frais de retour. Si vous l'utilisez, n'incluez pas la propriété returnShippingFeesAmount.
  • https://schema.org/ReturnShippingFees : le marchand facture des frais de port au consommateur pour le retour du produit. Indiquez les frais de port (non nuls) à l'aide de la propriété returnShippingFeesAmount.
returnMethod

ReturnMethodEnumeration

Type de méthode de retour proposée. Cette option n'est recommandée que si vous définissez returnPolicyCategory sur MerchantReturnFiniteReturnWindow ou MerchantReturnUnlimitedWindow. Utilisez une ou plusieurs des valeurs suivantes :

  • https://schema.org/ReturnAtKiosk : l'article peut être retourné en kiosque.
  • https://schema.org/ReturnByMail : l'article peut être retourné par voie postale.
  • https://schema.org/ReturnInStore : l'article peut être retourné en magasin.
returnShippingFeesAmount

MonetaryAmount

Frais de port pour le retour d'un produit. Cette propriété n'est obligatoire que si le consommateur doit payer des frais de port non nuls au marchand pour renvoyer un produit, auquel cas returnFees doit être défini sur https://schema.org/ReturnShippingFees. returnFees doit être défini sur https://schema.org/FreeReturn. Si le consommateur doit gérer et payer les frais de retour, returnFees doit être défini sur https://schema.org/ReturnFeesCustomerResponsibility.

Autres approches de la configuration des paramètres de livraison et de retour 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/retour et les tenir à jour avec le balisage, et si vous possédez un compte Google Merchant Center, envisagez de configurer vos paramètres de livraison et vos conditions de retour via l'aide de Google Merchant Center. Vous pouvez également configurer des conditions de livraison et de retour au niveau du compte dans la Search Console. Elles sont automatiquement ajoutées à Merchant Center.

Combiner plusieurs configurations de livraison et de retour

Si vous combinez différentes configurations de livraison et de retour, 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 du balisage au niveau de l'organisation sur votre site et des paramètres de conditions de retour dans la Search Console, Google n'utilisera que les informations fournies dans la Search Console. Si vous envoyez un flux de produits dans Merchant Center et que vous configurez les paramètres de livraison dans la Search Console, les informations de votre flux Merchant Center sont prioritaires sur les paramètres de la Search Console.

Voici les éléments qui ont la priorité pour les informations sur les conditions de livraison et de retour (classés par ordre de priorité, les flux ayant la priorité absolue) :

Suivre les résultats enrichis avec la Search Console

La Search Console est un outil qui vous permet de suivre les performances de vos pages dans la recherche Google. Il n'est pas nécessaire de vous inscrire à la Search Console pour figurer dans les résultats de recherche Google. Cependant, en vous inscrivant, vous comprendrez mieux la façon dont Google interprète votre site et serez plus à même de l'améliorer. Nous vous recommandons de consulter la Search Console dans les cas suivants :

  1. Après avoir déployé des données structurées pour la première fois
  2. Après avoir publié de nouveaux modèles ou après avoir mis à jour votre code
  3. Lors des analyses régulières du trafic

Après avoir déployé des données structurées pour la première fois

Une fois que Google a indexé vos pages, recherchez les problèmes à l'aide du rapport sur l'état des résultats enrichis. Idéalement, il y aura une augmentation du nombre d'articles valides et pas d'augmentation du nombre d'articles non valides. Si vous détectez des problèmes au niveau des données structurées :

  1. Corrigez les éléments non valides.
  2. Inspectez une URL active pour vérifier si le problème persiste.
  3. Demandez la validation à l'aide du rapport d'état.

Après avoir publié de nouveaux modèles ou après avoir mis à jour votre code

Lorsque vous apportez des modifications importantes à votre site Web, surveillez l'augmentation des éléments non valides dans les données structurées.
  • Si vous constatez une augmentation du nombre d'éléments non valides, vous avez peut-être déployé un nouveau modèle qui ne fonctionne pas, ou votre site interagit différemment et de façon incorrecte avec le modèle déjà disponible.
  • Si vous constatez une diminution du nombre d'éléments valides (sans augmentation du nombre d'éléments non valides), vous n'intégrez peut-être plus de données structurées dans vos pages. Utilisez l'outil d'inspection d'URL pour identifier la cause du problème.

Lors des analyses régulières du trafic

Analysez votre trafic de recherche Google à l'aide du rapport sur les performances. Les données indiquent la fréquence à laquelle votre page s'affiche en tant que résultat enrichi dans la recherche Google, ainsi que la fréquence à laquelle les internautes cliquent dessus et la position moyenne à laquelle vous apparaissez dans les résultats de recherche. Vous pouvez également extraire automatiquement ces résultats avec l'API Search Console.

Il existe deux rapports de la Search Console associés aux données structurées Product:

Ces deux rapports contiennent les avertissements et les erreurs liés aux données structurées Product. Toutefois, ils sont séparés, car les expériences associées sont soumises à des exigences distinctes. Par exemple, le rapport sur les fiches de marchand recherche et vérifie les extraits produit qui incluent des données structurées Offer. Dès lors, le rapport Extraits produit doit uniquement être consulté pour les pages autres que les fiches de marchand.

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.