Torna al Blog

Dati strutturati JSON-LD per prodotti: rendere il catalogo leggibile dalle AI

Come usare i dati strutturati JSON-LD (schema.org/Product) per rendere le tue schede prodotto leggibili da ChatGPT, Gemini e Perplexity. Guida operativa.

Dati strutturati JSON-LD per prodotti: rendere il catalogo leggibile dalle AI

La tua pagina prodotto è fatta per un essere umano: una bella foto, un titolo accattivante, una descrizione persuasiva, un pulsante "Aggiungi al carrello". Un assistente AI non vede niente di tutto questo. Vede codice. E se il codice non gli dice, in modo esplicito e machine-readable, che quello è un prodotto, quanto costa, se è disponibile e come è valutato, per lui la tua scheda è solo un blocco di testo ambiguo.

I dati strutturati sono il modo in cui traduci la tua pagina in una lingua che le macchine capiscono senza doverla interpretare. Sono il prerequisito tecnico perché ChatGPT, Gemini, Perplexity — e il crawler organico di Google — possano leggere il tuo catalogo con certezza invece che a intuito. Se stai lavorando per far consigliare i tuoi prodotti dagli assistenti AI, questo è uno dei mattoni di base.

Cosa sono i dati strutturati (e perché JSON-LD)

I dati strutturati sono un formato standardizzato per etichettare le informazioni di una pagina. Invece di lasciare che una macchina deduca dal testo che "129,90 €" è un prezzo e non un codice prodotto, glielo dici in modo esplicito con un vocabolario condiviso: quello di schema.org, lo standard usato da Google, Microsoft e dalla generalità dei motori.

Il formato consigliato per implementarli è JSON-LD (JavaScript Object Notation for Linked Data): un blocco di codice che vive dentro la pagina ma è separato dal contenuto visibile. Non tocca il layout, non sposta un pixel di ciò che vede l'utente, e questo lo rende molto più semplice da gestire rispetto ai formati che si intrecciano con l'HTML (microdata, RDFa). Si aggiunge, si aggiorna e si rimuove come un blocco a sé.

Per un ecommerce il tipo che conta è Product, con al suo interno l'oggetto Offer (l'offerta commerciale vera e propria).

Perché un'AI ne ha bisogno

Un assistente AI, quando deve consigliare un prodotto, non "legge" la pagina come farebbe una persona: cerca fatti verificabili da confrontare con altri fatti. I dati strutturati gli danno esattamente questo, e servono su tre fronti:

  1. Leggibilità per i crawler che visitano le pagine. Alcuni sistemi AI raggiungono i prodotti passando dalle pagine web (Perplexity, le AI Overviews e l'AI Mode di Google, i motori di ricerca conversazionali). Per loro il markup è la differenza tra capire con certezza cosa vende la pagina e tirare a indovinare.
  2. Idoneità alle schede gratuite di Google. Il markup Product corretto rende i tuoi prodotti eleggibili per le free listing e i risultati arricchiti di Google — la stessa infrastruttura del Merchant Center da cui attingono gli assistenti AI. Meno dipendenza dal solo feed, più superfici in cui comparire.
  3. Coerenza del dato. Il markup ripete, sulla pagina, gli stessi fatti che il tuo feed dichiara altrove (prezzo, disponibilità, GTIN). Quando le fonti concordano, l'AI si fida di più; quando si contraddicono, ti scarta o ti penalizza.

Attenzione a un punto per non vendere illusioni: ChatGPT Shopping oggi costruisce la sua rosa di prodotti in larga parte dai feed dei Merchant Center, non leggendo il JSON-LD della tua singola pagina. I dati strutturati non sostituiscono il feed — lo affiancano, rendendo le pagine machine-readable per tutti gli altri sistemi che le visitano e rinforzando gli stessi fatti che il feed trasporta. Sono complementari, non alternativi.

Le proprietà che contano su schema.org/Product

Non serve compilare tutto: servono i campi su cui un'AI ragiona quando confronta prodotti. In ordine di importanza:

  • name, brand, description — cosa è, di chi è, com'è. La descrizione qui deve dire i fatti (materiale, misure, compatibilità), non fare marketing.
  • offers con price, priceCurrency, availability (es. InStock / OutOfStock), itemCondition — il cuore commerciale. Senza prezzo e disponibilità corretti, il prodotto è inutilizzabile per un confronto d'acquisto.
  • gtin / mpn — il codice univoco (EAN, UPC, ISBN). È ciò che permette a un sistema di riconoscere che il tuo prodotto e quello di un concorrente sono lo stesso articolo, e di confrontarli.
  • aggregateRating e review — valutazione media e recensioni. Sono i segnali di fiducia che spostano la scelta a parità di prodotto.
  • image — l'URL dell'immagine, machine-readable.

Ecco un esempio minimo di blocco JSON-LD da inserire in una scheda prodotto:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Scarpa da trekking impermeabile X",
  "brand": { "@type": "Brand", "name": "AcmeOutdoor" },
  "gtin13": "0123456789012",
  "image": "https://esempio.it/img/scarpa-x.jpg",
  "description": "Scarpa da trekking con membrana impermeabile, suola in gomma, peso 380 g.",
  "offers": {
    "@type": "Offer",
    "price": "129.90",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "reviewCount": "218"
  }
}

