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

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.

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.

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

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 des variantes de produits, en fonction de l'approche de 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",
        "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",
        ... // Other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=small&color=green",
          "price": 39.99
          ... // 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",
        ... // Other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=small&color=lightblue",
          "price": 39.99
          ... // Other offer-level properties
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "Product",
        "isVariantOf": { "@id": "#coat_parent" },
        "name": "Large dark blue coat",
        "description": "Large wool light blue coat for the winter season",
        ... // Other Product-level properties
        "offers": {
          "@type": "Offer",
          "url": "https://www.example.com/coat?size=large&color=lightblue",
          "price": 49.99
          ... // 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",
            ... // Other Product-level properties
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat/lightblue?size=small",
              "price": 39.99
              ... // Other offer-level properties
            }
          },
          {
            "@type": "Product",
            "name": "Large light blue coat",
            "description": "Large wool light blue coat for the winter season",
            ... // Other Product-level properties
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat/lightblue?size=large",
              "price": 49.99
              ... // 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",
            ... // Other Product-level properties
            "offers": {
              "@type": "Offer",
              "url": "https://www.example.com/coat/green?size=small",
              "price": 39.99,
              ... // 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",
        "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",
        "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, en utilisant les 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 le 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

Brand

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. Un ProductGroup comporte généralement plusieurs propriétés Product de variante 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 élément 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.