Dati strutturati per caroselli (beta)

Google utilizza i dati strutturati per comprendere i contenuti della pagina e mostrarli in un aspetto più completo nei risultati di ricerca, ovvero un risultato avanzato. Questa guida si concentra su un nuovo risultato avanzato in versione beta per caroselli, ovvero un risultato avanzato simile a un elenco che le persone possono scorrere in orizzontale per visualizzare più entità di un determinato sito (noto anche come carosello host). Ogni riquadro nel carosello potrebbe contenere informazioni del tuo sito su prezzo, valutazione e immagini delle entità presenti sulla pagina.

Per l'idoneità a questo risultato avanzato in versione beta, aggiungi i dati strutturati ItemList in combinazione con almeno uno dei seguenti elementi di dati strutturati supportati:

Ecco come possono apparire i caroselli nella Ricerca Google quando aggiungi il markup ItemList in combinazione con un tipo di contenuti supportato:

Nuovo risultato avanzato di carosello

Disponibilità della funzionalità

Questa funzionalità è in versione beta e potresti notare cambiamenti nei requisiti o nelle linee guida, man mano che sviluppiamo questa funzionalità. Se la tua attività ha sede nel SEE o offre i suoi servizi agli utenti del SEE e vuoi saperne di più ed esprimere interesse per queste nuove esperienze, puoi iniziare compilando l'apposito modulo (per le query di voli, utilizza il modulo di interesse per le query di voli.

Questa funzionalità è attualmente disponibile solo nei paesi dello Spazio economico europeo (SEE), sia su computer che su dispositivi mobili. È disponibile per le query per le query locali, relative a viaggi e ad acquisti; per le query relative ad acquisti, la funzionalità è inizialmente in fase di test in Germania, Francia, Cechia e Regno Unito.

Aggiungere dati strutturati

I dati strutturati sono un formato standardizzato per fornire informazioni su una pagina e classificarne i contenuti. Se non li hai mai utilizzati, scopri di più su come funzionano i dati strutturati.

Ecco una panoramica di come aggiungere dati strutturati al tuo sito.

  1. Scegli un'unica pagina di riepilogo contenente alcune informazioni su ogni entità dell'elenco. Ad esempio, una pagina di categoria che elenca i "Migliori hotel a Parigi", con link a pagine dei dettagli specifiche sul tuo sito che contengono ulteriori informazioni su ciascun hotel. Se necessario per la tua situazione, puoi combinare diversi tipi di entità (ad es. hotel, ristoranti), ad esempio, se hai un articolo "Cose da fare in Svizzera" che include sia eventi locali che attività locali.
  2. Aggiungi le proprietà obbligatorie alla pagina di riepilogo. Non è necessario aggiungere markup alle pagine dei dettagli per avere l'idoneità a utilizzare questa funzionalità beta. In base al formato che utilizzi, scopri dove inserire i dati strutturati nella pagina.
  3. Aggiungi le proprietà obbligatorie e consigliate per il tipo di contenuti specifico del carosello:

    A seconda della tua situazione, potresti scegliere il tipo migliore da utilizzare. Ad esempio, se nella tua pagina è presente un elenco di hotel e case vacanze, utilizza sia il tipo Hotel che VacationRental. Anche se l'ideale è utilizzare il tipo più simile al tuo scenario, puoi scegliere di utilizzarne uno più generico (ad esempio LocalBusiness).

  4. Segui le linee guida.
  5. Convalida il codice utilizzando il Test dei risultati avanzati.
  6. Implementa alcune pagine che includono dati strutturati e utilizza lo strumento Controllo URL per verificare come Google vede la pagina. Assicurati che la pagina sia accessibile per Google e che non venga bloccata da file robots.txt, tag noindex o requisiti di accesso. Se la pagina non presenta problemi, puoi chiedere a Google di ripetere la scansione degli URL.
  7. Per tenere Google informata delle future modifiche, ti consigliamo di inviare una Sitemap. Puoi automatizzare questa operazione con l'API Search Console Sitemap.

