# Schema FAQPage passo per passo, senza rich result

FAQPage si aggiunge in JSON-LD con una Question per ogni domanda visibile. Dal 2023 non dà rich result alla maggior parte dei siti, ma resta markup valido.

> Pagina: https://ui.eneawork.it/blog/schema-faq-page-guida
> Markdown: https://ui.eneawork.it/blog/schema-faq-page-guida.md

*2026-11-01*

FAQPage si aggiunge con un blocco JSON-LD che contiene una Question per ogni domanda visibile in pagina, con la stessa risposta in testo semplice. Da agosto 2023 Google mostra i rich result FAQ solo a siti governativi e sanitari autorevoli: per tutti gli altri il markup resta valido ma non cambia la SERP.

Il catalogo EneUI conta 111.985 componenti, 1.556 blocchi e 12.808 icone da 1.472 librerie, letti da /api/stats il 1 novembre 2026. La categoria faq conta 24 blocchi da 6 registry, e 38 blocchi hanno FAQ nel nome o nel titolo: entrambi i conteggi arrivano da data/blocks.json e dalla funzione che serve /blocks/category/faq, eseguiti il 1 novembre 2026. «schema markup» compare nelle liste Autocomplete registrate il 31 ottobre 2026, «faq schema» no: il dataset non documenta quel volume.

## Il blocco minimo

{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "Does FAQPage still produce a rich result?", "acceptedAnswer": { "@type": "Answer", "text": "Not for most sites: since August 2023 only authoritative government and health sites get it." } } ] }

@type FAQPage, mainEntity è un array di Question, ogni Question ha name e acceptedAnswer con @type Answer e text. Il testo è quello visibile, non una sintesi: se il markup dice una cosa e la pagina un'altra, il contrasto è spam strutturato e Google può applicare un'azione manuale.

## Le cinque regole

## Verificare che markup e pagina coincidano

cat > check-faq.mjs /gi, " ") .replace(//gi, " ") .replace(/]+>/g, " ") .replace(/&/g, "&") .replace(/'/g, "'") .replace(/\s+/g, " "); const blocks = [...html.matchAll(/]+application\/ld\+json[^>]*>([\s\S]*?)/gi)]; const nodes = blocks.flatMap((b) => { const data = JSON.parse(b[1]); return [data].concat(Array.isArray(data["@graph"]) ? data["@graph"] : []); }); const faq = nodes.find((n) => n["@type"] === "FAQPage"); if (!faq) { console.log("no FAQPage block"); process.exit(1); } let missing = 0; for (const q of faq.mainEntity) { const answers = [].concat(q.acceptedAnswer).map((a) => String(a.text).replace(/\s+/g, " ").trim()); const ok = answers.every((a) => text.includes(a)); if (!ok) missing++; console.log((ok ? "ok " : "MISSING ") + q.name); } console.log(faq.mainEntity.length + " questions · " + missing + " not in the visible text"); EOF curl -s https://ui.eneawork.it/blog/schema-faq-page-guida > page.html node check-faq.mjs page.html

Lo script estrae il blocco FAQPage, toglie script e tag dal documento e cerca ogni risposta nel testo visibile. Un MISS significa che il JSON-LD è stato modificato dopo la pagina, o che la risposta è stata accorciata solo nel markup. Il controllo va eseguito sull'HTML servito, non sul sorgente del CMS.

## Perché le domande non compaiono nella SERP

Da agosto 2023 Google ha limitato i rich result FAQ ai siti governativi e sanitari riconosciuti come autorevoli, e a settembre 2023 ha rimosso i rich result HowTo. Aggiungere FAQPage a un blog non fa comparire le domande espandibili: il markup resta utile per descrivere l'entità e per i motori che leggono JSON-LD, non per il layout del risultato.

## Il catalogo EneUI

Un accordion non genera FAQPage da solo. Il catalogo ha record reali da cui partire: FAQ di Kokonut UI, licenza MIT, i 24 blocchi della categoria FAQ e faq-01 di Shadcn UI Blocks. Il markup si scrive leggendo le domande del blocco, non inventandole. Dati verificati il 1 novembre 2026.

## La limitazione

Il markup non controlla ciò che Google mostra. Un validatore conferma la sintassi e le proprietà, non la corrispondenza semantica con la pagina; quella la verifica una persona, riga per riga, ed è l'unico controllo che conta.

## Dove continuare

Il formato generale è in come aggiungere schema markup; la sequenza per entrare nell'indice è in indicizzare un sito su Google. Se la base del sito è ancora da scegliere, il confronto è in WordPress, Wix o componenti React.

## FAQ

### FAQPage produce ancora rich result?

No, per la maggior parte dei siti. Da agosto 2023 Google mostra le domande espandibili solo a siti governativi e sanitari autorevoli.

### Dove va inserito il blocco FAQPage?

In un tag script con type application/ld+json, in head o in body. Deve stare nel documento iniziale, non essere inserito dopo il caricamento.

### Posso usare HTML dentro le risposte?

No. Il campo text accetta testo semplice: un tag b o un link viene letto come carattere, e il validatore non lo segnala.

### Serve una domanda per ogni voce dell'accordion?

Sì, se l'accordion è visibile e la risposta è nel DOM. Se il testo compare solo dopo un clic lato client, Google può non vederlo.

### Meglio FAQPage o HowTo?

Nessuno dei due produce più rich result: HowTo è stato rimosso a settembre 2023. FAQPage resta il tipo giusto per domande e risposte.
