robots.txt e IA: bloccare GPTBot non blocca ChatGPT
Nel 2023, quando OpenAI ha pubblicato il nome del suo robot di addestramento, migliaia di siti hanno aggiunto due righe al proprio file robots.txt: User-agent: GPTBot e poi Disallow: /. Da allora molti credono che ChatGPT non possa più leggere le loro pagine. È falso, e la confusione nasce da una realtà che gli operatori di IA documentano invece con chiarezza: non inviano un robot, ma diversi, ciascuno con un ruolo e un token distinti. Bloccarne uno non blocca gli altri.
Più robot, più ruoli, presso ogni fornitore
In casa OpenAI, stando alla sua documentazione dei robot:
- GPTBot raccoglie pagine che possono servire ad addestrare i modelli. È il solo il cui blocco protegge dall'uso in addestramento.
- OAI-SearchBot alimenta l'indice della ricerca integrata in ChatGPT. Bloccarlo toglie le vostre pagine dai risultati di ricerca di ChatGPT, e quindi dalle citazioni che ne derivano.
- ChatGPT-User va a prendere una pagina precisa quando un utente ne fa richiesta in una conversazione, per esempio incollando una URL o ponendo una domanda che innesca una lettura. Non percorre il web in modo autonomo.
Anthropic applica la stessa separazione, descritta nella sua pagina di aiuto dedicata ai robot: ClaudeBot per l'addestramento, Claude-SearchBot per l'indice di ricerca, Claude-User per i recuperi richiesti da un utente. Perplexity documenta PerplexityBot (indice) e Perplexity-User (recupero su richiesta) nella sua documentazione dei crawler.
Google e Apple: un token di controllo separato dal robot
Google funziona diversamente. Googlebot resta l'unico robot che esplora le pagine per la ricerca, e sono quelle stesse pagine ad alimentare gli AI Overviews. Il controllo dell'uso in addestramento passa da un token distinto, Google-Extended, che non è un robot ma una direttiva letta da Googlebot, come spiega l'elenco dei crawler comuni di Google. Google precisa che questo token non cambia nulla nell'indicizzazione delle pagine. Apple procede allo stesso modo con Applebot-Extended, token documentato nel suo articolo di assistenza su Applebot, che controlla l'uso in addestramento senza toccare Applebot stesso.
A questo elenco va aggiunto CCBot, il robot di Common Crawl, i cui archivi aperti hanno fornito la materia prima a numerosi modelli. Bloccare CCBot è la leva più ampia contro l'addestramento da parte di attori che non hanno un robot proprio.
La tabella dei token, e che cosa implica ciascun blocco
| Token robots.txt | Operatore | Ruolo | Se lo bloccate |
|---|---|---|---|
| GPTBot | OpenAI | Addestramento | Nessun uso in addestramento, citazione sempre possibile |
| OAI-SearchBot | OpenAI | Indice di ricerca ChatGPT | Le vostre pagine spariscono dai risultati e dalle citazioni di ChatGPT |
| ChatGPT-User | OpenAI | Lettura su richiesta di un utente | Un utente non può più far leggere la vostra pagina in una conversazione |
| ClaudeBot / Claude-SearchBot / Claude-User | Anthropic | Gli stessi tre ruoli | Stesse conseguenze, lato Claude |
| PerplexityBot / Perplexity-User | Perplexity | Indice / lettura su richiesta | Sparizione dalle risposte di Perplexity / lettura impossibile |
| Google-Extended | Token di controllo dell'addestramento di Gemini | Nessun effetto sulla ricerca né sugli AI Overviews | |
| Applebot-Extended | Apple | Token di controllo dell'addestramento | Nessun effetto su Applebot (Siri, Spotlight) |
| CCBot | Common Crawl | Archivio aperto | Esclusione dagli archivi futuri, non da quelli passati |
Che cosa robots.txt può fare e che cosa non può fare
Il protocollo è oggi normalizzato dalla RFC 9309. Tre delle sue regole spiegano la maggior parte delle sorprese:
- Il file viene letto soltanto alla radice dell'host. È l'host e non il dominio: un robots.txt servito su esempio.it non governa blog.esempio.it, che è un host distinto. Un robots.txt collocato in una sottodirectory, per esempio sotto un percorso /blog/ ospitato altrove, non viene mai consultato. Le direttive che contiene, comprese le dichiarazioni di sitemap, sono invisibili a tutti i robot. Su una testata montata come sottopercorso di un sito principale, fa fede il robots.txt del sito principale.
- Il gruppo più specifico prevale, e sostituisce il gruppo generico. Un gruppo User-agent: GPTBot che contiene soltanto Disallow: / non eredita le regole del gruppo User-agent: *. Se il gruppo generico vietava faccette o file, il robot nominato vi ha di nuovo accesso. È un errore frequente quando si accumulano gruppi per robot nel corso dei mesi.
- Il file è un'indicazione, non una barriera. Gli editori citati qui dichiarano di rispettarlo. Un attore che non dichiara il proprio nome sfugge a qualsiasi regola nominale. Per bloccare davvero, occorre agire a livello di server o di firewall, con gli effetti collaterali che descriviamo nell'articolo sul punto cieco dei blocchi all'edge.
Quale politica scegliere
La decisione è editoriale prima ancora che tecnica. Tre posizioni si difendono:
- Aprire tutto. Il sito accetta l'addestramento e la citazione. È la posizione predefinita di una testata che cerca visibilità, anche dentro i modelli stessi.
- Rifiutare l'addestramento, accettare la citazione. Si bloccano GPTBot, ClaudeBot, CCBot e si vietano Google-Extended e Applebot-Extended, lasciando passare OAI-SearchBot, Claude-SearchBot, PerplexityBot e i robot «User». È la posizione di un editore che vuole essere citato senza nutrire gratuitamente i modelli.
- Chiudere tutto. Il sito rinuncia alla visibilità nelle IA. È difendibile per una intranet o per un contenuto a pagamento, non per una testata che vuole pesare su una SERP o su una risposta generata.
La seconda posizione è diffusa tra gli editori della stampa, e spesso male applicata: nella pratica, molti hanno vietato con un unico gesto tutto ciò che conteneva «GPT» o «Claude», quindi anche i robot di ricerca e di lettura. Il risultato è un sito assente dalle risposte generate, senza che nessuno in redazione lo abbia deciso.
Verificare invece di supporre
Il controllo si riduce a due gesti. Prima rileggere il file robots.txt così come viene servito alla radice, token per token, tenendo sott'occhio la tabella qui sopra. Poi aprire i log del server per vedere quali robot arrivano davvero, con quale frequenza, e quali ricevono un codice 403 o 404. Un robot di IA che non compare mai nei log non è necessariamente assente: può essere stato fermato a monte da un firewall, prima di raggiungere il server. Questa verifica è descritta passo per passo in «Leggere un access log in 30 minuti».
Per la parte Google, la Search Console fornisce un rapporto robots.txt che mostra l'ultima versione letta da Googlebot, la sua data di recupero e gli eventuali errori di analisi; la presentazione di robots.txt fatta da Google ne descrive l'uso. Per gli altri editori non esiste un equivalente: fanno fede i log, e un test manuale con lo user-agent di ciascun robot resta il modo più sicuro per verificare che cosa il server risponde davvero.
Una testata che vuole essere citata non può affidarsi a un file scritto due anni fa. I token cambiano, i robot si moltiplicano, e una riga aggiunta per precauzione un giorno del 2023 può costare tutta la presenza nelle risposte delle IA nel 2026.
Scritto da
Yann Léguillon
Presidente di Mazette, l'editore di Joornal. Accompagna le aziende che costruiscono la propria testata: strutturazione editoriale, visibilità nei motori di ricerca e nelle IA, produzione su larga scala.