Linee guida

Affinché la tua pagina sia idonea per i risultati avanzati di caroselli (beta), devi seguire le Nozioni di base sulla Ricerca e le linee guida generali sui dati strutturati. Inoltre, ai risultati avanzati di carosello si applicano le seguenti linee guida:

  • È consentito l'uso di tipi generici. Tuttavia, per utilizzare le proprietà consigliate, devi usare i rispettivi tipi. Ad esempio, per usare amenityFeature, utilizza il tipo LodgingBusiness.
  • L'uso di campi aggiuntivi è consentito, ma potrebbero non comparire nel risultato avanzato.
  • Il sito deve avere una pagina di riepilogo e più pagine dei dettagli. Attualmente, questa funzionalità non è progettata per supportare altri scenari, ad esempio una pagina unica in cui i "dettagli" sono punti di ancoraggio all'interno della stessa pagina.
  • Il markup deve trovarsi in una pagina di riepilogo o di categoria, ovvero una pagina simile a un elenco che contiene informazioni su almeno tre entità e che poi rimanda ad altre pagine del sito con ulteriori informazioni su queste entità. Sebbene non sia necessario aggiungere il markup alle pagine dei dettagli, devi includere gli URL delle pagine dei dettagli nel markup della pagina di riepilogo.
  • Esegui il markup di tutti gli elementi presenti nella pagina di riepilogo o della categoria. Per le categorie impaginate, aggiungi un ItemList a ogni pagina successiva e includi le entità elencate in questa pagina. Per lo scorrimento continuo, concentrati sul markup delle entità inizialmente caricate nell'area visibile.

Esempi

Di seguito è riportata una struttura generale del carosello. L'ordine specificato nel markup è quello che verrà utilizzato per ordinare i riquadri nel risultato avanzato del carosello.


  <html>
    <head>
      <title>Top 5 Restaurants in Italy</title>
      <script type="application/ld+json">
        {
        "@context": "https://schema.org",
        "@type": "ItemList",
          "itemListElement": [
            {
              "@type": "ListItem",
                "position": 1,
                "item": {
                  "@type": "Restaurant",
                  "name": "Trattoria Luigi",
                  "image": [
                    "https://example.com/photos/1x1/photo.jpg",
                    "https://example.com/photos/4x3/photo.jpg",
                    "https://example.com/photos/16x9/photo.jpg"
                  ],
                  "priceRange": "$$$",
                  "servesCuisine": "Italian",
                  "aggregateRating": {
                    "@type": "AggregateRating",
                    "ratingValue": 4.5,
                    "reviewCount": 250
                  },
                "url": "https://www.example.com/trattoria-luigi"
              }
            },
            {
              "@type": "ListItem",
                "position": 2,
                "item": {
                  "@type": "Restaurant",
                  "name": "La Pergola",
                  "image": [
                    "https://example.com/photos/1x1/photo.jpg",
                    "https://example.com/photos/4x3/photo.jpg",
                    "https://example.com/photos/16x9/photo.jpg"
                  ],
                  "priceRange": "$$$",
                  "servesCuisine": "Italian",
                  "aggregateRating": {
                    "@type": "AggregateRating",
                    "ratingValue": 4.9,
                    "reviewCount": 1150
                  },
                "url": "https://www.example.com/la-pergola"
              }
            },
            {
              "@type": "ListItem",
              "position": 3,
              "item": {
                "@type": "Restaurant",
                "name": "Pasta e Basta",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "priceRange": "$$$",
                "servesCuisine": "Italian",
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.2,
                  "reviewCount": 690
                },
              "url": "https://www.example.com/pasta-e-basta"
              }
            }
          ]
        }
      </script>
    </head>
    <body>
    </body>
  </html>
  

Definizioni dei tipi di dati strutturati

