Hai già visto quei risultati Google in cui una scheda prodotto mostra direttamente le stelle, il prezzo e "Disponibile" sotto il titolo? È un rich result, ed è quello che attiva uno schema.org Product implementato correttamente. I siti che ne beneficiano vedono il CTR aumentare dal 15 al 40% a parità di posizione rispetto a un risultato senza rich result.
Nel 2026, l'implementazione tramite JSON-LD è il metodo ufficiale e consigliato da Google. Ecco la versione completa, testabile e pronta per la produzione.
Tre formati permettono di aggiungere schema.org a una pagina web: Microdata (direttamente nell'HTML), RDFa (attributi HTML5) e JSON-LD (blocco di dati strutturati separato).
Google consiglia JSON-LD dal 2015, e nel 2026 è diventato lo standard di fatto. Motivi:
Separazione tra dati e presentazione: il JSON-LD vive in uno <script type="application/ld+json"> nel <head>, indipendentemente dall'HTML visibile
Più semplice da generare: un solo blocco JSON per pagina, facile da mantenere
Nessun conflitto con il tema: non serve modificare la struttura HTML dei template
Migliore compatibilità con i framework moderni (Next.js, Nuxt, ecc.)
Microdata resta leggibile da Google, ma non è più consigliato per le nuove implementazioni.
La parte più sensibile. Quattro regole da rispettare:
priceCurrency in ISO 4217: "EUR", "USD", "GBP"… non "€", "$" o "£". Errore frequente che fa fallire il rich result.
price come stringa, non come numero: "149.00" e non 149.00. Google tollera entrambi nel 2026, ma le linee guida consigliano la stringa.
availability come URL schema.org completo:
https://schema.org/InStock → disponibile
https://schema.org/OutOfStock → esaurito
https://schema.org/PreOrder → preordine
https://schema.org/BackOrder → ordine su richiesta con tempi di attesa
priceValidUntil (facoltativo ma consigliato): data di fine validità del prezzo in formato ISO 8601 ("2026-12-31"). Google lo apprezza per rilevare prezzi obsoleti.
reviewCount: minimo 1, ma Google consiglia 3+ per la visualizzazione
Le recensioni corrispondenti devono essere visibili nella pagina — falsare l'AggregateRating con recensioni inesistenti = possibile penalizzazione manuale
Suggerimento: se hai poche recensioni, mostrale nella pagina con un widget (Yotpo, Judge.me, Trustpilot) e recupera count + valutazione media dalla loro API per il JSON-LD.
Dal 2023, Shopify genera automaticamente uno schema Product nelle pagine prodotto se usi un tema ufficiale. Problema: lo schema predefinito è spesso incompleto (niente AggregateRating, niente brand).
Per uno schema completo:
Modifica il tema: Online Store → Themes → Edit code
Apri snippets/product-structured-data.liquid o sections/main-product.liquid
Aggiungi i campi mancanti o sostituisci con un template personalizzato
Alternativa: installa un'app come SEO JSON-LD Schema o Smart SEO che gestisce lo schema su tutto il catalogo in modo autonomo.
Attenzione: generare il JSON-LD lato client (tramite useEffect) non funziona per la SEO — Google esegue lo scraping in server-render. Assicurati che il JSON-LD sia presente nell'HTML iniziale restituito dal server.
Contraddizioni tra pagina visibile e JSON-LD. Se la pagina mostra "Disponibile" ma il JSON-LD dice OutOfStock, Google ignora il JSON-LD. Sincronizza entrambi con la stessa fonte dati.
Prezzo diverso nel JSON-LD e nella pagina. Stessa logica: Google rileva la divergenza e ignora il rich result.
Più Product nello stesso <script>. Un solo @type: Product per script. Se hai varianti, usa @type: ProductGroup con hasVariant: [...] per collegarle.
Immagini non accessibili. Gli URL delle immagini devono essere pubblici (non dietro login). Testa ogni URL con curl per verificare che restituisca un 200.
AggregateRating inventato. Inserire 4.9 stelle in una scheda senza recensioni visibili = possibile penalizzazione manuale, rischio concreto.
Se il prodotto ha più taglie o colori, 2 approcci:
Approccio 1: un solo schema Product (il parent)
Più semplice, adatto al 90% dei casi. Lo schema parent descrive il prodotto generico, e la pagina gestisce le varianti tramite il selettore. Il prezzo mostrato è quello predefinito, la availability è InStock se almeno una variante è disponibile.
Approccio 2: ProductGroup con hasVariant
Più preciso ma più complesso. Consigliato se le varianti hanno prezzi molto diversi o disponibilità divergenti (esaurita la taglia 44 ma non la 42). Google supporta ProductGroup dal 2022.
Tra 1 e 4 settimane dopo la pubblicazione dello schema corretto. Google deve eseguire di nuovo il crawl della pagina e attivare l'idoneità lato algoritmo. Puoi accelerare inviando l'URL tramite Search Console → URL Inspection → Request Indexing.
Non direttamente. Lo schema non è un segnale di ranking. Attiva i rich results (stelle, prezzo, disponibilità nelle SERP) che aumentano il CTR, e questo può migliorare il ranking indirettamente tramite il segnale di coinvolgimento.
Facoltativo. Aggiungere singole Review nel JSON-LD può attivare più rich features, ma appesantisce il codice. Su cataloghi da 5.000+ schede, il solo AggregateRating è più che sufficiente.
No. Google non penalizza l'origine del contenuto, penalizza la qualità. Un JSON-LD corretto su una scheda IA di qualità beneficia dei rich results come qualsiasi altra scheda.
Entrambi funzionano, ma <head> è la buona pratica. Inserisci il JSON-LD subito prima del tag di chiusura </head> per essere sicuro che venga letto presto dai crawler.
Bing sì, con un ritardo più lungo (a volte 2-3 mesi). DuckDuckGo usa Bing come backend, quindi sì indirettamente. Entrambi usano lo stesso standard schema.org, non serve adattare nulla.
Su Ecomptimize, il JSON-LD Product viene generato automaticamente a partire dai dati del tuo catalogo Shopify o WooCommerce. Vedi la pagina Shopify o WooCommerce.