Dati strutturati per varianti di prodotto (ProductGroup, Product)

Molti tipi di prodotti, come capi di abbigliamento, scarpe, mobili, dispositivi elettronici e valigie sono venduti in diverse varianti (ad esempio varie taglie, colori, materiali o motivi). Per aiutare Google a comprendere meglio quali prodotti sono varianti dello stesso prodotto principale, oltre ai dati strutturati Product utilizza la classe ProductGroup con le proprietà associate variesBy, hasVariant e productGroupID per raggruppare queste varianti.

ProductGroup consente inoltre di specificare le proprietà di prodotto comuni per tutte le varianti, ad esempio informazioni sul brand e sulle recensioni, nonché le proprietà che determinano le varianti, il che può ridurre la duplicazione delle informazioni.

How to add structured data

Structured data is a standardized format for providing information about a page and classifying the page content. If you're new to structured data, you can learn more about how structured data works.

Here's an overview of how to build, test, and release structured data.

  1. Add the required properties. Based on the format you're using, learn where to insert structured data on the page.
  2. Follow the guidelines.
  3. Validate your code using the Rich Results Test and fix any critical errors. Consider also fixing any non-critical issues that may be flagged in the tool, as they can help improve the quality of your structured data (however, this isn't necessary to be eligible for rich results).
  4. Deploy a few pages that include your structured data and use the URL Inspection tool to test how Google sees the page. Be sure that your page is accessible to Google and not blocked by a robots.txt file, the noindex tag, or login requirements. If the page looks okay, you can ask Google to recrawl your URLs.
  5. To keep Google informed of future changes, we recommend that you submit a sitemap. You can automate this with the Search Console Sitemap API.

Esempi

In generale, esistono due approcci di progettazione principali utilizzati dai siti web di e-commerce per le varianti dei prodotti. Questa sezione descrive come configurare il markup per le varianti di prodotto in base all'approccio alla progettazione del tuo sito web:

  • Pagina singola, in cui tutte le varianti sono selezionabili in una singola pagina senza ricaricamenti di pagina (di solito tramite parametri di query)
  • Più pagine, in cui le varianti dello stesso prodotto sono accessibili su pagine diverse

Sito web a pagina singola

Gli esempi di siti web a pagina singola utilizzano un sito web con i seguenti presupposti:

  • Quando non sono selezionate varianti, la pagina principale del prodotto viene restituita dal seguente URL: https://www.example.com/coat
  • La stessa pagina viene restituita con una variante specifica preselezionata utilizzando i seguenti URL:
    • 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
  • Quando l'utente seleziona una variante diversa nella pagina (utilizzando i menu a discesa per colore e dimensione), le informazioni su immagini, prezzi e disponibilità cambiano in modo dinamico nella pagina senza che venga ricaricata. Il markup nella pagina non cambia in modo dinamico quando l'utente seleziona diverse varianti.

Esempio di pagina singola: varianti nidificate in ProductGroup

In questo esempio, le varianti sono nidificate nell'entità ProductGroup di primo livello utilizzando la proprietà hasVariant:

  • L'entità ProductGroup e le tre entità Offer (all'interno delle proprietà Product) hanno tutte URL distinti. In alternativa, gli URL potrebbero essere stati forniti anche in Product.
  • Un titolo e una descrizione comuni vengono specificati a livello di ProductGroup. I titoli e le descrizioni specifici delle varianti sono specificati a livello di Product.
  • Anche altre proprietà comuni alle varianti (come brand, motivo, materiale e informazioni sul pubblico) vengono specificate a livello di ProductGroup.
  • ProductGroup specifica le proprietà di identificazione delle varianti utilizzando la proprietà variesBy.
  • ProductGroup specifica lo SKU principale utilizzando productGroupID (che non deve essere ripetuto nelle proprietà Product usando inProductGroupWithID).

Consigliamo questo approccio perché è la rappresentazione più compatta e naturale di un gruppo di prodotti e delle sue varianti.


<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>

Esempio di pagina singola: varianti separate da ProductGroup

Questa struttura è simile all'esempio precedente, tranne per il fatto che le varianti sono definite separate (non nidificate) da ProductGroup. Questo approccio potrebbe essere più semplice da generare per alcuni sistemi di gestione dei contenuti (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>

Sito web a più pagine