Affinché i tuoi contenuti siano idonei per la visualizzazione come risultato avanzato, devi includere le proprietà obbligatorie. Puoi anche includere le proprietà consigliate per aggiungere ulteriori informazioni sui contenuti e offrire così un'esperienza utente migliore.

ItemList

ItemList è l'elemento contenitore che include tutti gli elementi nell'elenco. Tutti gli URL degli elementi nell'elenco devono indirizzare a pagine diverse sullo stesso dominio.

La definizione completa di ItemList è disponibile all'indirizzo schema.org/ItemList.

Proprietà obbligatorie
itemListElement

ListItem

Elenco di elementi. Per specificare un elenco, definisci un ItemList che contenga almeno tre elementi itemListElement.item.

itemListElement.item

Sottotipo di LocalBusiness, Product o Event

Un singolo elemento di un elenco. Compila questo oggetto con:

Esempio: per un hotel, fornisci le proprietà priceRange e amenityFeature.

itemListElement.position

Integer

La posizione dell'elemento nel carosello. È un numero in base uno.

Proprietà comuni delle voci dell'elenco (LocalBusiness, Product, o Event)

Tutti i tipi di elementi del carosello hanno in comune le seguenti proprietà.

Proprietà obbligatorie
image

URL o ImageObject ripetuti

Una o più immagini dell'entità o dell'elemento (ad esempio, un'immagine dell'hotel). Non includere loghi in questa proprietà immagine.

Ulteriori linee guida per le immagini:

  • Ogni pagina deve contenere almeno un'immagine (indipendentemente dal fatto che includa markup o meno). Google sceglierà l'immagine migliore da mostrare nei risultati della Ricerca in base alle proporzioni e alla risoluzione.
  • Gli URL delle immagini devono poter essere sottoposti a scansione e indicizzazione. Per verificare se Google può accedere agli URL, utilizza lo strumento Controllo URL.
  • Le immagini devono rappresentare i contenuti con markup.
  • Le immagini devono essere in un formato file supportato da Google Immagini.
  • Per ottenere risultati ottimali, consigliamo di fornire più immagini ad alta risoluzione (minimo 50.000 pixel moltiplicando larghezza e altezza) con le seguenti proporzioni: 16 x 9, 4 x 3 e 1 x 1.

Ad esempio:

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

Text

Il nome della stringa dell'entità o dell'elemento. Ad esempio, il nome di un hotel o di una casa vacanze. item.name viene visualizzato come titolo di un singolo elemento nel carosello. La formattazione HTML viene ignorata.

url

URL

L'URL canonico della pagina dei dettagli dell'elemento (ad esempio, la pagina autonoma di un singolo hotel o casa vacanze a cui si è fatto riferimento nella pagina di riepilogo). Tutti gli URL nell'elenco devono essere univoci, ma attivi nello stesso dominio (lo stesso dominio, dominio secondario o superdominio della pagina corrente).

Proprietà consigliate
aggregateRating.bestRating

Number

Il valore massimo consentito in questo sistema di valutazione (ad esempio, 5 / 10). Se bestRating viene omesso, il valore predefinito è 5.

aggregateRating.ratingCount

Number

Il numero totale di valutazioni per l'elemento sul tuo sito.

aggregateRating.ratingValue

Number oppure Text

Una valutazione numerica della qualità dell'elemento, che può essere un numero, una frazione o una percentuale (ad esempio 4, 60% o 6 / 10). Google comprende la scala per frazioni e percentuali, poiché è implicita nella frazione stessa o nella percentuale. Per i numeri viene utilizzata una scala predefinita da 1 a 5, dove 1 è il valore più basso e 5 il valore più alto. Se è prevista un'altra scala, usa bestRating e worstRating.

Per i numeri decimali, utilizza un punto invece di una virgola per specificare il valore (ad esempio 4.4 anziché 4,4). Nei microdati e in RDFa, puoi utilizzare gli attributi content per eseguire l'override dei contenuti visibili. In questo modo, puoi mostrare all'utente la convenzione di stile che preferisci, soddisfacendo al contempo il requisito del punto per i dati strutturati. Ad esempio:

