Données structurées de variante du produit (ProductGroup, Product)

variantes de produits dans les résultats de recherche

De nombreux types de produits sont vendus, tels que des vêtements, des chaussures, des meubles, des appareils électroniques et des bagages, en différentes versions (tailles, couleurs, matières ou motifs, par exemple). Pour aider Google à mieux comprendre quels produits sont des variantes d'un même produit parent, utilisez la classe ProductGroup avec les propriétés associées variesBy, hasVariant et productGroupID pour regrouper ces variantes, en plus des données structurées Product. L'ajout de ce balisage permet également d'afficher vos produits avec des informations sur les variantes dans les fiches de marchand.

ProductGroup vous permet également de spécifier des propriétés de produit communes à toutes les variantes, telles que des informations sur la marque et les avis, ainsi que les propriétés de détermination des variantes, ce qui peut réduire la duplication des informations.

如何添加结构化数据

结构化数据是一种提供网页相关信息并对网页内容进行分类的标准化格式。如果您不熟悉结构化数据,可以详细了解结构化数据的运作方式

下面概述了如何构建、测试和发布结构化数据。如需获得向网页添加结构化数据的分步指南,请查看结构化数据 Codelab

  1. 添加必要属性。根据您使用的格式,了解在网页上的什么位置插入结构化数据
  2. 遵循指南
  3. 使用富媒体搜索结果测试验证您的代码,并修复所有严重错误。此外,您还可以考虑修正该工具中可能会标记的任何非严重问题,因为这些这样有助于提升结构化数据的质量(不过,要使内容能够显示为富媒体搜索结果,并非必须这么做)。
  4. 部署一些包含您的结构化数据的网页,然后使用网址检查工具测试 Google 看到的网页样貌。请确保您的网页可供 Google 访问,不会因 robots.txt 文件、noindex 标记或登录要求而被屏蔽。如果网页看起来没有问题,您可以请求 Google 重新抓取您的网址
  5. 为了让 Google 随时了解日后发生的更改,我们建议您提交站点地图Search Console Sitemap API 可以帮助您自动执行此操作。

Exemples

En général, les sites d'e-commerce suivent principalement deux approches de conception pour les variantes de produits. Cette section explique comment configurer le balisage pour les variantes de produits en fonction de la conception de votre site Web :

  • Page unique : toutes les variantes peuvent être sélectionnées sur une seule page sans l'actualiser (généralement via des paramètres de requête)
  • Plusieurs pages : où les variantes d'un même produit sont accessibles sur différentes pages

Site Web à page unique

Les exemples de sites Web à page unique utilisent un site Web avec les hypothèses suivantes:

  • Si aucune variante n'est sélectionnée, la page du produit principal est renvoyée par l'URL suivante : https://www.example.com/coat
  • La même page est renvoyée avec une variante présélectionnée spécifique à l'aide des URL suivantes :
    • https://www.example.com/coat?size=small&color=green
    • https://www.example.com/coat?size=small&color=lightblue
    • https://www.example.com/coat?size=large&color=lightblue
  • Lorsque l'utilisateur sélectionne une autre variante sur la page (à l'aide de menus déroulants pour la couleur et la taille), l'image, le prix et les informations de disponibilité changent de manière dynamique sur la page sans qu'elle soit actualisée. Le balisage de la page ne change pas de manière dynamique lorsque l'utilisateur sélectionne différentes variantes.

Exemple monopage : variantes imbriquées sous ProductGroup

