Infrastruttura Tecnica

Speakable Schema: come segnalare ai motori AI le sezioni più citabili del tuo sito

Guida tecnica completa allo Speakable Schema in JSON-LD: cos'è la SpeakableSpecification, come implementarla con cssSelector e XPath, e perché è il segnale di Chiarezza più sottovalutato per la visibilità AI.

Lo Speakable Schema è un tipo JSON-LD di schema.org che segnala ai motori AI e agli assistenti vocali quali sezioni di una pagina sono più adatte a essere estratte e citate. Agisce sul pilastro Chiarezza dell'Indice di Visibilità: dà all'AI una mappa precisa dei contenuti citabili, potenzia l'Accesso semantico al documento e — insieme alle brand mentions esterne — rinforza l'Autorevolezza percepita del brand nei sistemi generativi.

Il problema che lo Speakable Schema risolve

Quando un motore AI come Perplexity o Google AI Overviews elabora una pagina web per costruire una risposta, deve operare una scelta: quale sezione di quella pagina è la più informativa da estrarre?

Senza indicazioni strutturate, il sistema analizza il testo in modo euristico — valuta la densità informativa, la posizione nel documento, la presenza di parole chiave attorno alla query. Il risultato è spesso impreciso: vengono estratte sezioni promozionali, testo di navigazione, boilerplate ripetuto nel footer.

Lo Speakable Schema risolve questo problema a monte: fornisce al sistema AI una mappa esplicita delle sezioni più informative della pagina. È il modo strutturato per comunicare “questa è la parte che dovresti citare quando qualcuno cerca informazioni su questo argomento”.

Il meccanismo è diretto: aggiungi al JSON-LD del tuo articolo una proprietà speakable che punta — tramite selettori CSS o XPath — agli elementi HTML contenenti le informazioni più rilevanti. I crawler AI che supportano lo standard la leggono prima del contenuto libero e privilegiano quei blocchi nell’estrazione.

Come funziona: la specifica SpeakableSpecification

SpeakableSpecification è il tipo schema.org usato come valore della proprietà speakable. Ha due proprietà operative:

ProprietàTipoDescrizione
cssSelectorArray di stringheSelettori CSS standard che puntano agli elementi speakable
xpathArray di stringheEspressioni XPath che puntano agli elementi speakable
@typeStringaSempre "SpeakableSpecification"

Le due proprietà non si escludono — puoi usarle entrambe nello stesso blocco, o solo una. Google raccomanda cssSelector per la maggior parte dei casi, riservando XPath alle strutture DOM complesse dove i selettori CSS non riescono a isolare con precisione gli elementi target.

Il tipo speakable si applica principalmente a:

  • Article
  • NewsArticle
  • BlogPosting
  • WebPage (con efficacia inferiore rispetto ai tipi articolo specifici)

Implementazione base con cssSelector

Questo è il metodo più comune e più manutenibile. I selettori CSS puntano agli elementi della pagina che contengono il contenuto ottimale per l’estrazione AI.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Titolo dell'articolo",
  "url": "https://tuosito.it/blog/nome-articolo",
  "author": {
    "@type": "Person",
    "name": "Nome Autore"
  },
  "datePublished": "2026-06-01",
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".article-headline",
      ".article-summary",
      "article p:first-of-type",
      "h2",
      ".key-stat"
    ]
  }
}

I selettori nell’array vengono tutti inclusi nel contenuto speakable — l’AI raccoglierà il testo da ciascuno degli elementi matchati nella pagina.

Cosa includere nei selettori

Alta priorità — includi sempre:

  • Il titolo dell’articolo (.article-headline, h1)
  • Il paragrafo introduttivo (article p:first-of-type, .article-intro)
  • I blocchi di sintesi o riepilogo (.geo-summary, .article-abstract)
  • Statistiche e dati chiave (.stat-highlight, .data-callout)

