Crawler e log

robots.txt e IA: bloccare GPTBot non blocca ChatGPT

Tre ampie bande parallele, sfalsate e segmentate, occupano un fondo blu navy profondo, con grana marcata e difetti di stampa che evocano la sovrapposizione di più filtri o ruoli distinti.

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.

Tre bande parallele nitide di colori diversi attraversano un fondo verde petrolio, con sfasamenti di stampa e grana marcata, a suggerire le distinzioni tra i vari tipi di controllo dell'accesso e della scansione dei robot web.

La tabella dei token, e che cosa implica ciascun blocco

Token robots.txtOperatoreRuoloSe lo bloccate
GPTBotOpenAIAddestramentoNessun uso in addestramento, citazione sempre possibile
OAI-SearchBotOpenAIIndice di ricerca ChatGPTLe vostre pagine spariscono dai risultati e dalle citazioni di ChatGPT
ChatGPT-UserOpenAILettura su richiesta di un utenteUn utente non può più far leggere la vostra pagina in una conversazione
ClaudeBot / Claude-SearchBot / Claude-UserAnthropicGli stessi tre ruoliStesse conseguenze, lato Claude
PerplexityBot / Perplexity-UserPerplexityIndice / lettura su richiestaSparizione dalle risposte di Perplexity / lettura impossibile
Google-ExtendedGoogleToken di controllo dell'addestramento di GeminiNessun effetto sulla ricerca né sugli AI Overviews
Applebot-ExtendedAppleToken di controllo dell'addestramentoNessun effetto su Applebot (Siri, Spotlight)
CCBotCommon CrawlArchivio apertoEsclusione 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:

  1. 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.
  2. 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.
  3. 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.
Bande parallele sovrapposte, interrotte al centro, su fondo blu notte con un accento giallo, a evocare la differenziazione delle posizioni editoriali e la rottura involontaria della coerenza.

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.

Bande parallele blu navy attraversano un fondo arancione acceso, interrotte da piccoli tagli irregolari; la composizione evoca l'analisi delle tracce lasciate o assenti nei log di un server.
Yann Léguillon

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.