Dans cet exemple, les variantes sont imbriquées sous l'entité ProductGroup de premier niveau à l'aide de la propriété hasVariant :

  • L'entité ProductGroup et les trois entités Offer (sous les propriétés Product) ont toutes des URL distinctes. Alternativement, les URL peuvent également être fournies sous Product.
  • Une description et un titre communs sont spécifiés au niveau ProductGroup. Les titres et les descriptions spécifiques aux variantes sont spécifiés au niveau de Product.
  • D'autres propriétés de variante communes (telles que la marque, le motif, la matière et l'audience) sont également spécifiées au niveau de ProductGroup.
  • ProductGroup spécifie les propriétés d'identification des variantes à l'aide de la propriété variesBy.
  • ProductGroup spécifie le SKU parent à l'aide de productGroupID (qui n'a pas besoin d'être répété sous les propriétés Product avec inProductGroupWithID).

Nous recommandons cette approche, car il s'agit de la représentation la plus compacte et la plus naturelle d'un produit et de ses variantes.


<html>
  <head>
    <title>Wool winter coat</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        "url": "https://www.example.com/coat",
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "audience": {
          "@type": "PeopleAudience",
          "suggestedGender": "unisex",
          "suggestedAge": {
            "@type": "QuantitativeValue",
            "minValue": 13,
            "unitCode": "ANN"
          }
        },
        "productGroupID": "44E01",
        "pattern": "striped",
        "material": "wool",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ],
        "hasVariant": [
          {
            "@type": "Product",
            "sku": "44E01-M11000",
            "gtin14": "98766051104214",
            "image": "https://www.example.com/coat_small_green.jpg",
            "name": "Small green coat",
            "description": "Small wool green coat for the winter season",
            "color": "Green",
            "size": "small",
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat?size=small&color=green",
              "priceCurrency": "USD",
              "price": 39.99,
              "itemCondition": "https://schema.org/NewCondition",
              "availability": "https://schema.org/InStock",
              "shippingDetails": { "@id": "#shipping_policy" },
              "hasMerchantReturnPolicy": { "@id": "#return_policy" }
            }
          },
          {
            "@type": "Product",
            "sku": "44E01-K11000",
            "gtin14": "98766051104207",
            "image": "https://www.example.com/coat_small_lightblue.jpg",
            "name": "Small light blue coat",
            "description": "Small wool light blue coat for the winter season",
            "color": "light blue",
            "size": "small",
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat?size=small&color=lightblue",
              "priceCurrency": "USD",
              "price": 39.99,
              "itemCondition": "https://schema.org/NewCondition",
              "availability": "https://schema.org/InStock",
              "shippingDetails": { "@id": "#shipping_policy" },
              "hasMerchantReturnPolicy": { "@id": "#return_policy" }
            }
          },
          {
            "@type": "Product",
            "sku": "44E01-X1100000",
            "gtin14": "98766051104399",
            "image": "https://www.example.com/coat_large_lightblue.jpg",
            "name": "Large light blue coat",
            "description": "Large wool light blue coat for the winter season",
            "color": "light blue",
            "size": "large",
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat?size=large&color=lightblue",
              "priceCurrency": "USD",
              "price": 49.99,
              "itemCondition": "https://schema.org/NewCondition",
              "availability": "https://schema.org/BackOrder",
              "shippingDetails": { "@id": "#shipping_policy" },
              "hasMerchantReturnPolicy": { "@id": "#return_policy" }
            }
          }
        ]
      },
      {
        "@context": "https://schema.org/",
        "@type": "OfferShippingDetails",
        "@id": "#shipping_policy",
        "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"
          }
        }
      },
      {
        "@context": "http://schema.org/",
        "@type": "MerchantReturnPolicy",
        "@id": "#return_policy",
        "applicableCountry": "US",
        "returnPolicyCountry": "US",
        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
        "merchantReturnDays": 60,
        "returnMethod": "https://schema.org/ReturnByMail",
        "returnFees": "https://schema.org/FreeReturn"
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

Exemple monopage : variantes distinctes de ProductGroup

Cette structure est semblable à celle de l'exemple précédent, sauf que les variantes sont définies séparément (non imbriquées) de ProductGroup. Cette approche peut être plus facile à générer pour certains systèmes de gestion de contenu (CMS).


<html>
  <head>
    <title>Wool winter coat</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org",
        "@type": "ProductGroup",
        "@id": "#coat_parent",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        "url": "https://www.example.com/coat",
        // ... other ProductGroup-level properties
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "productGroupID": "44E01",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "name": "Small green coat",
        "description": "Small wool green coat for the winter season",
        "image": "https://www.example.com/coat_small_green.jpg",
        "size": "small",
        "color": "green",
        // ... other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=small&color=green",
          "price": 39.99,
          "priceCurrency": "USD"
          // ... other offer-level properties
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "name": "Small dark blue coat",
        "description": "Small wool light blue coat for the winter season",
        "image": "https://www.example.com/coat_small_lightblue.jpg",
        "size": "small",
        "color": "light blue",
        // ... other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=small&color=lightblue",
          "price": 39.99,
          "priceCurrency": "USD"
          // ... other offer-level properties
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "name": "Large light blue coat",
        "description": "Large wool light blue coat for the winter season",
        "image": "https://www.example.com/coat_large_lightblue.jpg",
        "size": "large",
        "color": "light blue",
        // ... other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=large&color=lightblue",
          "price": 49.99,
          "priceCurrency": "USD"
          // ... other offer-level properties
        }
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

