Guida pratica ai dati strutturati
Guida al markup JSON-LD per una SEO pratica
JSON-LD aiuta i motori di ricerca a capire cos'è una pagina, chi l'ha pubblicata, come si inserisce nel sito e quali fatti usare nelle funzionalità di ricerca supportate.
L'obiettivo utile non è aggiungere ogni tipo di schema possibile. L'obiettivo è avere dati strutturati accurati che corrispondano alla pagina visibile, si validino correttamente e rimangano sincronizzati con i cambiamenti del contenuto.
L'utile versione breve
Usa JSON-LD quando puoi descrivere la pagina con fatti onesti e visibili: titolo, descrizione, autore, data pubblicazione, breadcrumb, dettagli prodotto, dati video o contenuti chiari di domande e risposte. Non aggiungere schema per promettere funzionalità che Google non mostra più o per marcare contenuti invisibili agli utenti.
Indice
Cosa fa realmente JSON-LD
JSON-LD è un blocco di dati strutturati leggibile da macchina. Solitamente si trova in un tag script nell'head o body della pagina e descrive entità con il vocabolario schema.org. I motori di ricerca lo usano come livello di chiarezza sopra il contenuto visibile.
Chiarezza del parser
Significato
Trasforma i fatti della pagina in entità e proprietà nominate, come Article, autore, datePublished, BreadcrumbList o SoftwareApplication.
Funzionalità di ricerca
Idoneità
Può rendere una pagina idonea per rich result supportati, ma Google decide cosa mostrare in base a qualità, policy, query e disponibilità delle funzionalità.
Grafo del sito
Coerenza
Fornisce al tuo CMS o app Blazor un unico luogo strutturato per riutilizzare lo stesso URL canonico, lingua, titolo, date, immagini e dati dell'editore.
Non è una scorciatoia
Limite
Non ripara contenuti deboli, recensioni false, risposte FAQ nascoste, date obsolete o pagine non corrispondenti ai dati strutturati.
Scegli lo schema in base allo scopo della pagina
Il modo più semplice per evitare dati strutturati spam o duplicati è chiedersi cosa vuole fare la pagina. Aggiungi il set schema più piccolo che descrive accuratamente quel compito.
Contenuto
Article / BlogPosting
- Usalo per
- Guide, tutorial, recensioni, post simili a notizie e spiegazioni dettagliate.
- Aggiungi quando
- La pagina ha un titolo chiaro, autore o editore, data di pubblicazione, data di modifica, URL canonico e immagine.
- Evita quando
- La pagina è principalmente un'interfaccia strumento, elenco prodotti, pagina categoria o landing page scarna.
Navigazione
BreadcrumbList
- Usalo per
- Quasi tutte le pagine sotto la homepage.
- Aggiungi quando
- Gli utenti possono capire dove si colloca la pagina nella gerarchia del sito.
- Evita quando
- Il percorso breadcrumb non corrisponde ai link interni, URL canonici o alla navigazione visibile.
Identità del sito
WebPage / WebSite / Organization
- Usalo per
- Homepage, hub, pagine chi siamo e pagine dove conta l'identità dell'editore.
- Aggiungi quando
- Vuoi un grafo di entità stabile che colleghi pagina, sito, editore e lingua.
- Evita quando
- Stai aggiungendo markup WebSite solo per inseguire la vecchia visualizzazione della casella di ricerca sitelinks.
Prodotto o app
Product / SoftwareApplication
- Usalo per
- Strumenti, app, pagine SaaS, estensioni, software scaricabile o pagine prodotto reali.
- Aggiungi quando
- Il contenuto visibile della pagina include nome, descrizione, sistema operativo o categoria, prezzo, offerte e valutazioni quando li marchi.
- Evita quando
- Valutazioni, prezzo, disponibilità o recensioni non sono visibili agli utenti nella pagina.
Domande
FAQPage
- Usalo per
- Sezioni di domande e risposte visibili che aiutano realmente gli utenti a comprendere l'argomento.
- Aggiungi quando
- Il contenuto Q&A è utile nella pagina anche se Google non mostra rich result FAQ.
- Evita quando
- Aggiungi Q&A generiche solo per occupare spazio nei risultati o ripetere la stessa risposta su molte pagine.
Media
VideoObject / ImageObject
- Usalo per
- Pagine con video incorporati importanti, video tutorial o immagini crawlabili.
- Aggiungi quando
- Il media è centrale nella pagina e ha titolo, descrizione, miniatura, data di caricamento e URL stabile.
- Evita quando
- Il media è decorativo, nascosto, bloccato o non rilevante per lo scopo principale della pagina.
Checklist di implementazione per evitare la maggior parte degli errori
Un buon JSON-LD è noioso nel modo migliore: coerente, generato da campi affidabili, facile da validare e difficile da dimenticare quando la pagina cambia.
Scegli un'entità principale della pagina
Decidi se la pagina è principalmente un articolo, prodotto, app, video, FAQ, collezione o pagina web generica. Lo schema secondario deve supportare l'entità principale.
Corrispondenza con contenuto visibile
Ogni informazione marcata deve essere visibile o chiaramente deducibile nella pagina: titolo, autore, date, prezzo, valutazione, Q&A, breadcrumb e immagini.
Usa valori @id stabili
Assegna ID stabili alle entità importanti come l'URL canonico più #article, #webpage, #organization o #faq. Aiuta i parser a collegare i pezzi del grafo.
Genera da metadata condivisi
Riutilizza gli stessi campi sorgente che creano titoli, meta descrizioni, URL canonici, immagini Open Graph, tag lingua e date di ultima modifica.
Mantieni le date veritiere
Modifica dateModified solo quando il contenuto della pagina cambia realmente. Non aggiornare le date automaticamente solo per sembrare più recenti nei risultati di ricerca.
Rendi le immagini crawlabili
Usa URL immagine assoluti, dimensioni adeguate e file non bloccati da robots, autenticazione o rendering solo lazy-loading.
Renderizza presto
In Blazor e altre app JavaScript, preferisci JSON-LD prerenderizzato o server-rendered affinché i crawler lo vedano nella risposta HTML iniziale.
Valida e monitora
Esegui il test Rich Results prima della pubblicazione, verifica la sintassi con Schema Markup Validator e monitora Search Console dopo l'indicizzazione.
Un modello JSON-LD pulito per pagine Blazor
Per Blazor, il metodo più sicuro è costruire lo schema dai metadata della pagina durante l'inizializzazione o prerendering, serializzarlo una volta e renderizzare lo script application/ld+json visibile ai crawler nell'HTML iniziale.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"@id": "https://example.com/en/json-ld-schema-guide/#article",
"headline": "JSON-LD Schema Markup Guide for Practical SEO",
"description": "A practical guide to choosing, generating, and validating structured data.",
"image": "https://example.com/images/json-ld-guide.png",
"datePublished": "2026-03-28T10:00:00+00:00",
"dateModified": "2026-05-31T10:00:00+00:00",
"author": {
"@type": "Organization",
"name": "Example Publisher"
},
"publisher": {
"@type": "Organization",
"name": "Example Publisher",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/en/json-ld-schema-guide/"
}
}
</script>private MarkupString BuildJsonLd(PageMetaData meta)
{
var pageUrl = BuildPageUrl(meta);
var schema = new Dictionary<string, object?>
{
["@context"] = "https://schema.org",
["@type"] = "Article",
["@id"] = $"{pageUrl}#article",
["headline"] = meta.Title,
["description"] = meta.Description,
["url"] = pageUrl,
["datePublished"] = meta.Published?.ToString("O"),
["dateModified"] = meta.Modified?.ToString("O"),
["inLanguage"] = CS.Culture
};
var json = JsonSerializer.Serialize(schema, new JsonSerializerOptions
{
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull
});
return new MarkupString($"<script type=\"application/ld+json\">{json}</script>");
}Valida JSON-LD prima di usarlo
La validazione ha due compiti diversi. Schema Markup Validator verifica se vocabolario e sintassi JSON-LD sono comprensibili. Il test Rich Results di Google verifica se Google riconosce la pagina come idonea per tipi di rich result supportati.
Idoneità Google
Test risultati arricchiti
Verifica se Google può leggere la pagina e se i dati strutturati rilevati sono idonei per i tipi di rich result supportati.
Apri test Rich ResultsVocabolario
Validator schema markup
Controlla la struttura generale schema.org e la sintassi JSON-LD, inclusi tipi, proprietà, entità annidate e JSON malformato.
Apri Schema Markup ValidatorDopo la pubblicazione
Search Console
Usa i report di Ispezione URL e Miglioramento per individuare problemi di crawl, indicizzazione e dati strutturati dopo che Google ha processato la pagina.
Leggi la documentazione Google sui dati strutturatiErrori comuni in JSON-LD che compromettono la fiducia
La maggior parte dei problemi di schema non sono bug tecnici complessi, ma discrepanze tra quanto dice il markup e ciò che l'utente o il crawler possono verificare nella pagina.
Marcatura di contenuti nascosti o mancanti
Se gli utenti non possono vedere la risposta, recensione, offerta, immagine o autore, non inserirli nei dati strutturati. È il modo più rapido per perdere fiducia.
Aggiungere FAQPage ovunque
Lo schema FAQ può descrivere Q&A visibili, ma non deve essere un blocco copiato in ogni articolo. Usalo solo se migliora la pagina.
Script duplicati in conflitto
Più blocchi Article con titoli, date o URL diversi rendono la pagina più difficile da interpretare. Un grafo chiaro è meglio di tre parziali.
Canonical o @id errati
Gli URL dello schema devono corrispondere alla pagina canonica, all'URL della cultura e alla configurazione hreflang. URL in lingue miste creano contenuti duplicati e confusione di entità.
Falsa freschezza
Non aggiornare dateModified per modifiche al template, tracciamento o aggiornamenti solo di schema. Usa la data per cambiamenti reali del contenuto.
Rendering tardivo solo client
Se JSON-LD appare solo dopo un rendering ritardato lato client, i crawler potrebbero non vederlo. Preferisci rendering server o prerendering per pagine importanti.
Ricette pratiche di schema per tipo di pagina
Raramente serve un grafo enorme. Queste combinazioni coprono le pagine che la maggior parte di piccoli siti, blog, strumenti e progetti di recensioni pubblicano realmente.
Articolo guida
Article + BreadcrumbList + WebPage
- Usa Article per titolo, autore, editore, immagine, date e nomi delle sezioni.
- Usa BreadcrumbList per il percorso visibile del sito.
- Usa riferimenti WebPage o @id per collegare la pagina e l'entità articolo.
Pagina strumento
SoftwareApplication + WebPage + BreadcrumbList
- Usa SoftwareApplication solo se la pagina riguarda una vera app o strumento.
- Includi sistema operativo, categoria, prezzo o dettagli offerta solo se visibili.
- Evita markup di recensioni o valutazioni se la pagina non mostra dati reali.
Pagina recensione
Recensione / Prodotto solo se supportato dalla pagina
- Marca l'elemento recensito, autore, data e valutazione solo se chiaramente visibili nella pagina.
- Mantieni trasparenti link affiliati e contesto commerciale.
- Usa lo stesso punteggio nello schema e nel contenuto visibile.
Pagina di domande
FAQPage solo per Q&A visibili e utili
- Rendi ogni risposta utile di per sé, non solo una variante di parola chiave.
- Non nascondere risposte dietro interfacce bloccate inaccessibili ai crawler.
- Non aspettarti i rich result FAQ come principale vantaggio SEO.
Fonti verificate
Fonti di ricerca per questa guida
Le indicazioni sopra si basano sulla documentazione ufficiale di Google Search Central e schema.org, poi trasformate in una checklist JSON-LD pratica.
Domande frequenti
Il markup JSON-LD è un fattore di ranking?
JSON-LD non è una bacchetta magica per il ranking. Aiuta i motori di ricerca a comprendere i contenuti idonei e supporta l'idoneità ai rich result, ma il ranking dipende da qualità, rilevanza, crawlabilità, link e altri segnali.
Dove dovrebbe andare JSON-LD in una pagina?
Un tag script nell'head è solitamente il modo più semplice da gestire, ma Google può leggere JSON-LD anche nel body. L'importante è che il markup sia presente nella pagina renderizzata e corrisponda al contenuto visibile.
Devo ancora usare lo schema FAQPage?
Usa FAQPage solo quando la pagina ha domande e risposte visibili e realmente utili. Non fare affidamento su di esso per spazio extra nei risultati Google, poiché la visualizzazione rich result FAQ è stata fortemente ridotta e deprecata per la maggior parte dei siti.
Una pagina può contenere più blocchi JSON-LD?
Sì. Una pagina articolo normale può avere dati Article, BreadcrumbList e WebPage. Mantieni i blocchi coerenti, evita entità duplicate in conflitto e usa valori @id stabili per collegare i pezzi correlati.
JSON-LD è migliore di Microdata?
Per la maggior parte dei siti moderni, sì. Google supporta JSON-LD, Microdata e RDFa, ma JSON-LD è più semplice da mantenere perché non richiede attributi schema nel template HTML visivo.
Con quale frequenza devo validare i dati strutturati?
Valida ogni volta che modifichi template, campi metadata, helper schema, URL, routing lingua, generazione immagini, dati recensioni o sezioni FAQ. Controlla anche Search Console dopo l'indicizzazione di pagine importanti.