Product Schema: L'e-commerce senza Rich Snippets perde il 30% dei click

·Aggiornato il ·6 min lettura·Claudio Novaglio
Product Schema: L'e-commerce senza Rich Snippets perde il 30% dei click
In questo articolo

Aggiornamento settembre 2026

Ho riverificato la documentazione Google il 15 settembre 2026. La pagina Product structured data (10 dicembre 2025) divide il markup in due famiglie: product snippet per pagine dove non si compra (recensioni, comparatori) e merchant listing per pagine con acquisto diretto. Cambiano le proprietà richieste. Per il product snippet basta una tra review, aggregateRating e offers (8 settembre 2026). Per il merchant listing servono prezzo maggiore di zero, valuta ISO 4217 e immagini da almeno 50.000 pixel nei formati 16:9, 4:3 e 1:1.

Due novità dal changelog Search Central del 7 luglio 2026: la proprietà category su Product (testo entro 750 caratteri oppure CategoryCode con la Google Product Category) e la sezione "Sale duration", con validFrom e validThrough o priceValidUntil per delimitare una promozione. La pagina varianti e ProductGroup (8 settembre 2026) elenca tre proprietà: productGroupID, variesBy e hasVariant. Ho corretto l'esempio JSON-LD qui sotto perché mancava productGroupID.

Terzo: dall'8 settembre 2026 Google documenta le differenze regionali della SERP nello Spazio Economico Europeo, Italia inclusa. Per le query di prodotto esistono aggregator unit, supplier unit e caroselli generati da dati strutturati: il markup Product alimenta anche queste unità, non solo stelle e prezzo. Per come lo leggono i motori di risposta vedi schema markup per agenti AI; per la misurazione delle vendite, il servizio tracking e-commerce.

Se il tuo e-commerce non mostra stelle recensioni, prezzo e disponibilità direttamente in SERP, perdi click a favore di chi li mostra: il vantaggio esatto dipende da settore e query. Non esiste un dato ufficiale Google. Gli utenti scelgono risultati con rich snippets perché vedono subito se il prodotto ha buone recensioni ed è disponibile.

Il Product Schema è il markup strutturato che comunica a Google (e altri motori) informazioni machine-readable sui tuoi prodotti. Nel 2026, non è più opzionale. È standard.

Product Schema vs ProductGroup: Quando usare quale

Product Schema

Usa Product quando vendi un singolo SKU senza varianti. Esempio: "iPhone 15 Pro 256GB Titanio Naturale".

Proprietà chiave:

  • name (nome prodotto)
  • image (URL immagine principale)
  • description (descrizione breve)
  • sku (codice univoco)
  • offers (prezzo, valuta, disponibilità)
  • aggregateRating (media recensioni e numero totale)
  • review (recensioni individuali)

ProductGroup Schema

Usa ProductGroup quando il prodotto ha varianti (colore, taglia, materiale). Esempio: "T-shirt Organic Cotton disponibile in 3 colori e 4 taglie".

Google usa queste informazioni nelle esperienze merchant listing (shopping knowledge panel, risultati prodotto, Google Immagini), mostrando ad esempio le opzioni di colore o taglia disponibili. Se l'utente clicca su una variante, arriva alla pagina o all'URL di quella variante.