Come implementarli

Il modo dipende dalla piattaforma:

  • Shopify, WooCommerce e simili generano già un markup di base, spesso incompleto o obsoleto (temi vecchi, campi mancanti). Non dare per scontato che sia corretto: va verificato. App e plugin dedicati permettono di completarlo senza mettere mano al codice.
  • Manualmente, si inserisce il blocco <script type="application/ld+json"> … </script> nell'HTML della pagina, popolato dinamicamente con i dati reali del prodotto (non valori fissi copiati e incollati su tutte le schede — quello è un errore che Google segnala).

La regola d'oro: il dato strutturato deve corrispondere a ciò che l'utente vede sulla pagina. Un prezzo nel markup diverso dal prezzo mostrato è una violazione delle linee guida e un rischio di penalizzazione.

Non basta scriverli: validali

Un markup con un errore di sintassi o un campo obbligatorio mancante viene semplicemente ignorato. Prima di considerare fatto il lavoro:

  • Passa le pagine dal Rich Results Test di Google (verifica l'idoneità ai risultati arricchiti) e dal Schema Markup Validator di schema.org (verifica la correttezza formale).
  • Controlla in Google Search Console il report sui risultati arricchiti / merchant listing: ti dice, a scala, quali pagine hanno errori.

Fallo dopo ogni cambio di tema o di piattaforma: sono i momenti in cui il markup si rompe silenziosamente.

Sblocca i crawler giusti (l'invisibilità involontaria)

Puoi avere il markup perfetto e restare comunque invisibile se il tuo robots.txt blocca i crawler degli assistenti. È un errore frequente e quasi sempre inconsapevole. Verifica di non aver bloccato, tra gli altri:

  • OAI-SearchBot — il crawler di ricerca di ChatGPT.
  • PerplexityBot — il crawler di Perplexity.
  • Google-Extended e GoogleOther — legati alle superfici AI di Google.

Bloccarli (spesso ereditando regole da configurazioni vecchie pensate per tenere fuori gli scraper) equivale a chiudere la porta in faccia ai sistemi che dovrebbero consigliarti.

Manutenzione: il markup è vivo

Come per il feed, il markup non è un lavoro una tantum. Prezzo, disponibilità e recensioni cambiano ogni giorno, e il markup deve riflettere il dato vero in ogni momento — su ogni scheda, coerente con il feed e con ogni marketplace su cui distribuisci il catalogo. Tenere allineati a mano markup, pagine e feed su un catalogo reale è impraticabile: è il motivo per cui si parte da un dato prodotto centralizzato (PIM) e lo si propaga sincronizzato in tempo reale su ogni canale — così il dato che l'AI legge sulla pagina, nel feed e sul marketplace è sempre lo stesso.

Domande frequenti

JSON-LD o microdata: quale usare? JSON-LD. È il formato raccomandato da Google, è separato dall'HTML visibile e quindi molto più semplice da gestire e da mantenere aggiornato.

Se ho i dati strutturati, ChatGPT legge la mia pagina? Non direttamente per costruire la rosa dei prodotti: per quello usa soprattutto i feed dei Merchant Center. Il markup serve agli altri sistemi che visitano le pagine (Perplexity, le superfici AI di Google, i motori conversazionali) e a rendere i prodotti idonei alle schede gratuite di Google. Feed e markup lavorano insieme.

Il markup mi fa posizionare meglio su Google? Non è un fattore di ranking diretto, ma rende i prodotti idonei ai risultati arricchiti e alle free listing, che migliorano visibilità e click. E rende il dato leggibile alle AI, che è il punto.

Devo mettere il markup su tutte le pagine? Su tutte le schede prodotto sì, con i dati reali di ciascun prodotto. Mai valori fissi replicati: devono essere dinamici e corrispondere a ciò che l'utente vede.

Da leggere per approfondire

In sintesi

I dati strutturati JSON-LD non sono un tecnicismo per addetti ai lavori: sono la condizione perché il tuo catalogo esista per le macchine che oggi mediano gli acquisti. Metti il markup Product corretto su ogni scheda, validalo, sblocca i crawler AI, e tieni tutto coerente con il feed. È lavoro invisibile all'utente — ed è esattamente per questo che quasi nessuno lo fa bene, e chi lo fa si prende un vantaggio concreto.

Contenuti correlati

Similar posts

Get notified on new marketing insights

Be the first to know about new B2B SaaS Marketing insights to build or refine your marketing function with the tools and knowledge of today’s industry.