Gli esempi di siti web a pagina più pagine utilizzano un sito web con i seguenti presupposti:

  • Le varianti in azzurro sono disponibili ai seguenti URL nelle taglie small e large:
    • https://www.example.com/coat/lightblue?size=small
    • https://www.example.com/coat/lightblue?size=large
  • La variante verde è disponibile solo nella taglia small su https://www.example.com/coat/green?size=small.
  • Entrambe le pagine consentono di passare all'altra pagina (ovvero, la pagina viene ricaricata) tramite un selettore di colori nell'UI.
  • Il sito suddivide il markup equivalente degli esempi a pagina singola nelle due pagine.

Tieni presente che non esiste una definizione di ProductGroup su una sola pagina a cui viene fatto riferimento da un'altra pagina. Questo perché l'attributo ProductGroup deve fare riferimento ad attributi comuni delle varianti, come brand, materiale ed età. Ciò significa anche che la definizione completa di ProductGroup deve essere ripetuta su ciascuna pagina delle varianti.

Esempio di più pagine: varianti nidificate in ProductGroup

Equivale al primo esempio a pagina singola, con le proprietà Product delle varianti nidificate nella proprietà ProductGroup di primo livello usando la proprietà hasVariant. La definizione di ProductGroup è duplicata su entrambe le pagine. Tieni presente quanto riportato di seguito:

  • ProductGroup non ha un URL canonico, dato che non esiste un singolo URL che rappresenta ProductGroup.
  • ProductGroup in ogni pagina ha una definizione completa delle varianti sulla pagina nonché una variante con solo la proprietà url per rimandare alle varianti nell'altra pagina, il che aiuta Google a trovare le varianti.

Pagina 1: varianti in azzurro

L'esempio seguente mostra i dati strutturati nella prima pagina per le varianti in azzurro:

<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>

Pagina 2: variante in verde

L'esempio seguente mostra i dati strutturati nella seconda pagina per la variante in verde:

<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>

Esempio di più pagine: varianti separate da ProductGroup

Questa struttura è simile all'esempio precedente di più pagine, ad eccezione del fatto che le varianti sono definite separatamente (non nidificate) da ProductGroup. Questo approccio potrebbe essere più facile da generare per alcuni CMS.

Pagina 1: varianti in azzurro

L'esempio seguente mostra i dati strutturati nella prima pagina per le varianti in azzurro:


<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>

Pagina 2: variante in verde

L'esempio seguente mostra i dati strutturati nella seconda pagina per la variante in verde:


<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>

Linee guida

Affinché il markup per le varianti di prodotto sia idoneo all'utilizzo nella Ricerca Google, devi seguire queste linee guida:

Linee guida tecniche

  • Ogni variante deve avere un ID univoco nel corrispondente markup dei dati strutturati (ad esempio, utilizzando le proprietà sku o gtin).
  • Ogni gruppo di prodotti deve avere un ID univoco nel markup dei dati strutturati corrispondente, specificato con la proprietà inProductGroupWithID nelle proprietà Product delle varianti o con la proprietà productGroupID nella proprietà ProductGroup.
  • Assicurati di aggiungere i dati strutturati Product oltre alle proprietà delle varianti di prodotto, seguendo l'elenco delle proprietà obbligatorie per le schede del commerciante (o snippet prodotto).
  • Per i siti a pagina singola, deve esistere un solo URL canonico distinto per la classe ProductGroup generale a cui appartengono tutte le varianti. In genere si tratta dell'URL di base che rimanda a una pagina senza una variante preselezionata, ad esempio https://www.example.com/winter_coat.
  • Per i siti a più pagine, ognuna deve avere un markup completo e indipendente per le entità definite nella pagina (il che significa che le entità fuori dalla pagina non dovrebbero essere necessarie per comprendere il markup sulla pagina stessa).
  • Il sito deve poter preselezionare direttamente ogni variante con un URL distinto (utilizzando i parametri di query dell'URL), ad esempio https://www.example.com/winter_coat/size=small&color=green. In questo modo, Google può eseguire la scansione e identificare ogni variante. La preselezione di ogni variante include la possibilità di mostrare l'immagine, il prezzo e la disponibilità corretti, nonché consente all'utente di aggiungere la variante al carrello.

Definizioni dei tipi di dati strutturati

Affinché i tuoi dati strutturati siano idonei per l'utilizzo nella Ricerca Google, devi includere le proprietà obbligatorie. Puoi anche includere le proprietà consigliate per aggiungere ulteriori informazioni sulle tue varianti di prodotto, e fornire così un'esperienza utente migliore.

ProductGroup

Google riconosce le seguenti proprietà di ProductGroup. La definizione completa di ProductGroup è disponibile all'indirizzo schema.org/ProductGroup. Quando esegui il markup dei contenuti con le informazioni sulle varianti dei prodotto, utilizza le seguenti proprietà di ProductGroup.

Proprietà obbligatorie
name

Text

Il nome del ProductGroup (ad esempio, "Cappotto invernale in lana"). Assicurati che il nome delle varianti in ogni articolo Product sia più specifico (ad esempio, "Cappotto invernale in lana - verde, taglia S", in base alle proprietà di identificazione delle varianti. Per ulteriori dettagli, consulta la documentazione di Product.

Proprietà consigliate
aggregateRating

AggregateRating

Un aggregateRating nidificato del ProductGroup (che è rappresentativo di tutte le varianti), se applicabile. Segui le linee guida sugli snippet recensione e l'elenco delle proprietà AggregateRating obbligatorie e consigliate.

brand

Brand

Informazioni sul brand relative a ProductGroup (uguali per tutte le varianti), se applicabili. Per maggiori dettagli su brand, consulta la documentazione di Product.

brand.name

Brand

Il nome del brand del ProductGroup (uguale per tutte le varianti). Se aggiungi già il brand a livello di ProductGroup, non è necessario aggiungerlo di nuovo a livello di Product. Per maggiori dettagli su brand, consulta la documentazione di Product.

description

Text oppure TextObject

La descrizione di ProductGroup. Ad esempio, "Cappotto invernale di lana per climi freddi". Assicurati che la descrizione della variante sia più specifica e, idealmente, utilizzi parole che identificano la variante (ad es. colore, taglia, materiale).

hasVariant

Product

Una proprietà Product nidificata che è una delle varianti della proprietà ProductGroup, se applicabile. Un ProductGroup in genere ha più proprietà Product delle varianti nidificate.

In alternativa, una proprietà Product delle varianti può fare riferimento al suo ProductGroup principale utilizzando isVariantOf in Product.

productGroupID

Text

L'identificatore del gruppo di prodotti (noto anche come SKU principale). Questo identificatore deve essere fornito per la proprietà ProductGroup o, in alternativa, utilizzare inProductGroupWithID per le varianti di ProductGroup. Se fornisci l'identificatore sia per la proprietà ProductGroup che per le proprietà Product delle varianti, gli identificatori devono corrispondere.

review

Review

Una review nidificata del ProductGroup, se applicabile. Segui le linee guida sugli snippet recensione e l'elenco di proprietà delle recensioni obbligatorie e consigliate.

url

URL

Solo per i siti web a singola pagina: l'URL (senza selettori di varianti) in cui si trova la proprietà ProductGroup, se applicabile. Non utilizzare questa proprietà per i siti web a più pagine.

variesBy

DefinedTerm

Aspetti in base ai quali differiscono le varianti in ProductGroup (ad esempio, taglia o colore), se applicabili. Fai riferimento a queste proprietà di identificazione delle varianti tramite il loro URL completo di schema.org (ad esempio, https://schema.org/color). Sono supportate le seguenti proprietà:

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

Troubleshooting

If you're having trouble implementing or debugging structured data, here are some resources that may help you.

  • If you're using a content management system (CMS) or someone else is taking care of your site, ask them to help you. Make sure to forward any Search Console message that details the issue to them.
  • Google does not guarantee that features that consume structured data will show up in search results. For a list of common reasons why Google may not show your content in a rich result, see the General Structured Data Guidelines.
  • You might have an error in your structured data. Check the list of structured data errors and the Unparsable structured data report.
  • If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results). To fix structured data issues, use the Manual Actions report.
  • Review the guidelines again to identify if your content isn't compliant with the guidelines. The problem can be caused by either spammy content or spammy markup usage. However, the issue may not be a syntax issue, and so the Rich Results Test won't be able to identify these issues.
  • Troubleshoot missing rich results / drop in total rich results.
  • Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it. For general questions about crawling and indexing, check the Google Search crawling and indexing FAQ.
  • Post a question in the Google Search Central forum.