Proprietà chiave (documentazione Google, aggiornata l'8 settembre 2026):

  • productGroupID (identificatore del gruppo, il cosiddetto parent SKU)
  • hasVariant (array di Product, uno per variante)
  • variesBy (dimensione di variazione: "color", "size", "material")

Regola sugli URL: se tutte le varianti vivono su una sola pagina, deve esistere un solo URL canonico per il ProductGroup, senza parametri di selezione variante. Se ogni variante ha una pagina propria, ogni pagina deve contenere un markup completo e autosufficiente.

Esempio JSON-LD per ProductGroup:

{
  "@context": "https://schema.org/",
  "@type": "ProductGroup",
  "name": "T-shirt Organic Cotton",
  "description": "T-shirt 100% cotone organico",
  "productGroupID": "TSHIRT-ORG",
  "brand": { "@type": "Brand", "name": "EcoWear" },
  "variesBy": ["https://schema.org/color", "https://schema.org/size"],
  "hasVariant": [
    {
      "@type": "Product",
      "sku": "TSHIRT-BLK-M",
      "name": "T-shirt Organic Cotton - Nero - M",
      "color": "Black",
      "size": "M",
      "image": "https://example.com/images/tshirt-nero.jpg",
      "offers": {
        "@type": "Offer",
        "url": "https://example.com/prodotto/tshirt-organic?colore=nero&taglia=m",
        "price": "29.99",
        "priceCurrency": "EUR",
        "availability": "https://schema.org/InStock"
      }
    }
  ]
}

Offers: Prezzo, valuta, disponibilità

La sezione Offers è critica. Determina se Google mostra il prezzo in SERP.

Proprietà essenziali:

price: Numero decimale (usa punto, non virgola). "29.99" non "29,99".

priceCurrency: Codice ISO 4217. "EUR", "USD", "GBP".

availability: URL da schema.org vocabulary. Opzioni principali:

priceValidUntil: Data fino a cui il prezzo è valido (formato ISO 8601: "2026-12-31"). Utile per promozioni.

validFrom e validThrough: dal 7 luglio 2026 Google documenta la "Sale duration" per il merchant listing. Con validFrom indichi l'inizio della promozione e con validThrough (o priceValidUntil) la fine, entrambi in ISO 8601. Google consiglia di dichiarare sia inizio sia fine.

category: sempre dal 7 luglio 2026, puoi classificare il prodotto direttamente nel markup con testo libero (entro 750 caratteri) o con un oggetto CategoryCode che usa la Google Product Category. È lo stesso dato che passeresti nel feed Merchant Center.

Se il prezzo varia (es. sconti per quantità), usa AggregateOffer invece di Offer.

AggregateRating: Stelle in SERP

Le stelle dorate in SERP aumentano il CTR secondo diversi studi di settore, ma le percentuali variano molto per query e settore e Google non pubblica un dato ufficiale. Quello che è certo: Google è rigido, serve markup valido e recensioni reali.

Proprietà richieste:

ratingValue: Media delle recensioni (es. 4.5).

bestRating: Valore massimo della scala (di solito 5).

worstRating: Valore minimo (opzionale, default 1).

reviewCount oppure ratingCount: Numero totale di recensioni o di voti. Google richiede almeno uno dei due; non pubblica una soglia minima e decide caso per caso (documentazione review snippet, aggiornata l'8 settembre 2026).

Esempio:

"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "4.7",
  "reviewCount": "324"
}

Google non mostra stelle se:

  • Manca sia reviewCount sia ratingCount
  • Le recensioni sono false, o incentivate senza dichiararlo (azione manuale)
  • Le recensioni nel markup non sono visibili in pagina, o sono aggregate da altri siti
  • Il markup non passa validazione Rich Results Test

Review: Recensioni individuali

Oltre ad AggregateRating, puoi includere recensioni individuali. Google può mostrarle in rich snippets espansi.

Proprietà chiave:

author: Nome del recensore (Person o Organization).

datePublished: Data recensione (ISO 8601: "2025-11-20").

reviewRating: Voto singolo (1-5).

reviewBody: Testo della recensione.

Esempio:

"review": [
  {
    "@type": "Review",
    "author": {
      "@type": "Person",
      "name": "Marco Rossi"
    },
    "datePublished": "2025-11-20",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "5"
    },
    "reviewBody": "Qualità ottima, spedizione veloce."
  }
]

Non inventare recensioni. Le linee guida review snippet (chiarite il 12 novembre 2025 sul nesting) chiedono recensioni reali e visibili in pagina, con nome autore sotto i 100 caratteri e, quando review o aggregateRating sono annidati dentro Product, senza ripetere itemReviewed. Le recensioni false o incentivate non dichiarate portano ad azione manuale.

BreadcrumbList mostra il percorso di navigazione in SERP. Esempio: "Home > Abbigliamento > T-shirt > Organic Cotton".

Aiuta Google a capire la struttura del sito e migliora UX in SERP.