<span itemprop="ratingValue" content="4.4">4,4</span> stars

Definizioni aggiuntive delle proprietà specifiche per tipo

LocalBusiness (e sottotipi)

Oltre alle proprietà ListItem, Google supporta le seguenti proprietà LocalBusiness (inclusi i relativi sottotipi) per i risultati avanzati del carosello. Nidifica queste proprietà in itemListElement.item.

Proprietà consigliate
amenityFeature

LocationFeatureSpecification

Solo per LodgingBusiness: una caratteristica dei comfort (ad esempio una caratteristica o un servizio) della struttura.

"amenityFeature": {
  "@type": "LocationFeatureSpecification",
  "name" : "beachAccess",
  "value": true
}
priceRange

Text

La fascia di prezzo relativa di un'attività, in genere specificata da un numero normalizzato di segni di valuta. Specifica la fascia di prezzo in uno dei seguenti formati:

  • Livello di prezzo: ad esempio "$", "$$", "$$$"
  • Fascia: ad esempio, "$-$$"

Questo campo deve contenere meno di 12 caratteri; se è più lungo, Google non mostrerà una fascia di prezzo per l'attività.

servesCuisine

Text

Solo per ristoranti: il tipo di cucina servita nel ristorante.

Product

Oltre alle proprietà ListItem, Google supporta le seguenti proprietà Product per i risultati avanzati del carosello. Nidifica queste proprietà in itemListElement.item

Proprietà consigliate
offers

Offer o AggregateOffer

Una proprietà Offer o AggregateOffer nidificata per la vendita del prodotto. Includi le proprietà consigliate per Offer o AggregateOffer (a seconda di quale sia applicabile per i tuoi contenuti).

Se utilizzi Offer, incluse le seguenti proprietà:

  • offers.price
  • offers.priceCurrency

Se utilizzi AggregateOffer, incluse le seguenti proprietà:

  • offers.highPrice
  • offers.lowPrice
  • offers.priceCurrency
offers.highPrice

Number

Il prezzo massimo tra tutte le offerte disponibili. Se specifichi un prezzo unico con price, non è necessario includere le proprietà highPrice e lowPrice.

offers.lowPrice

Number

Il prezzo minimo tra tutte le offerte disponibili. Se specifichi un prezzo unico con price, non è necessario includere le proprietà highPrice e lowPrice.

offers.price

Number

Il prezzo dell'offerta di un prodotto o di una componente del prezzo quando associato a PriceSpecification e ai suoi sottotipi. Se specifichi una fascia di prezzo con lowPrice e highPrice, non includere la proprietà price.

offers.priceCurrency

Text

La valuta utilizzata per descrivere il prezzo del prodotto, in formato ISO 4217 a tre lettere. Se non viene fornita una valuta, Google imposta USD come valore predefinito.

Event

Oltre alle proprietà ListItem, Google supporta le seguenti proprietà Event per i risultati avanzati del carosello. Nidifica queste proprietà in itemListElement.item

Proprietà consigliate
offers

Offer o AggregateOffer

Una proprietà Offer o AggregateOffer nidificata per la vendita dell'evento. Includi le proprietà consigliate per Offer o AggregateOffer (a seconda di quale sia applicabile per i tuoi contenuti).

Se utilizzi Offer, incluse le seguenti proprietà:

  • offers.price
  • offers.priceCurrency

Se utilizzi AggregateOffer, incluse le seguenti proprietà:

  • offers.highPrice
  • offers.lowPrice
  • offers.priceCurrency
offers.highPrice

Number

Il prezzo massimo tra tutte le offerte disponibili. Se specifichi un prezzo unico con price, non è necessario includere le proprietà highPrice e lowPrice.

offers.lowPrice

Number

Il prezzo minimo tra tutte le offerte disponibili. Se specifichi un prezzo unico con price, non è necessario includere le proprietà highPrice e lowPrice.

offers.price

