Quando ho deciso di rifare il mio sito personale, la domanda di partenza non è stata “quali keyword voglio posizionare?”. È stata un’altra: cosa serve perché un sistema — Google, ChatGPT, Perplexity, Claude — capisca chi sono e decida di citarmi?
È una domanda diversa, e porta a scelte diverse. Le racconto qui, perché questo sito è il primo caso studio di sé stesso.
Entity-first, non keyword-first
La SEO che ho imparato nel 2008 partiva dalla pagina: una pagina, una keyword, un intento. Funziona ancora, ma è metà del lavoro. L’altra metà è l’entità: chi sei, cosa sai fare, con chi sei collegato, cosa hai fatto di verificabile.
I motori generativi non ragionano per pagine, ragionano per entità e relazioni. Se non sanno chi sei, non importa quanto è ottimizzata la singola pagina: non hanno un motivo per fidarsi di te abbastanza da citarti.
Così ho costruito il sito attorno a un’entità coerente prima ancora che attorno ai contenuti.
Un solo nodo Person, referenziato via @id
Ogni pagina emette un grafo JSON-LD, ma il nodo Person che mi descrive è definito una volta
sola, con un @id stabile. Tutte le altre pagine — un post, la pagina di un progetto — non lo
ridichiarano: lo referenziano via @id.
Il risultato è che un crawler che aggrega i miei dati non trova cinque versioni diverse di “Simone Bussoni” con dettagli leggermente diversi. Ne trova una, consistente, ovunque. La consistenza è fiducia, e la fiducia è ciò che fa la differenza tra essere indicizzati ed essere citati.
Nello stesso nodo ho messo geografia dettagliata (dove sono nato, dove vivo, dove lavoro),
knowsAbout esplicito e un sameAs che è una whitelist: solo i profili che rappresentano
davvero la mia identità professionale. Niente “per completezza”.
Contenuti citabili: il TL;DR in cima
Ogni post — questo compreso — inizia con un TL;DR. Non è pigrizia verso il lettore: è il blocco progettato per essere estratto. Le AI citano chi prende posizione con chiarezza in poche righe, non chi annega la tesi in tremila parole.
Se una macchina deve riassumere questo pezzo in due frasi, gliele ho già scritte io. Meglio che le scriva io.
/llms.txt e le versioni Markdown
Due dettagli tecnici che costano poco e dicono molto:
/llms.txt: un indice in Markdown, curato a mano, che spiega in tre righe chi sono e linka le pagine chiave. È ilrobots.txtdell’era degli LLM: un punto d’ingresso pensato per le macchine.- Versione Markdown di ogni pagina: accanto a ogni contenuto HTML c’è la stessa pagina in
Markdown pulito, dichiarata nell’head con
rel="alternate" type="text/markdown". Niente navigazione, niente rumore: solo il testo, come piace a un modello.
Nel robots.txt ho poi consentito esplicitamente GPTBot, ClaudeBot, PerplexityBot e Google-Extended.
È una scelta deliberata: l’obiettivo non è difendersi dalle AI, è essere citati.
Le scelte “noiose” che rendono tutto più veloce
- Niente CMS con database. I contenuti sono file nel repository. Meno superficie d’attacco, meno cose che si rompono, deploy statico.
- Niente tracciamento prima del consenso. Consent Mode v2 con default
denied: se non accetti, non parte nemmeno un cookie. Il sito funziona identico. - 100 di Lighthouse come vincolo, non come obiettivo. Font self-hosted e in subset, zero JavaScript di framework, immagini responsive. La velocità è parte del messaggio: un sito lento su performance non è credibile quando parli di performance.
Perché raccontarlo
Perché è il modo più onesto di dimostrare una competenza: farla, e mostrare il dietro le quinte. Questo sito è la mia tesi sull’AI search scritta in HTML, JSON-LD e Markdown invece che in slide.
Se ti interessa il tema, ne parlo più in generale nella pillar SEO & AI Search.