Sempre più persone fanno una domanda a ChatGPT, Perplexity o Gemini invece di cercarla su Google. La risposta arriva già scritta, con due o tre fonti citate in fondo. Se il tuo sito non è tra quelle fonti, per quella persona semplicemente non esiste.
La disciplina che si occupa di questo si chiama GEO, Generative Engine Optimization. Attorno ci sono molto rumore e parecchie promesse. Qui trovi la parte concreta: cosa deve fare un sito, tecnicamente, per essere letto e citato dai motori generativi. Sono le stesse verifiche che ho aggiunto al mio tool open source di audit SEO tecnico, quindi ogni punto è controllabile.
Cos'è la GEO, e cosa cambia rispetto alla SEO
La SEO lavora per farti comparire in una lista di risultati. La GEO lavora per farti comparire dentro una risposta: come fonte citata, come link consigliato, o come informazione riportata correttamente.
La buona notizia è che non si ricomincia da zero. Quando un assistente AI risponde su un tema attuale, di solito non pesca dalla "memoria" del modello: fa una ricerca vera, legge alcune pagine e le riassume. Non sempre, però: nella mia analisi su 72 domande sugli hotel di Venezia ChatGPT ha cercato sul web nel 72% dei casi e Gemini nel 54%, mentre Perplexity cercava sempre. Per trovare quelle pagine si appoggia a un indice di ricerca, il proprio o quello di un motore tradizionale. Un sito che Google e Bing non riescono a leggere bene difficilmente verrà letto bene da un assistente AI.
La GEO quindi parte dalla SEO tecnica e aggiunge alcuni punti specifici. Sono cinque, e li vediamo in ordine di impatto.
1. Non bloccare i bot sbagliati
Ogni azienda AI usa crawler diversi per scopi diversi, e questa distinzione è la cosa più fraintesa di tutta la GEO. Alcuni bot raccolgono testi per addestrare i modelli. Altri leggono le pagine per rispondere in tempo reale alle domande degli utenti. Bloccare i primi è una scelta editoriale legittima. Bloccare i secondi ti fa sparire dalle risposte.
| Bot | Di chi è | A cosa serve | Se lo blocchi |
|---|---|---|---|
OAI-SearchBot | OpenAI | Ricerca di ChatGPT | Non compari come fonte in ChatGPT |
ChatGPT-User | OpenAI | Pagine aperte su richiesta dell'utente | ChatGPT non può leggere la pagina quando qualcuno gliela chiede |
GPTBot | OpenAI | Addestramento dei modelli | Nessun effetto sulle risposte con ricerca |
PerplexityBot | Perplexity | Indice di ricerca di Perplexity | Non compari come fonte in Perplexity |
Claude-SearchBot | Anthropic | Ricerca di Claude | Meno visibilità nelle risposte di Claude |
ClaudeBot | Anthropic | Addestramento dei modelli | Nessun effetto sulle risposte con ricerca |
Google-Extended | Uso dei contenuti per Gemini | Nessun effetto su Google Search | |
CCBot | Common Crawl | Archivio pubblico usato per l'addestramento | Nessun effetto sulle risposte con ricerca |
Due errori che vedo spesso:
- Liste "anti-AI" copiate online. Molti robots.txt contengono blocchi presi da qualche guida, che mettono insieme bot di addestramento e bot di ricerca. Risultato: il sito si toglie dalle risposte di ChatGPT o Perplexity senza volerlo.
- Google-Extended bloccato per paura del posizionamento. Google-Extended non ha nessun effetto sul ranking in Google Search, né sulle AI Overviews, che fanno parte della ricerca e seguono le regole di Googlebot. Bloccarlo decide solo se i tuoi contenuti possono essere usati da Gemini.
Se vuoi restare visibile nelle risposte ma non contribuire all'addestramento, un robots.txt ragionevole è questo:
# Addestramento dei modelli: no
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
Disallow: /
# Tutti gli altri, compresi i bot di ricerca AI: sì
User-agent: *
Allow: /
Non basta guardare il robots.txt. Diversi CDN e firewall, Cloudflare in testa, hanno opzioni per bloccare i bot AI a livello di rete, e sui domini configurati di recente possono essere attive di default. Un bot fermato lì non arriva nemmeno a leggere il robots.txt. Se usi un CDN, controlla anche le impostazioni sulla gestione dei bot.
2. Il contenuto deve esserci senza JavaScript
Questo è il punto che separa di più SEO e GEO. Googlebot esegue JavaScript: può aprire una pagina costruita dal browser e leggerne il contenuto finale. La maggior parte dei crawler AI no. Un'analisi pubblicata da Vercel a fine 2024 ha mostrato che i crawler di OpenAI e Anthropic scaricano i file JavaScript ma non li eseguono. Leggono l'HTML così come arriva dal server.
Tutto ciò che compare solo dopo il JavaScript, per loro, non esiste: testi, prezzi, FAQ caricate al clic, a volte persino il titolo della pagina. È un problema frequente nei siti costruiti come applicazioni lato client (React, Vue o Angular senza rendering lato server) e in alcuni page builder.
Come verificarlo in 30 secondi. Apri la pagina, premi Ctrl+U (o Cmd+Option+U su Mac) per vedere il sorgente, e cerca con Ctrl+F una frase del contenuto principale. Se nel sorgente non c'è, un crawler AI non la vede. Da terminale è ancora più diretto:
curl -s https://tuosito.it/pagina | grep -c "una frase del contenuto"
Se il risultato è 0, la frase arriva solo con il JavaScript.
Come si risolve. Il contenuto deve essere generato sul server, con rendering lato server o pagine statiche. I framework moderni (Next.js, Nuxt, Astro, SvelteKit) lo fanno di serie, se configurati bene. I CMS tradizionali come WordPress servono già HTML completo, salvo blocchi o widget che caricano il testo dopo.
Nel mio tool il comando render-diff fa questo confronto su un campione di pagine. Misura quanta parte del testo e dei link è visibile senza JavaScript e segnala gli elementi SEO che compaiono solo dopo: title, H1, meta description, canonical, dati strutturati.
3. Scrivi in modo che un pezzo si possa estrarre
Un motore generativo non cita la tua pagina intera: ne prende un passaggio. Più i fatti sono separati e chiari, più è facile che quel passaggio sia il tuo, e che venga riportato giusto.
- Prima la risposta, poi il contesto. Se il titolo è una domanda, la prima frase sotto deve rispondere. Le premesse lunghe fanno perdere il passaggio utile.
- Titoli che dicono di cosa parla la sezione. "Quanto costa un e-commerce" funziona, "Parliamo di numeri" no.
- Liste e tabelle per i fatti. Prezzi, confronti, requisiti, passaggi: un fatto dentro una tabella è un'unità discreta, lo stesso fatto sciolto in un paragrafo va interpretato.
- Numeri, nomi e definizioni espliciti. "Consegna in 3-5 giorni lavorativi" è citabile, "consegna rapida" no.
- Il contenuto principale dentro
mainoarticle. Questi tag HTML separano il contenuto da menu, footer e banner, e aiutano qualunque parser a capire cosa leggere.
Nessuno di questi punti è un trucco: sono le stesse regole che rendono un testo più chiaro per chi legge. La differenza è che un modello le premia in modo più meccanico.
4. Fai capire chi ha scritto cosa, e quando
I motori generativi cercano di citare fonti affidabili e aggiornate, e per giudicarlo usano gli stessi segnali di Google. Sugli articoli e sulle guide contano tre informazioni, visibili nella pagina e presenti nei dati strutturati:
- L'autore: una persona o un'organizzazione con un nome, meglio se collegata a una pagina che spiega chi è.
- La data di pubblicazione (
datePublished). - La data dell'ultimo aggiornamento (
dateModified). È quella che più spesso manca, ed è la più importante per le domande in cui la freschezza conta: prezzi, normative, versioni di software.
Un articolo del 2023 senza data di aggiornamento, su un tema che cambia ogni anno, parte svantaggiato rispetto a uno che dichiara di essere stato rivisto il mese scorso.
5. Dati strutturati: utili, ma non magici
I dati strutturati (il JSON-LD con i tipi di Schema.org) aiutano i motori di ricerca a capire di cosa parla una pagina: un prodotto con prezzo, un'azienda con indirizzo, un articolo con autore. Visto che le risposte AI si appoggiano agli indici di ricerca, restano utili anche per la GEO.
Quello che invece non è dimostrato è che un assistente AI, quando apre la pagina, legga il JSON-LD invece del testo visibile. È una delle cose che sto misurando in questo periodo. Nel frattempo la regola prudente è semplice: ogni fatto importante deve stare nel testo visibile, e i dati strutturati lo ripetono, non lo sostituiscono.
E il file llms.txt?
llms.txt è una proposta di standard: un file di testo nella radice del sito che riassume per i modelli linguistici cosa contiene il sito e dove trovare le pagine principali. È comodo per la documentazione tecnica, e diversi strumenti per sviluppatori lo usano.
Detto questo, ad oggi nessuno dei grandi motori generativi ha confermato di usarlo per decidere cosa citare. Aggiungerlo costa poco e non fa danni, ma non è il punto da cui partire: un robots.txt sbagliato o un contenuto invisibile senza JavaScript pesano molto di più.
Come capire se sta funzionando
La GEO si misura peggio della SEO, perché non esiste ancora un equivalente di Search Console per le risposte AI. Qualche segnale però c'è:
- Traffico dai motori AI. In Google Analytics filtra le sorgenti di traffico per
chatgpt.com,perplexity.ai,gemini.google.comecopilot.microsoft.com. ChatGPT aggiunge ancheutm_source=chatgpt.comai link che fornisce. - Visite dei bot nei log del server. Se i bot di ricerca AI non passano mai, il problema è a monte: blocchi, firewall o pagine che non trovano.
- Prove dirette. Fai agli assistenti le domande a cui il tuo sito dovrebbe rispondere, e guarda chi citano. Non è una misura statistica, ma dice molto.
- Search Console per le AI Overviews. Le impressioni e i clic che arrivano dalle risposte AI di Google sono conteggiati nel normale rapporto Rendimento, senza un filtro separato.
La checklist in breve
- Il robots.txt non blocca
OAI-SearchBot,PerplexityBot,Claude-SearchBote gli altri bot di ricerca AI. - Il CDN o il firewall non bloccano i bot AI a livello di rete.
- Title, H1 e contenuto principale sono nell'HTML servito, senza bisogno di JavaScript.
- Le sezioni rispondono subito alla domanda del titolo, con liste e tabelle per i fatti.
- Il contenuto principale è dentro
mainoarticle. - Gli articoli dichiarano autore, data di pubblicazione e data di aggiornamento.
- I dati strutturati sono corretti e ripetono fatti che sono anche nel testo.
Come controllare il tuo sito
I punti 1, 3, 5 e 6 sono controlli automatizzabili, e li ho aggiunti ad audit-seo-tecnico, il mio tool open source di audit SEO tecnico. Distingue i bot AI di addestramento da quelli di ricerca e segnala se un blocco è voluto o è l'effetto collaterale di una regola generica. Misura quanto contenuto è visibile senza JavaScript, e verifica struttura semantica e autorialità degli articoli. Ne ho raccontato la nascita in questo articolo.
Se preferisci non usare il terminale, parti dalla base: l'audit SEO gratuito online controlla indicizzazione, robots.txt, dati strutturati e velocità su fino a 30 pagine, con un report in italiano in un paio di minuti. Senza una base tecnica sana nessuna ottimizzazione per i motori AI può funzionare. E se vuoi un'analisi GEO completa, con la misura di cosa cercano e citano i motori AI nel tuo settore, trovi qui come lavoro sulla consulenza GEO.