Number

Il prezzo dei biglietti, inclusi i costi di servizio e le commissioni. Non dimenticare di aggiornare questo valore se i prezzi cambiano o i biglietti terminano. Se specifichi una fascia di prezzo con lowPrice e highPrice, non includere la proprietà price.

Se l'evento è disponibile senza costi, commissioni o oneri di servizio, imposta price su 0.

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

Text

La valuta utilizzata per descrivere il prezzo dell'evento, in formato ISO 4217 a tre lettere. Se non viene fornita una valuta, Google imposta USD come valore predefinito.

Esempi di scenari comuni

Esempio di Restaurant

Ecco un esempio di carosello di ristoranti in formato JSON-LD.


<html>
    <head>
      <title>Top 5 Restaurants in Paris</title>
      <script type="application/ld+json">
        {
          "@context": "https://schema.org",
          "@type": "ItemList",
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "item": {
                "@type": "Restaurant",
                "name": "Trattoria Luigi",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "priceRange": "$$$",
                "servesCuisine": "Italian",
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.5,
                  "reviewCount": 250
                },
                "url": "https://www.example.com/restaurant-location-1"
              }
            },
            {
              "@type": "ListItem",
              "position": 2,
              "item": {
                "@type": "Restaurant",
                "name": "La Pergola",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "priceRange": "$$$",
                "servesCuisine": "Italian",
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.9,
                  "reviewCount": 1150
                },
                "url": "https://www.example.com/restaurant-location-2"
              }
            },
            {
              "@type": "ListItem",
              "position": 3,
              "item": {
                "@type": "Restaurant",
                "name": "Pasta e Basta",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "priceRange": "$$$",
                "servesCuisine": "Italian",
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.2,
                  "reviewCount": 690
                },
                "url": "https://www.example.com/restaurant-location-3"
              }
            }
          ]
        }
      </script>
    </head>
    <body>
    </body>
  </html>

Esempio di alloggio (Hotels e VacationRental)

Ecco un esempio di carosello di alloggi in formato JSON-LD.


<html>
    <head>
      <title>Top 5 Hotels in Paris</title>
      <script type="application/ld+json">
        {
        "@context": "https://schema.org",
        "@type": "ItemList",
            "itemListElement": [
              {
                "@type": "ListItem",
                "position": 1,
                "item": {
                  "@type": "Hotel",
                  "name": "Four Seasons Hotel George V, Paris",
                  "image": [
                    "https://example.com/photos/1x1/photo.jpg",
                    "https://example.com/photos/4x3/photo.jpg",
                    "https://example.com/photos/16x9/photo.jpg"
                  ],
                  "priceRange": "$$$$",
                  "amenityFeature": {
                      "@type": "LocationFeatureSpecification",
                      "name" : "internetType",
                      "value": "Free"
                  },
                  "aggregateRating": {
                    "@type": "AggregateRating",
                    "ratingValue": 4.9,
                    "reviewCount": 50
                  },
                  "url": "https://www.example.com/four-seasons"
                }
              },
              {
                "@type": "ListItem",
                "position": 2,
                "item": {
                  "@type": "VacationRental",
                  "name": "Downtown Condo",
                  "image": [
                    "https://example.com/photos/1x1/photo.jpg",
                    "https://example.com/photos/4x3/photo.jpg",
                    "https://example.com/photos/16x9/photo.jpg"
                  ],
                  "priceRange": "$$",
                  "amenityFeature": {
                    "@type": "LocationFeatureSpecification",
                    "name" : "instantBookable",
                    "value": true
                  },
                  "aggregateRating": {
                    "@type": "AggregateRating",
                    "ratingValue": 4.7,
                    "reviewCount": 827
                  },
                  "url": "https://www.example.com/downtown-condo"
                }
              },
              {
                "@type": "ListItem",
                "position": 3,
                "item": {
                  "@type": "Hotel",
                  "name": "Ritz Paris",
                  "image": [
                    "https://example.com/photos/1x1/photo.jpg",
                    "https://example.com/photos/4x3/photo.jpg",
                    "https://example.com/photos/16x9/photo.jpg"
                  ],
                  "priceRange": "$$$$",
                  "amenityFeature": {
                    "@type": "LocationFeatureSpecification",
                    "name" : "freeBreakfast",
                    "value": true
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.9,
                  "reviewCount": 1290
                },
                "url": "https://www.example.com/ritz-paris"
              }
            }
          ]
        }
      </script>
    </head>
    <body>
    </body>
  </html>

