Il tuo sito compare nei risultati di ricerca senza stelle, senza prezzo, senza ricetta. I competitor, invece, hanno briciole di pane, valutazioni e foto. La differenza? Dati strutturati. Se non li usi, lasci Google (e Bing) indovinare cosa c'è sulle tue pagine. E Google indovina male, quasi sempre.
Noi di Meteora Web lavoriamo su questo ogni giorno. Veniamo dalla contabilità e dall'ERP: per noi ogni markup deve avere un ritorno misurabile, non essere solo un vanto tecnico. Un rich snippet ben implementato può aumentare il CTR del 20–30%.
Questa guida parte dal concreto: cosa serve, come si implementa in JSON-LD, come si testa. Zero teoria inutile.
Perché i dati strutturati non sono un extra ma un pilastro della SEO
I motori di ricerca non vedono le pagine come le vediamo noi. Leggono HTML, deducono contesto. Con Schema.org (un vocabolario condiviso da Google, Bing, Yahoo, Yandex) puoi dire esattamente: «Questa è una ricetta, ha 45 minuti di preparazione, 4.5 stelle, 320 calorie». Il motore di ricerca prende queste informazioni e le mostra in forma arricchita: un rich snippet.
Non è un trucco. È un linguaggio standard. E non implementarlo significa lasciare soldi sul tavolo: più visibilità, più clic, più conversioni.
Il formato raccomandato da Google è JSON-LD (JavaScript Object Notation for Linked Data). Si inserisce nel <head> o nel <body> della pagina, è facilmente gestibile con PHP, Laravel o WordPress, e non modifica la struttura HTML visibile.
Sponsored Protocol
JSON-LD vs Microdati vs RDFa
Esistono tre modi per marcare i dati strutturati. JSON-LD ha vinto perché:
- Non intacca il markup HTML (nessun attributo
itempropsparso nel codice). - Si può generare dinamicamente lato backend senza toccare i template.
- Google lo preferisce, ed è il formato richiesto per funzionalità avanzate come le recensioni di prodotto su Google Shopping.
I tipi di Schema.org che ogni sito dovrebbe implementare
Non serve marcare ogni paragrafo. Scegli i tipi che portano traffico e conversioni. I più comuni:
Prodotto (Product) e Recensione (Review)
Se vendi online, il markup Product è obbligatorio per apparire con prezzo, disponibilità e valutazione. Esempio concreto:
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "T-shirt in cotone biologico",
"image": "https://esempio.it/tshirt.jpg",
"description": "Maglietta realizzata con cotone certificato GOTS",
"sku": "TS-001",
"offers": {
"@type": "Offer",
"priceCurrency": "EUR",
"price": "29.90",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "34"
}
}
Attenzione: Google richiede che il prezzo e la disponibilità siano visibili nella pagina. Non puoi metterli solo nel JSON-LD se non appaiono nel testo.
Sponsored Protocol
Article e NewsArticle
Per blog e testate, il markup Article aiuta Google a capire autore, data di pubblicazione e immagine principale. Aggiunge l'autore nelle SERP.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Guida ai dati strutturati JSON-LD",
"author": {
"@type": "Person",
"name": "Calogero Bono"
},
"datePublished": "2026-02-15",
"dateModified": "2026-02-20",
"image": "https://esempio.it/immagine.jpg"
}
Per articoli di news, usa NewsArticle — aggiunge il campo dateline e la cronologia.
FAQ e HowTo
Le domande frequenti generate con FAQPage possono apparire come elenco espandibile direttamente nei risultati di ricerca. Ottimo per aumentare il CTR su pagine di supporto o landing.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "Quanto costa una consulenza SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Partiamo da 500 euro al mese per audit e implementazione."
}
}]
}
Il HowTo è perfetto per guide procedurali (ricette, tutorial) e può mostrare il tempo totale e il numero di passi.
BreadcrumbList
Le briciole di pane strutturate migliorano la navigabilità e aiutano Google a capire la gerarchia del sito. Sono semplicissime da implementare.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://esempio.it/"
},{
"@type": "ListItem",
"position": 2,
"name": "Categoria",
"item": "https://esempio.it/categoria/"
},{
"@type": "ListItem",
"position": 3,
"name": "Prodotto",
"item": "https://esempio.it/categoria/prodotto"
}]
}
LocalBusiness
Per attività fisiche (negozi, ristoranti, studi). Mostra indirizzo, telefono, orari, e il rating nelle SERP locali.
Sponsored Protocol
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Meteora Web",
"address": {
"@type": "PostalAddress",
"streetAddress": "Via Roma 12",
"addressLocality": "Sciacca",
"addressRegion": "AG",
"postalCode": "92019",
"addressCountry": "IT"
},
"telephone": "+39 0925 123456",
"openingHours": "Mo-Fr 09:00-18:00"
}
Come testare i dati strutturati
Non basta scrivere il JSON-LD. Devi verificare che Google lo interpreti correttamente.
Google Rich Results Test
Lo strumento ufficiale: Rich Results Test. Inserisci l'URL o il codice direttamente. Ti dice se ci sono errori, validità degli snippet e cosa verrà mostrato. Fallo sempre prima di andare live.
Schema Markup Validator di Google
Strumento più generico (validator.schema.org), controlla la correttezza sintattica e logica di qualsiasi markup Schema.org.
Google Search Console: rapporto Dati strutturati
Dopo l'implementazione, in Search Console trovi il report “Dati strutturati”. Mostra quanti rich snippet sono stati indicizzati, eventuali errori e avvisi. Controllalo settimanalmente.
Sponsored Protocol
Errori comuni e come evitarli
- Markup nascosto: Non inserire dati che non sono visibili all'utente. Google lo penalizza (es. mettere un prezzo finto solo per apparire con snippet).
- Tipi sbagliati: Usare
Productper un servizio. EsisteService. Scegli il tipo più adatto. - ID duplicati: Se hai più entità nella stessa pagina, usa
@idper distinguerle. - Dimenticare il contesto: Il campo
@contextdeve esserehttps://schema.org, nonhttp://. - Non aggiornare i dati: Se cambi prezzo o disponibilità, aggiorna anche il JSON-LD. Un prodotto “InStock” quando è esaurito danneggia la fiducia e può portare a penalizzazioni.
Implementazione pratica nei CMS
WordPress
Con un tema custom puoi aggiungere il JSON-LD nel functions.php o usare plugin come Yoast SEO o Rank Math (che lo generano automaticamente). Noi preferiamo farlo a mano nel file header.php delle pagine prodotto con funzioni condizionali, per controllo totale.
Laravel
Genera il JSON-LD lato controller e lo passi alla view. Esempio:
$structuredData = [
'@context' => 'https://schema.org',
'@type' => 'Product',
'name' => $product->name,
'offers' => [
'@type' => 'Offer',
'price' => $product->price,
'priceCurrency' => 'EUR',
'availability' => $product->inStock ? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock'
]
];
return view('product.show', compact('product', 'structuredData'));
Poi nella view Blade:
Sponsored Protocol
<script type="application/ld+json">
{!! json_encode($structuredData, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) !!}
</script>
Come misurare l'impatto
Dopo l'implementazione, monitora:
- Il CTR nelle SERP (da Search Console → Risultati di ricerca).
- Le impressioni per query con rich snippet.
- Il tasso di conversione se lo snippet include prezzo e disponibilità (es. per e-commerce).
Noi di Meteora Web abbiamo visto un aumento medio del 22% del CTR su clienti che hanno attivato il markup prodotto con valutazioni.
Link utili
- Documentazione ufficiale Schema.org: schema.org
- Google Rich Results Test: test rich results
- Guida completa di Google su dati strutturati: Intro to structured data
- Leggi la nostra Guida Pillar al SEO Tecnico Avanzato: SEO Tecnico Avanzato
In sintesi — Cosa fare adesso
- Scegli i tipi Schema più pertinenti al tuo sito: Product per e-commerce, Article per blog, LocalBusiness per attività fisiche.
- Genera il JSON-LD con dati reali, non trucchi.
- Testalo con il Rich Results Test di Google.
- Implementalo in produzione (manualmente o via CMS).
- Monitora il CTR e gli errori in Search Console per almeno un mese.
- Aggiorna i dati al variare dell'offerta.
I dati strutturati non sono una moda: sono un requisito tecnico per competere nei risultati di ricerca. Se non li hai, stai facendo SEO a metà.