Site Web multipage

Les exemples de balisage de site Web multipages utilisent un site Web avec les hypothèses suivantes:

  • Les variantes bleu clair sont disponibles aux URL suivantes pour les tailles S et L :
    • https://www.example.com/coat/lightblue?size=small
    • https://www.example.com/coat/lightblue?size=large
  • La variante verte n'est disponible qu'en taille S via https://www.example.com/coat/green?size=small.
  • Chaque page permette de "passer" à l'autre page (c'est-à-dire que la page s'actualise) via un sélecteur de couleur dans l'interface utilisateur.
  • Le site divise sur deux pages le balisage équivalent des exemples monopages.

Notez qu'il n'y a pas de définition ProductGroup sur une page unique qui est référencée à partir d'une autre page. En effet, ProductGroup doit référencer les attributs communs des variantes, tels que la marque, la matière et la tranche d'âge. Cela signifie également que la définition complète de ProductGroup doit être répétée sur chacune des pages de variantes.

Exemple multipage : variantes imbriquées sous ProductGroup

Il s'agit de l'équivalent du premier exemple monopage, avec les propriétés de variante Product imbriquées sous l'élément ProductGroup de premier niveau à l'aide de la propriété hasVariant. La définition ProductGroup est dupliquée sur les deux pages. Tenez compte des remarques suivantes :

  • ProductGroup n'a pas d'URL canonique, car aucune URL unique ne représente le ProductGroup.
  • L'élément ProductGroup de chaque page contient une définition complète des variantes sur la page ainsi qu'une variante avec uniquement la propriété url à associer aux variantes de l'autre page afin d'aider Google à trouver vos variantes.

Page 1 : Variantes bleu clair

L'exemple suivant montre les données structurées sur la première page pour les variantes bleu clair:


<html>
  <head>
    <title>Wool winter coat, light blue color</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        // ... other ProductGroup-level properties
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "productGroupID": "44E01",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ],
        "hasVariant": [
          {
            "@type": "Product",
            "name": "Small light blue coat",
            "description": "Small wool light blue coat for the winter season",
            "image": "https://www.example.com/coat_small_lightblue.jpg",
            "size": "small",
            "color": "light blue",
            // ... other Product-level properties
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat/lightblue?size=small",
              "price": 39.99,
              "priceCurrency": "USD"
              // ... other offer-level properties
            }
          },
          {
            "@type": "Product",
            "name": "Large light blue coat",
            "description": "Large wool light blue coat for the winter season",
            "image": "https://www.example.com/coat_large_lightblue.jpg",
            "size": "large",
            "color": "light blue",
            // ... other Product-level properties
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat/lightblue?size=large",
              "price": 49.99,
              "priceCurrency": "USD"
              // ... other offer-level properties
            }
          },
          { "url": "https://www.example.com/coat/green?size=small" }
        ]
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