Media priorità — includi se presente:

  • I sottotitoli principali (article h2, article h3)
  • I blocchi definizione (.definition, .explainer-box)
  • Le conclusioni (.conclusion, .summary-box)

Escludi sempre:

  • Navigation, header, footer
  • Testo promozionale e call-to-action
  • Boilerplate legale e disclamer
  • Testo nelle immagini e nelle alt description

Implementazione con XPath

XPath è più potente per strutture DOM complesse ma richiede più manutenzione quando il template HTML cambia versione.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Titolo dell'articolo",
  "url": "https://tuosito.it/blog/nome-articolo",
  "speakable": {
    "@type": "SpeakableSpecification",
    "xpath": [
      "/html/body//article//h1",
      "/html/body//article//p[@class='intro']",
      "/html/body//section[@id='conclusioni']//p[position()<=2]"
    ]
  }
}

XPath è consigliato quando i selettori CSS non riescono a selezionare con precisione gli elementi target senza includere anche elementi non desiderati nello stesso contesto DOM.

Implementazione completa integrata con Article

Lo Speakable Schema funziona meglio integrato in un blocco JSON-LD completo per l’articolo. Non va aggiunto come script ld+json separato — deve essere proprietà dello stesso oggetto Article o BlogPosting:

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Speakable Schema: guida tecnica per la visibilità AI",
  "description": "Come implementare lo speakable schema in JSON-LD per aumentare la citabilità AI",
  "url": "https://geo-seo.it/blog/speakable-schema-guida-tecnica",
  "datePublished": "2026-06-01",
  "dateModified": "2026-06-01",
  "author": {
    "@type": "Person",
    "name": "Arnaldo De Lisio",
    "url": "https://geo-seo.it/chi-siamo"
  },
  "publisher": {
    "@type": "Organization",
    "name": "geo-seo.it",
    "url": "https://geo-seo.it",
    "logo": {
      "@type": "ImageObject",
      "url": "https://geo-seo.it/logo.png"
    }
  },
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      "h1",
      ".geo-summary",
      "article h2",
      "article > p:first-of-type"
    ]
  }
}

Se il tuo sito usa già un blocco .geo-summary come sezione di apertura di ogni articolo, questo è esattamente il contenuto che va incluso nei selettori speakable: è un estratto autonomo, informativo, privo di tono promozionale — il caso d’uso ideale per la citazione AI.

Il ruolo nella Chiarezza GEO

Nel framework dell’Indice di Visibilità, lo Speakable Schema agisce sul pilastro Chiarezza — la capacità del sito di farsi capire dai sistemi AI e di fornire contenuti chiaramente estraibili.

Tre contributi diretti:

Riduce l’ambiguità di estrazione. Invece di lasciare all’algoritmo la scelta di quale sezione citare, la indichi esplicitamente. Questo abbassa la probabilità di citazioni imprecise o di estratti fuori contesto.

Aumenta la densità segnaletica. Un articolo con speakable schema correttamente implementato mostra ai sistemi AI che il contenuto è stato strutturato con consapevolezza dell’estrazione. È un segnale implicito di qualità editoriale.

Accelera il crawling semantico. I bot AI che trovano speakable markup possono essere più efficienti nell’analisi della pagina, riducendo il rischio che il contenuto venga saltato in favore di pagine strutturalmente più semplici da elaborare.

Lo Speakable Schema non sostituisce gli altri segnali tecnici — in particolare i crawler AI nel robots.txt devono essere abilitati prima ancora di occuparsi del markup. Ma una volta che il sito è accessibile tecnicamente, lo speakable è uno dei segnali di Chiarezza con il miglior rapporto implementazione/impatto: richiede meno di un’ora, non cambia nulla nella resa visiva del sito, e lavora in background per ogni articolo indicizzato.

Come implementarlo nelle piattaforme principali

WordPress

Il modo più controllato è aggiungere il JSON-LD tramite hook wp_head, evitando conflitti con i plugin schema generici:

function add_speakable_schema() {
  if ( is_single() ) {
    $schema = [
      '@context'   => 'https://schema.org',
      '@type'      => 'BlogPosting',
      'headline'   => get_the_title(),
      'url'        => get_permalink(),
      'datePublished' => get_the_date( 'Y-m-d' ),
      'speakable'  => [
        '@type'       => 'SpeakableSpecification',
        'cssSelector' => [
          '.entry-title',
          '.entry-content > p:first-child',
          '.entry-content h2'
        ]
      ]
    ];
    echo '<script type="application/ld+json">'
       . json_encode( $schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES )
       . '</script>';
  }
}
add_action( 'wp_head', 'add_speakable_schema' );

Astro

---
const speakableSchema = {
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": frontmatter.title,
  "url": Astro.url.href,
  "datePublished": frontmatter.pubDate,
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      "h1",
      ".geo-summary",
      "article h2",
      "article > p:first-of-type"
    ]
  }
};
---
<script type="application/ld+json" set:html={JSON.stringify(speakableSchema)} />

Shopify

In layout/theme.liquid, nel blocco <head>, aggiungi il JSON-LD condizionale con Liquid:

{% if template == 'article' %}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": {{ article.title | json }},
  "url": {{ shop.url | append: article.url | json }},
  "datePublished": "{{ article.published_at | date: '%Y-%m-%d' }}",
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [".article__title", ".article__excerpt", ".rte h2"]
  }
}
</script>
{% endif %}

Errori comuni da evitare

Selettori troppo generici. Usare p come selettore include ogni paragrafo della pagina: footer, disclaimer, boilerplate. Usa selettori contestuali come article p:first-of-type o .article-body > p:nth-child(-n+3).

Contenuto promozionale nei selettori. Se un selettore include elementi con testo tipo “Acquista ora” o “Prenota una consulenza”, quel testo entra nel contenuto speakable. I sistemi AI penalizzano il contenuto promozionale nelle fonti che citano — abbassando l’Autorevolezza percepita del brand.

JSON-LD speakable separato dal blocco Article. Il nodo speakable deve essere proprietà dell’oggetto Article/BlogPosting, non un script ld+json distinto. Due script con tipi diversi per la stessa pagina sono corretti; lo stesso tipo duplicato crea ambiguità per i parser.

Selettori che non matchano il DOM reale. I CSS selectors nel JSON-LD non vengono validati automaticamente: devono corrispondere a elementi presenti nel DOM della pagina renderizzata. Testa sempre con browser inspector dopo ogni deploy che modifica il template.

Checklist di implementazione

StepAzionePriorità
1Identifica nel template HTML gli elementi citabili: intro, titoli, dati chiaveAlta
2Scegli i CSS selector che puntano a quegli elementi senza includere boilerplateAlta
3Aggiungi speakable al blocco JSON-LD Article già presente sulla paginaAlta
4Valida la sintassi con il Rich Results Test di GoogleAlta
5Verifica che ogni selector matchi elementi nel DOM con il browser inspectorMedia
6Richiedi reindicizzazione in Google Search Console dopo il deployMedia
7Monitora le citazioni AI su ChatGPT, Perplexity, Google AIO nelle settimane successiveBassa

Come si inserisce nel quadro tecnico GEO

Lo Speakable Schema è uno dei tre livelli di schema markup che un sito ottimizzato per i motori AI dovrebbe avere:

  1. Schema Organization — identità del brand sull’homepage (chi sei, sameAs, contatti)
  2. Schema Article + Person — autore e metadati su ogni articolo
  3. Schema Speakable — mappa delle sezioni citabili su ogni articolo

Questi tre livelli lavorano in modo complementare sul pilastro Chiarezza. Nessuno sostituisce l’altro: Organization dice all’AI chi sei, Article dice cosa hai pubblicato, Speakable dice dove trovare la parte migliore da citare.

