AI e Search

Dati strutturati: i tipi Schema che funzionano davvero

Quali tipi Schema.org generano rich snippet, come collegarli in un grafo anziché blocchi isolati e il markup recensioni che causa penalizzazioni.

I dati strutturati assolvono a due compiti distinti, e il secondo è diventato silenziosamente persino più rilevante del primo.

Primo compito: ottenere risultati arricchiti (rich snippet) nei motori di ricerca — valutazioni a stelle, menu FAQ a scomparsa, breadcrumb, prezzi, date di eventi. Occupano maggiore spazio visivo nella SERP e attraggono percentuali di clic significativamente più elevate.

Secondo compito: comunicare dati inequivocabili ai modelli di intelligenza artificiale. Un modello che legge un testo deve dedurre cosa fate e dove operate. Un modello che legge un nodo Organization non deve dedurre nulla: riceve fatti certi. Quando un motore di risposta AI cita la vostra azienda con sicurezza, tale sicurezza proviene quasi sempre da dati strutturati ben compilati.

Utilizzate sempre il formato JSON-LD

Esistono tre formati. Utilizzate unicamente JSON-LD.

Google lo raccomanda espressamente, risiede all'interno di un unico tag <script> senza doversi intrecciare al codice HTML della pagina e non rischia di rompersi durante i restyling grafici (a differenza di Microdata).

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example.com/#organization",
  "name": "Acme Manufacturing",
  "url": "https://example.com/"
}
</script>

Collegate il grafo delle entità

Questa è la differenza fondamentale tra un'implementazione che funziona realmente e una che si limita a superare la sintassi del validatore.

La maggioranza dei siti web pubblica blocchi isolati: una Organization qui, un Service là, un BlogPosting altrove, senza alcuna relazione reciproca. Presi singolarmente sono validi, ma insieme non dicono nulla su come siano connessi.

Utilizzate la proprietà @id per collegarli:

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/#organization",
      "name": "Acme Manufacturing",
      "url": "https://example.com/"
    },
    {
      "@type": "WebSite",
      "@id": "https://example.com/#website",
      "url": "https://example.com/",
      "publisher": { "@id": "https://example.com/#organization" }
    },
    {
      "@type": "Service",
      "@id": "https://example.com/services/cnc/#service",
      "name": "CNC Milling",
      "provider": { "@id": "https://example.com/#organization" },
      "areaServed": { "@type": "Place", "name": "European Union" }
    }
  ]
}

In questo modo il servizio è formalmente collegato a una specifica organizzazione e a una determinata area geografica servita.

Il wrapper @graph consente di pubblicare l'intero grafo all'interno di un unico blocco di script, rendendo l'architettura pulita e leggibile per chiunque debba gestirla.

Le tipologie di Schema più importanti

In ordine di priorità per un tipico sito web aziendale:

Organization (o LocalBusiness se servite un'area fisica, ProfessionalService per agenzie e consulenti). È l'ancora principale del brand. Includete name, url, logo, address, telephone, email, sameAs (con i link ai profili social ufficiali) e areaServed.

WebSite — inserito una sola volta sulla homepage. L'aggiunta di potentialAction con SearchAction favorisce la comparsa della casella di ricerca sitelink su Google.

BreadcrumbList — su ogni pagina interna. Sostituisce l'URL grezzo nei risultati di ricerca con un percorso di navigazione leggibile. È il rich result più facile da ottenere.

Service o Product — sulle rispettive pagine dedicate. Product con offers e un price reale è ciò che attiva la visualizzazione del prezzo nella SERP.

FAQPage — ovunque rispondiate a domande frequenti. Ha un valore enorme per il recupero di informazioni da parte dei motori AI (GEO), perché fornisce coppie domanda-risposta già pronte per l'estrazione.

BlogPosting o Article — sui contenuti editoriali. Includete headline, datePublished, dateModified, author, image e wordCount.

L'errore che genera penalizzazioni manuali

Non inserite aggregateRating sul nodo Organization utilizzando recensioni raccolte autonomamente.

Le linee guida di Google sono categoriche: le recensioni autoreferenziali raccolte dall'azienda sulla propria organizzazione non sono ammissibili per i rich snippet. È una causa documentata di penalizzazioni manuali.

I punteggi appartengono a Product, LocalBusiness o servizi specifici, e devono riflettere recensioni reali leggibili anche dagli utenti sulla pagina stessa.

Requisiti essenziali da rispettare

I contenuti marcati devono essere visibili all'utente. Marcare un blocco FAQ non mostrato a schermo o prezzi nascosti costituisce una violazione delle policy di Google.

Le proprietà obbligatorie sono vincolanti. Omettere una proprietà obbligatoria impedisce l'attivazione dei rich result. Product richiede name e uno tra offers, review o aggregateRating. FAQPage richiede almeno una Question con la relativa acceptedAnswer.

Le date richiedono il formato ISO 8601. 2026-09-08 oppure 2026-09-08T10:00:00+03:00. Formati descrittivi come 8 settembre 2026 non vengono interpretati.

La proprietà sameAs deve puntare a profili ufficiali controllati — la vostra pagina LinkedIn aziendale, l'account X ufficiale. Rappresenta uno dei segnali più forti per il disambiguamento dell'entità.

Ottimizzazione specifica per i motori AI

Alcune proprietà hanno un valore determinante soprattutto per i modelli linguistici:

  • description su Organization, formulata come frase fattuale e non come slogan pubblicitario.
  • knowsAbout — un array con i settori di competenza specifica dell'azienda.
  • areaServed — definita esplicitamente anziché lasciata all'inferenza dell'indirizzo di sede.
  • availableLanguage — per i mercati multilingue.
  • makesOffer — per associare formalmente l'azienda ai servizi offerti.

Siti web multilingue

Ogni versione linguistica richiede dati strutturati dedicati con testi tradotti e la proprietà inLanguage opportunamente valorizzata. I valori @id devono essere distinti per lingua (es. https://example.com/it/servizi/#service) per evitare conflitti logici con i tag hreflang.

Come verificare i dati strutturati

  • Test dei risultati avanzati di Google — per verificare l'idoneità ai rich snippet
  • Schema.org Validator — per la correttezza formale della sintassi
  • Il nostro free structured data checker — per verificare se il grafo è interconnesso e rilevare eventuali markup a rischio di penalizzazione

Sequenza di implementazione consigliata

  1. Pubblicate un grafo interconnesso Organization + WebSite su tutto il sito.
  2. Implementate i BreadcrumbList su tutte le pagine interne.
  3. Aggiungete Service o Product sulle pagine d'offerta, collegandoli a @id dell'organizzazione.
  4. Aggiungete FAQPage sulle sezioni informative.
  5. Inserite BlogPosting negli articoli editoriali.
  6. Eseguite un audit annuale per mantenere i dati strutturati allineati con i contenuti aggiornati del sito.

Continua a leggere

Diteci quali obiettivi volete raggiungere.

Un solo team. Tre uffici. Ventisei lingue. Inviateci il problema e riceverete una risposta tecnica qualificata — non un copione di vendita.

Una proposta scritta entro un giorno lavorativo, nella vostra lingua.