Page 2 : variante verte

L'exemple suivant montre les données structurées sur la deuxième page pour la variante verte:


<html>
  <head>
    <title>Wool winter coat, green color</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        // ... other ProductGroup-level properties
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "productGroupID": "44E01",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ],
        "hasVariant": [
          {
            "@type": "Product",
            "name": "Small green coat",
            "description": "Small wool green coat for the winter season",
            "image": "https://www.example.com/coat_green.jpg",
            "color": "green",
            "size": "small",
            // ... other Product-level properties
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat/green?size=small",
              "price": 39.99,
              "priceCurrency": "USD"
              // ... other offer-level properties
            }
          },
          { "url": "https://www.example.com/coat/lightblue?size=small" },
          { "url": "https://www.example.com/coat/lightblue?size=large" }
        ]
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

Exemple multipage : variantes distinctes de ProductGroup

Cette structure est semblable à celle de l'exemple multipage précédent, sauf que les variantes sont définies séparément (non imbriquées) de ProductGroup. Cette approche peut être plus facile à générer pour certains systèmes de gestion de contenu (CMS).

Page 1 : Variantes bleu clair

L'exemple suivant montre les données structurées sur la première page pour les variantes bleu clair:


<html>
  <head>
    <title>Wool winter coat, lightblue color</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "@id": "#coat_parent",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "audience": {
          "@type": "PeopleAudience",
          "suggestedGender": "unisex",
          "suggestedAge": {
            "@type": "QuantitativeValue",
            "minValue": 13,
            "unitCode": "ANN"
          }
        },
        "productGroupID": "44E01",
        "pattern": "striped",
        "material": "wool",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "sku": "44E01-K11000",
        "gtin14": "98766051104207",
        "image": "https://www.example.com/coat_lightblue.jpg",
        "name": "Small light blue coat",
        "description": "Small wool light blue coat for the winter season",
        "color": "light blue",
        "size": "small",
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat/lightblue?size=small",
          "priceCurrency": "USD",
          "price": 39.99,
          "itemCondition": "https://schema.org/NewCondition",
          "availability": "https://schema.org/InStock",
          "shippingDetails": { "@id": "#shipping_policy" },
          "hasMerchantReturnPolicy": { "@id": "#return_policy" }
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "sku": "44E01-X1100000",
        "gtin14": "98766051104399",
        "image": "https://www.example.com/coat_lightblue.jpg",
        "name": "Large light blue coat",
        "description": "Large wool light blue coat for the winter season",
        "color": "light blue",
        "size": "large",
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat/lightblue?size=large",
          "priceCurrency": "USD",
          "price": 49.99,
          "itemCondition": "https://schema.org/NewCondition",
          "availability": "https://schema.org/BackOrder",
          "shippingDetails": { "@id": "#shipping_policy" },
          "hasMerchantReturnPolicy": { "@id": "#return_policy" }
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "url": "https://www.example.com/coat/green?size=small"
      },
      {
        "@context": "https://schema.org/",
        "@type": "OfferShippingDetails",
        "@id": "#shipping_policy",
        "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"
          }
        }
      },
      {
        "@context": "https://schema.org/",
        "@type": "MerchantReturnPolicy",
        "@id": "#return_policy",
        "applicableCountry": "US",
        "returnPolicyCountry": "US",
        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
        "merchantReturnDays": 60,
        "returnMethod": "https://schema.org/ReturnByMail",
        "returnFees": "https://schema.org/FreeReturn"
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

Page 2 : variante verte

L'exemple suivant montre les données structurées sur la deuxième page pour la variante verte:


<html>
  <head>
    <title>Wool winter coat, green color</title>
    <script type="application/ld+json">
    [
      {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "@id": "#coat_parent",
        "name": "Wool winter coat",
        "description": "Wool coat, new for the coming winter season",
        "brand": {
          "@type": "Brand",
          "name": "Good brand"
        },
        "audience": {
          "@type": "PeopleAudience",
          "suggestedGender": "unisex",
          "suggestedAge": {
            "@type": "QuantitativeValue",
            "minValue": 13,
            "unitCode": "ANN"
          }
        },
        "productGroupID": "44E01",
        "pattern": "striped",
        "material": "wool",
        "variesBy": [
          "https://schema.org/size",
          "https://schema.org/color"
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "@id": "#small_green",
        "isVariantOf": { "@id": "#coat_parent" },
        "sku": "44E01-M11000",
        "gtin14": "98766051104214",
        "image": "https://www.example.com/coat_green.jpg",
        "name": "Small green coat",
        "description": "Small wool green coat for the winter season",
        "color": "green",
        "size": "small",
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat/green?size=small",
          "priceCurrency": "USD",
          "price": 39.99,
          "itemCondition": "https://schema.org/NewCondition",
          "availability": "https://schema.org/InStock",
          "shippingDetails": { "@id": "#shipping_policy" },
          "hasMerchantReturnPolicy": { "@id": "#return_policy" }
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "url": "https://www.example.com/coat/lightblue?size=small"
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "url": "https://www.example.com/coat/lightblue?size=large"
      },
      {
        "@context": "https://schema.org/",
        "@type": "OfferShippingDetails",
        "@id": "#shipping_policy",
        "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"
          }
        }
      },
      {
        "@context": "https://schema.org/",
        "@type": "MerchantReturnPolicy",
        "@id": "#return_policy",
        "applicableCountry": "US",
        "returnPolicyCountry": "US",
        "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
        "merchantReturnDays": 60,
        "returnMethod": "https://schema.org/ReturnByMail",
        "returnFees": "https://schema.org/FreeReturn"
      }
    ]
    </script>
  </head>
  <body>
  </body>