Il pilastro Accesso — assicurarsi che i crawler AI possano raggiungere il sito — è il prerequisito di tutto questo. Uno schema markup perfetto su un sito bloccato in robots.txt non produce nessun effetto. La sequenza corretta è: prima abilita l’accesso ai crawler, poi costruisci la chiarezza con lo schema markup.

Misurare l’impatto sull’Indice di Visibilità

L’effetto diretto dello Speakable Schema sull’Indice di Visibilità si concentra nel pilastro Chiarezza. Un audit GEO misura la presenza e la completezza del markup strutturato — incluso speakable — e restituisce un punteggio numerico del pilastro con le priorità di intervento.

La variazione nelle citazioni AI (monitoraggio su ChatGPT, Perplexity, Google AIO) diventa misurabile nel giro di 4-8 settimane dall’indicizzazione delle pagine aggiornate. Questo è il segnale diretto che il sistema AI ha letto il markup e ha iniziato a privilegiare le sezioni indicate nei selettori speakable.

Richiedi l’analisi GEO gratuita →

Domande frequenti

Lo Speakable Schema funziona solo per i siti di notizie?

Google ha documentato lo Speakable Schema principalmente per i news publisher, ma la specifica schema.org si applica a qualsiasi Article o BlogPosting. I sistemi AI generalisti — ChatGPT, Perplexity, Gemini — usano i segnali di speakable per identificare le sezioni più informative e citabili di qualsiasi pagina, indipendentemente dal settore. Per i brand non-news implementarlo è un vantaggio competitivo diretto, perché la quasi totalità dei siti italiani non lo ha ancora adottato.

Qual è la differenza tra cssSelector e xpath in SpeakableSpecification?

Entrambe le proprietà puntano agli elementi HTML contenenti il contenuto speakable, ma con sintassi diversa. cssSelector usa selettori CSS standard come '.article-intro' o 'article p:first-of-type' — più leggibile e più semplice da mantenere. xpath usa espressioni XPath come '//div[@class="intro"]' — più potente per strutture DOM complesse. Google raccomanda cssSelector per la grande maggioranza dei casi di uso.

Quante sezioni devo includere nello speakable?

Google raccomanda di includere il titolo dell'articolo, l'abstract o primo paragrafo, e 1-2 sezioni chiave con dati o conclusioni. Il contenuto speakable complessivo non dovrebbe superare 600-800 caratteri per risposta vocale. Per la citabilità AI l'obiettivo è segnalare i blocchi informativi più autonomi — quelli che hanno senso estratti fuori contesto, senza bisogno di lettura del resto dell'articolo.

Lo Speakable Schema impatta il ranking su Google?

Non è un fattore di ranking diretto per la SERP tradizionale. Lo Speakable Schema influenza quale contenuto viene selezionato per le risposte vocali di Google Assistant e per Google AI Overviews, aumentando la probabilità di citazione nelle risposte AI generative. È un segnale di Chiarezza: aiuta l'AI a capire quale parte del tuo contenuto è più citabile, non migliora la posizione nei risultati di ricerca organica classica.

Come verifico che lo Speakable Schema sia implementato correttamente?

Usa il Rich Results Test di Google (search.google.com/test/rich-results) per validare la sintassi JSON-LD. Per verificare che i selettori CSS puntino effettivamente a elementi presenti nel DOM, ispeziona la pagina con il browser inspector e controlla che i selettori matchino gli elementi attesi. Strumenti aggiuntivi come Schema.dev Validator confermano la struttura dell'oggetto JSON-LD indipendentemente dall'implementazione Google.

Analisi gratuita

Scopri quanto è visibile il tuo brand all'AI

Inserisci il dominio e ottieni in 30 secondi il tuo GeoScore: Infrastruttura, Reputazione e le 3 priorità da correggere subito.

Analizza il mio sito →