Esempio di cose da fare

Ecco un esempio di carosello di cose da fare in formato JSON-LD.


<html>
    <head>
      <title>Top 5 Things To Do in Paris</title>
      <script type="application/ld+json">
        {
          "@context": "https://schema.org",
          "@type": "ItemList",
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "item": {
                "@type": "Event",
                "name": "Paris Seine River Dinner Cruise",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "offers": {
                  "@type": "Offer",
                  "price": 45.00,
                  "priceCurrency": "EUR"
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.2,
                  "reviewCount": 690
                },
                "url": "https://www.example.com/event-location1"
              }
            },
            {
              "@type": "ListItem",
              "position": 2,
              "item": {
                "@type": "LocalBusiness",
                "name": "Notre-Dame Cathedral",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "priceRange": "$",
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.8,
                  "reviewCount": 4220
                },
                "url": "https://www.example.com/localbusiness-location"
              }
            },
            {
              "@type": "ListItem",
              "position": 3,
              "item": {
                "@type": "Event",
                "name": "Eiffel Tower With Host Summit Tour",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "offers": {
                  "@type": "Offer",
                  "price": 59.00,
                  "priceCurrency": "EUR"
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.9,
                  "reviewCount": 652
                },
                "url": "https://www.example.com/event-location2"
              }
            }
          ]
        }
      </script>
    </head>
    <body>
    </body>
  </html>
  

Esempio di Product

Ecco un esempio di carosello di prodotti in formato JSON-LD.


<html>
    <head>
      <title>Top coats of the season</title>
      <script type="application/ld+json">
        {
          "@context": "https://schema.org",
          "@type": "ItemList",
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "item": {
                "@type": "Product",
                "name": "Puffy Coat Series by Goat Coat",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "offers": {
                  "@type": "AggregateOffer",
                  "lowPrice": 45.00,
                  "highPrice": 60.00,
                  "priceCurrency": "EUR"
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.9,
                  "reviewCount": 50
                },
                "url": "https://www.example.com/puffy-coats"
              }
            },
            {
              "@type": "ListItem",
              "position": 2,
              "item": {
                "@type": "Product",
                "name": "Wool Coat Series by Best Coats Around",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "offers": {
                  "@type": "AggregateOffer",
                  "lowPrice": 189.00,
                  "highPrice": 200.00,
                  "priceCurrency": "EUR"
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.7,
                  "reviewCount": 827
                },
                "url": "https://www.example.com/wool-coats"
              }
            },
            {
              "@type": "ListItem",
              "position": 3,
              "item": {
                "@type": "Product",
                "name": "Antartic Coat by Cold Coats",
                "image": [
                  "https://example.com/photos/1x1/photo.jpg",
                  "https://example.com/photos/4x3/photo.jpg",
                  "https://example.com/photos/16x9/photo.jpg"
                ],
                "offers": {
                  "@type": "Offer",
                  "price": 45.00,
                  "priceCurrency": "EUR"
                },
                "aggregateRating": {
                  "@type": "AggregateRating",
                  "ratingValue": 4.9,
                  "reviewCount": 1290
                },
                "url": "https://www.example.com/antartic-coat"
              }
            }
          ]
        }
      </script>
    </head>
    <body>
    </body>
  </html>
  

Risoluzione dei problemi

Se hai difficoltà con l'implementazione o il debug dei dati strutturati, ecco alcune risorse che potrebbero esserti utili.