</html>

Consignes

Pour que votre balisage de variantes de produit puisse être utilisé dans la recherche Google, vous devez suivre ces consignes :

Consignes techniques

  • Chaque variante doit avoir un identifiant unique dans le balisage de données structurées correspondant (par exemple, à l'aide des propriétés sku ou gtin).
  • Chaque groupe de produits doit avoir un identifiant unique dans le balisage de données structurées correspondant, spécifié avec la propriété inProductGroupWithID dans les propriétés de la variante du Product ou la propriété productGroupID dans la propriété ProductGroup.
  • Veillez à ajouter des données structurées Product en plus des propriétés des variantes de produit, en respectant la liste des propriétés obligatoires pour les fiches de marchand (ou les extraits produit).
  • Pour les sites monopages, il ne doit y avoir qu'une seule URL canonique distincte pour l'élément ProductGroup global auquel toutes les variantes appartiennent. Généralement, il s'agit de l'URL de base qui mène à une page sans variante présélectionnée, par exemple https://www.example.com/winter_coat.
  • Pour les sites multipages, chaque page doit comporter un balisage complet et autonome pour les entités définies sur cette page (ce qui signifie que les entités hors page ne doivent pas être nécessaires pour comprendre le balisage de la page elle-même).
  • Le site doit pouvoir présélectionner chaque variante directement avec une URL distincte (à l'aide de paramètres de requête d'URL), par exemple https://www.example.com/winter_coat/size=small&color=green. Cela permet à Google d'explorer et d'identifier chaque variante. Présélectionner chaque variante implique d'afficher l'image, le prix et la disponibilité de la variante, et de permettre à l'utilisateur d'ajouter la variante au panier.
  • Si vous êtes un marchand et que vous optimisez pour tous les types de résultats Shopping, nous vous recommandons de placer les données structurées Product dans le code HTML initial pour de meilleurs résultats.
  • Pour le balisage Product généré par JavaScript : sachez que le balisage généré de manière dynamique peut rendre les explorations Shopping moins fréquentes et moins fiables, ce qui peut poser problème pour les contenus qui changent rapidement, comme la disponibilité et le prix des produits. Si vous utilisez JavaScript pour générer du balisage Product, assurez-vous que votre serveur dispose de suffisamment de ressources de calcul pour gérer l'augmentation du trafic provenant de Google.

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 variantes de produit et ainsi offrir une meilleure expérience utilisateur.

ProductGroup

Google reconnaît les propriétés suivantes d'un ProductGroup. La définition complète de l'élément ProductGroup est disponible sur schema.org/ProductGroup. Lorsque vous balisez votre contenu avec des informations sur les variantes de produits, utilisez les propriétés suivantes de la propriété ProductGroup.

Propriétés obligatoires
name

Text

Nom du ProductGroup (par exemple, "Manteau d'hiver en laine"). Assurez-vous que le nom des variantes de chaque article Product est plus spécifique (par exemple, "manteau d'hiver en laine – vert, taille S"), en fonction des propriétés qui identifient les variantes. Pour en savoir plus, consultez la documentation sur les produits.

Propriétés recommandées
aggregateRating

AggregateRating

Un élément aggregateRating imbriqué de ProductGroup (représentatif de toutes les variantes), le cas échéant. Respectez les consignes relatives aux extraits d'avis ainsi que la liste des propriétés AggregateRating obligatoires et recommandées.

brand

Brand

Informations sur la marque concernant ProductGroup (identiques pour toutes les variantes), le cas échéant. Consultez la documentation sur les produits pour en savoir plus sur la brand.

brand.name

Text

Nom de la marque du ProductGroup (identique pour toutes les variantes). Si vous ajoutez déjà la marque au niveau du ProductGroup, vous n'avez pas besoin de l'ajouter de nouveau au niveau du Product. Consultez la documentation sur les produits pour en savoir plus sur la brand.

description

Text ou TextObject

Description de ProductGroup. Par exemple, "Manteau d'hiver en laine pour climats froids". Veillez à ce que la description de la variante soit plus précise et qu'elle utilise idéalement des termes qui identifient la variante (comme la couleur, la taille ou la matière).

hasVariant

Product

Une propriété Product imbriquée qui est l'une des variantes de la propriété ProductGroup, le cas échéant. ProductGroup comporte généralement plusieurs propriétés Product de variantes imbriquées.

Alternativement, une propriété de variante de Product peut également faire référence à son parent ProductGroup à l'aide de la propriété isVariantOf de la propriété Product.

productGroupID

Text

Identifiant du groupe de produits (également appelé SKU parent). Cet identifiant doit être fourni pour la propriété ProductGroup ou, à défaut, à l'aide de la propriété inProductGroupWithID pour les variantes de la propriété ProductGroup. Si vous fournissez l'identifiant pour la propriété ProductGroup et pour les propriétés de ses variantes de Product, elles doivent correspondre.

review

Review

Un review imbriqué de ProductGroup, le cas échéant. Respectez les consignes relatives aux extraits d'avis ainsi que la liste des propriétés d'avis obligatoires et recommandées.

url

URL

Pour les sites Web à page unique uniquement : URL (sans sélecteurs de variantes) où se trouve la propriété ProductGroup, le cas échéant. N'utilisez pas cette propriété pour les sites Web multipages.

variesBy

DefinedTerm

Aspects par lesquels les variantes dans le ProductGroup varient (taille ou couleur, par exemple), le cas échéant. Référencez ces propriétés d'identification des variantes via leur URL Schema.org complète (par exemple, https://schema.org/color). Les propriétés suivantes sont prises en charge:

  • https://schema.org/color
  • https://schema.org/size
  • https://schema.org/suggestedAge
  • https://schema.org/suggestedGender
  • https://schema.org/material
  • https://schema.org/pattern

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.