Esempio JSON-LD:

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://example.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Abbigliamento",
      "item": "https://example.com/abbigliamento"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "T-shirt",
      "item": "https://example.com/abbigliamento/tshirt"
    }
  ]
}

JSON-LD: Il formato raccomandato

Google supporta tre formati: JSON-LD, Microdata, RDFa. JSON-LD è raccomandato perché:

Separato dall'HTML: Inserisci un tag script type="application/ld+json" e il markup non tocca il DOM.

Più semplice da mantenere: Non devi mescolare markup e HTML. Puoi generarlo lato server o con JavaScript.

Supportato da tutti i CMS: WordPress (plugin Yoast, RankMath), Shopify (app integrate), WooCommerce (estensioni).

Esempio completo Product Schema in JSON-LD:

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "T-shirt Organic Cotton Nero M",
  "image": "https://example.com/images/tshirt-nero.jpg",
  "description": "T-shirt 100% cotone organico certificato GOTS",
  "sku": "TSHIRT-BLK-M",
  "brand": {
    "@type": "Brand",
    "name": "EcoWear"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/prodotto/tshirt-nero-m",
    "priceCurrency": "EUR",
    "price": "29.99",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "seller": {
      "@type": "Organization",
      "name": "EcoWear Shop"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "324"
  }
}

Inseriscilo nel head o nel body della pagina prodotto.

Validazione: Google Rich Results Test

Dopo aver implementato schema markup, valida con Google Rich Results Test: search.google.com/test/rich-results.

Inserisci URL o codice diretto. Google ti dice:

Markup valido: Quali rich results può generare (Product, Review, Breadcrumb).

Errori: Proprietà mancanti o formattate male.

Warnings: Proprietà opzionali consigliate.

Controlla anche Google Search Console: i report "Snippet di prodotto" e "Schede del commerciante" (Product snippets e Merchant listings) mostrano errori e avvisi di markup rilevati da Googlebot durante la scansione, separati per tipo di esperienza.

Schema Markup e Voice Search / AI

Assistenti vocali e motori di risposta (AI Mode di Google, ChatGPT search, Perplexity) si basano su dati strutturati e feed per estrarre prezzo, disponibilità e varianti senza interpretare l'HTML. Un Product Schema completo è il modo più economico per rendere queste informazioni leggibili da una macchina.

Stesso discorso per AI Overviews e AI Mode (in Italia dall'8 ottobre 2025): Google usa dati strutturati e feed Merchant Center per le esperienze shopping. Prodotti con markup coerente con la pagina hanno più probabilità di essere mostrati correttamente. Ne parlo in dettaglio in schema markup per agenti AI.

Errori comuni da evitare

Markup duplicato: Non inserire due volte lo stesso schema nella stessa pagina. Google si confonde e ignora entrambi.

Prezzi senza valuta: Specifica sempre priceCurrency. Google non indovina.

Recensioni false o non visibili: Se le recensioni nel markup non corrispondono a quelle mostrate in pagina, o sono aggregate da altri siti, il markup viola le linee guida e rischi un'azione manuale.

Markup su pagine categoria: Product Schema va sulle pagine prodotto, non sulle categorie. Per categorie usa ItemList.

Mancanza di immagini: Per il merchant listing Google richiede immagini da almeno 50.000 pixel, disponibili nei formati 16:9, 4:3 e 1:1 (documentazione merchant listing, settembre 2026). Il quadrato è il formato che regge meglio in tutte le esperienze.

Conclusione: Rich Snippets sono vantaggio competitivo

Nel 2026, la maggior parte degli e-commerce usa Product Schema. Se non lo usi, sei svantaggiato.

Implementa JSON-LD per Product o ProductGroup.

Includi Offers con prezzo, valuta, disponibilità.

Aggiungi AggregateRating se hai recensioni verificate.

Valida con Rich Results Test.

Monitora Google Search Console per errori.

Rich snippets non sono ranking factor diretto. Ma aumentano il CTR, e nel 2026 alimentano anche le unità shopping regionali dell'EEA. Più click, più traffico, più revenue. Misura l'effetto con il report Search Console per tipo di rich result, non con le medie di settore.

Potrebbe interessarti