Schema.org / JSON-LD per SEO
Schema.org è un vocabolario standardizzato di dati strutturati che aiuta i motori di ricerca a comprendere il contenuto di una pagina. Il formato JSON-LD (JavaScript Object Notation for Linked Data) è quello raccomandato da Google: si inserisce in uno script all'interno del tag head senza alterare la struttura HTML visibile. I dati strutturati abilitano rich snippet e knowledge graph nei risultati di ricerca.
Perché usare JSON-LD
JSON-LD è più semplice da implementare e mantenere rispetto a Microdata o RDFa, perché vive isolato in un blocco script. Google ha dichiarato di preferirlo perché non interferisce con il rendering della pagina e può essere generato dinamicamente lato server. È inoltre più leggibile per gli sviluppatori e meno soggetto a errori di markup mescolato con il contenuto.
Tipi più usati
I tipi più comuni includono Organization (per il sito aziendale), Article (per i blog post), Product (per le schede ecommerce), BreadcrumbList (per i percorsi di navigazione) e FAQPage (per le pagine di domande frequenti). Ognuno ha proprietà obbligatorie e opzionali documentate in dettaglio sul sito schema.org, oltre alle linee guida specifiche di Google.
Tipi più utili per la SEO
I tipi che generano rich snippet visibili includono FAQPage (domande espandibili), HowTo (step-by-step illustrati), Recipe (rating, tempo cottura, calorie), Product (prezzo, disponibilità, review), Event (data, luogo, ticket), LocalBusiness (mappa, orari, telefono), Organization (logo, social links). Ogni tipo ha proprietà specifiche documentate sia su schema.org sia nelle linee guida sviluppatori di Google, che indicano anche quali sono effettivamente usati per generare rich results visibili nei risultati di ricerca.
Generazione automatica
In ambienti CMS come WordPress, Drupal o sistemi headless, JSON-LD può essere generato automaticamente da plugin o template engine. Yoast SEO, RankMath, Schema Pro generano markup avanzato senza scrivere codice. In framework JavaScript moderni come Next.js o Nuxt, puoi inserire JSON-LD nel head tramite componenti dedicati. Per applicazioni custom, librerie come schema-dts (TypeScript) offrono type safety quando generi i tag, riducendo errori e migliorando la manutenibilità del progetto nel tempo.
JSON-LD e nested entities
Gli oggetti reali sono spesso composti: un'articolo ha un'autore (Person), un publisher (Organization), un'immagine (ImageObject). JSON-LD permette di rappresentare queste relazioni con oggetti annidati. Esempio author: {"@type": "Person", "name": "Mario Rossi", "url": "https://esempio.it/autori/mario"}. Publisher: {"@type": "Organization", "name": "Esempio Editore", "logo": {"@type": "ImageObject", "url": "..."}}. Questa ricchezza relazionale è ciò che permette ai knowledge graph di Google di connettere entità tra siti diversi, costruendo una mappa semantica del web.
Manutenzione e aggiornamento
I dati strutturati richiedono manutenzione: se il prezzo del prodotto cambia, lo schema Product deve riflettere il valore corretto. Genera JSON-LD dinamicamente dal database, mai hardcoded nel template. Per Article, datePublished e dateModified devono essere accurate. Per Event, startDate ed endDate devono essere in formato ISO 8601 con timezone. Google Search Console mostra errori e warning sui dati strutturati nella sezione Miglioramenti; controlla settimanalmente per individuare regressioni che potrebbero compromettere i rich snippet attualmente visibili nelle SERP.
Generatori e tool
Per generare JSON-LD senza scrivere a mano: Schema App, Merkle Schema Markup Generator, TechnicalSEO.com Schema Markup Generator. Inserisci dati base e generano il blocco script pronto da incollare. Per WordPress, Yoast SEO, RankMath, Schema Pro automatizzano completamente. Per JavaScript apps moderne, librerie come schema-dts (TypeScript), react-schemaorg, vue-schema-org offrono type-safe generation. Mai trascurare la validazione: il Rich Results Test è imprescindibile prima del deploy. Pattern enterprise: genera JSON-LD lato server dal modello dati, mantieni una sola sorgente di verità per evitare drift tra contenuto e metadati strutturati.
Procedura passo-passo
- Identifica il tipo di entità da rappresentare (Organization, Article, Product, FAQPage, Breadcrumb).
- Crea un blocco <script type="application/ld+json"> all'interno del tag <head>.
- Inserisci il contesto: "@context": "https://schema.org".
- Aggiungi il tipo: "@type": "Article" (o altro tipo pertinente).
- Compila le proprietà richieste: headline, author, datePublished, image, publisher.
- Verifica la sintassi con il Rich Results Test di Google (search.google.com/test/rich-results).
- Monitora la presenza di rich snippet in Google Search Console nella sezione Miglioramenti.
Errori comuni e come risolverli
- JSON malformato: una virgola di troppo o virgolette sbagliate bloccano il parsing; valida sempre il JSON con un tool dedicato.
- Tipo errato: usare Article per un prodotto invece di Product confonde i crawler; scegli il @type pertinente.
- Proprietà obbligatorie mancanti: ogni tipo ha campi required; consulta la documentazione su schema.org.
- Dati incoerenti: se il markup dice una cosa e il testo della pagina un'altra, Google può ignorare lo schema o penalizzare.
- URL relativi nelle immagini: usa sempre URL assoluti con https per le proprietà image e logo.
Domande frequenti
D: I dati strutturati garantiscono i rich snippet?
R: No, Google decide se mostrarli in base a qualità, pertinenza e autorità del sito. Sono comunque un prerequisito.
D: Quanti tipi posso usare nella stessa pagina?
R: Più di uno, ad esempio Organization, BreadcrumbList e Article insieme. Usa blocchi script separati o un'array.
D: JSON-LD rallenta il sito?
R: L'impatto è trascurabile, perché è solo testo nel head. È più leggero dei sistemi precedenti.
D: Posso usare JSON-LD anche per FAQ?
R: Sì, il tipo FAQPage è uno dei più efficaci per ottenere rich snippet con domande espandibili nei risultati.
Hai bisogno di aiuto?
Se vuoi sviluppo web con il team di G Tech Group, scrivici tramite il modulo di contatto.