robots.txt per crawler AI: consentire o bloccare GPTBot, ClaudeBot e PerplexityBot
Risposta breve: Un robots.txt per crawler AI stabilisce, bot per bot, se un sistema di intelligenza artificiale può leggere il tuo sito. I bot sono di tre tipi: quelli di addestramento (GPTBot, ClaudeBot), quelli di ricerca (OAI-SearchBot, Claude-SearchBot, PerplexityBot) e quelli che aprono una pagina perché lo ha chiesto un utente (ChatGPT-User, Claude-User). Se vuoi poter essere citato nelle risposte di ricerca delle AI, consenti i bot di ricerca. Se permettere o no l'addestramento lo decidi tu. Un solo file piccolo regola tutto, ma un errore minimo nella sua struttura rende le regole inutili.
Perché il robots.txt per crawler AI richiede più di una regola
Un tempo bastava User-agent: *. Con l'AI è troppo grossolano, perché la stessa azienda usa bot diversi per compiti diversi. Lo dice la stessa OpenAI: ogni impostazione è indipendente dalle altre. Puoi consentire OAI-SearchBot, così il tuo sito può comparire nei risultati di ricerca di ChatGPT, e bloccare GPTBot, così i tuoi contenuti non sono destinati all'addestramento dei modelli di base di OpenAI (OpenAI).
Ne segue che chi blocca solo GPTBot sperando di sparire da ChatGPT ottiene qualcosa di diverso da ciò che si aspetta. E chi blocca tutto per prudenza chiude la porta anche ai bot che potrebbero citarlo nelle risposte.
I tre tipi di crawler AI
| Tipo | Bot | Cosa succede se li blocchi |
|---|---|---|
| Addestramento | GPTBot (OpenAI), ClaudeBot (Anthropic), Google-Extended (Google) | Indichi che i tuoi contenuti non vanno usati per l'addestramento. La Ricerca Google non ne risente |
| Ricerca | OAI-SearchBot (OpenAI), Claude-SearchBot (Anthropic), PerplexityBot (Perplexity) | Il tuo sito non compare, o compare meno, nelle risposte di ricerca di quel servizio |
| Su richiesta dell'utente | ChatGPT-User (OpenAI), Claude-User (Anthropic) | Per OpenAI le regole del robots.txt possono non valere, perché a chiedere è una persona. Anthropic dice che puoi controllare Claude-User e che bloccarlo può ridurre la visibilità nella ricerca guidata dall'utente |
Ecco, in breve, che cosa scrivono i gestori stessi:
- OpenAI: i siti che escludono OAI-SearchBot non compaiono nelle risposte di ricerca di ChatGPT, ma possono comunque apparire come link di navigazione. Dopo una modifica al robots.txt servono circa 24 ore prima che i sistemi si adeguino.
- Anthropic: limitare ClaudeBot è un segnale che il materiale futuro va escluso dai dati di addestramento. Se disattivi Claude-SearchBot o Claude-User, la tua visibilità nei risultati di ricerca può calare. Anthropic rispetta il robots.txt, non aggira i CAPTCHA e supporta la riga non standard
Crawl-delay(Anthropic). - Perplexity: PerplexityBot serve a mostrare e collegare i siti nei risultati di ricerca di Perplexity. Non viene usato per raccogliere contenuti per i modelli di base, e Perplexity consiglia di consentirlo (Perplexity).
- Google: Google-Extended non è un bot a sé, ma un token nel robots.txt. Controlla se i contenuti sottoposti a scansione da Google possono servire ad addestrare i futuri modelli Gemini e per il grounding. Non influisce sull'inclusione nella Ricerca Google e non è un segnale di ranking (Google).
I gestori modificano i loro elenchi. Controlla queste pagine prima di copiare una regola.
Tre esempi da adattare
1. Consentire tutto, tenere chiusa solo l'API interna. È l'approccio di seogrinder.com: un solo gruppo con più righe User-agent sopra un unico insieme di regole.
User-agent: *
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Disallow: /api/
Allow: /
Sitemap: https://www.example.com/sitemap.xml
2. Consentire la ricerca, rifiutare l'addestramento.
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
Disallow: /
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
È una scelta del proprietario, non una raccomandazione. Se vuoi che i tuoi contenuti siano usati il più possibile, scegli l'esempio 1. Nota che Google-Extended copre, oltre all'addestramento, anche il grounding in Gemini Apps e su Vertex AI. Non riguarda né la Ricerca Google né le AI Overviews.
3. Rifiutare tutti i bot AI. Inserisci Disallow: / sotto ogni bot elencato sopra. Comparirai meno spesso, o per niente, nelle risposte di ricerca di ChatGPT, Claude e Perplexity (link di navigazione e richieste fatte da un utente restano possibili). Le AI Overviews di Google si controllano tramite Googlebot, non tramite questi identificatori. Ha senso solo se è proprio ciò che vuoi.
La trappola: il gruppo di un bot sostituisce il gruppo con *
Secondo l'RFC 9309, un crawler segue il gruppo che corrisponde al suo nome. Se ne ha uno proprio, il gruppo con * per lui non vale (RFC 9309).
Un esempio: sotto User-agent: * c'è Disallow: /interno/. Più tardi aggiungi un gruppo a parte per GPTBot che contiene solo Allow: /. Ora /interno/ non è più off limits per GPTBot. Ripeti le regole in ogni gruppo, oppure metti più righe User-agent sopra lo stesso insieme di regole, come negli esempi qui sopra.
Altre due regole della stessa specifica aiutano quando le regole entrano in conflitto: vale la corrispondenza più specifica (il percorso più lungo) e, se Allow e Disallow hanno la stessa lunghezza, vale Allow.
Una riga facoltativa per dichiarare come usare i contenuti: Content-Signal
Oltre a consentire e bloccare esiste una riga facoltativa, introdotta da Cloudflare a settembre 2025. Dichiara per quali scopi possono essere usati i tuoi contenuti:
Content-Signal: search=yes, ai-input=yes, ai-train=no
search riguarda indici di ricerca e snippet, ai-input l'uso diretto dei contenuti nelle risposte delle AI e ai-train l'addestramento. È una dichiarazione, non un lucchetto: il rispetto è volontario. Cloudflare afferma che i content signal esprimono preferenze, che non sono contromisure tecniche e che alcune aziende potrebbero semplicemente ignorarli (Cloudflare).
Si lavora anche sugli standard. La documentazione di Google sui crawler indica che Google intende supportare all'inizio del 2027 AIPREF, il segnale comune e leggibile dalle macchine per le preferenze di addestramento, scritto come user-agent: __usage_ai-training (Google). Fino ad allora Google-Extended resta l'interruttore per l'addestramento e il grounding di Gemini.
Il robots.txt non è una protezione
La specifica lo dice chiaramente: il protocollo non sostituisce vere misure di sicurezza, e i percorsi elencati nel robots.txt sono visibili a tutti. Un bot che ignora le regole non viene fermato dal tuo file. Per i contenuti che non devono essere pubblici servono un login o regole del firewall. Anthropic avverte inoltre che bloccare per indirizzo IP non funziona in modo affidabile come opt-out, perché così il suo bot non riesce più a leggere il tuo robots.txt.
Come controllare il robots.txt per i crawler AI
- Apri
https://tuosito.it/robots.txtnel browser. Ogni sottodominio ha un file proprio. - Apri SEOgrinder, inserisci l'indirizzo e avvia l'analisi. Non serve un account.
- Vai alla scheda Preparazione all'IA e cerca, sotto «Controlli per agenti IA», il punto «Governare i bot IA». Se è soddisfatto, la riga indica quanti crawler AI sono regolati, quanti sono ammessi e quanti bloccati. Se è aperto, non è stata trovata nessuna regola esplicita per addestramento e ricerca.
- Un punto soddisfatto si può aprire: mostra il testo trovato nel tuo file.
- Premi Copia il prompt per l’agente e incollalo nel tuo assistente di coding. Se manca una regola, il prompt descrive che cosa aggiungere; se c'è già, chiede all'assistente di verificarla e di cambiare solo ciò che è sbagliato. Consentire o bloccare resta una decisione del proprietario.
- Dopo la modifica premi Ricontrolla. I report restano nella cache fino a 24 ore; questo pulsante forza una nuova esecuzione (alcune volte all'ora).
Calcola circa un giorno prima che i sistemi di OpenAI e Perplexity applichino le nuove regole.
Riconoscere le visite vere: log e intervalli di IP
Se un bot visita davvero il tuo sito lo vedi nei log del server, nello user agent. Poiché chiunque può farsi chiamare GPTBot, i gestori pubblicano intervalli di IP per il confronto: OpenAI li elenca per ogni bot come file JSON, per esempio openai.com/gptbot.json, e Anthropic rimanda a un elenco proprio. Se una visita non proviene da quegli intervalli, molto probabilmente non è di quel gestore, anche se il nome coincide. Torna utile se vuoi analizzare le visite o intercettare bot falsi in un firewall. Tieni però presente l'avvertimento di Anthropic: non bloccare i bot veri tramite i loro indirizzi IP, altrimenti non possono più leggere il tuo robots.txt.
Errori frequenti
- Lasciare
Disallow: /per tutti. Un sito di staging va online con il blocco dell'ambiente di test ancora nel robots.txt. Controlla a ogni pubblicazione. - Bloccare solo GPTBot per uscire da ChatGPT. Così regoli l'addestramento, non la ricerca.
- Una riga vuota dentro un gruppo. Alcuni parser, come il robotparser di Python, scartano allora i nomi che stanno sopra. Tieni le righe
User-agentuna subito sotto l'altra. - Una riga Sitemap con indirizzo relativo. Scrivi l'indirizzo completo con
https://. - Il file nel posto sbagliato. Deve stare nella radice:
/robots.txt, non in una sottocartella. - Aspettarsi troppo da Content-Signal e llms.txt. Entrambi sono facoltativi e un effetto su ranking o citazioni non è dimostrato. Su llms.txt trovi i dettagli in llms.txt: cos'è, come crearlo e se serve davvero.
Domande frequenti
Devo consentire i crawler AI?
Dipende dal tuo obiettivo. Se vuoi poter essere citato nelle risposte di ricerca delle AI, consenti i bot di ricerca. Permettere o rifiutare l'addestramento è una decisione aziendale, e le due impostazioni si possono regolare separatamente.
Sparisco da Google se blocco Google-Extended?
No. Google afferma che Google-Extended non influisce sull'inclusione nella Ricerca Google e non è un segnale di ranking.
Quanto ci mette a funzionare una modifica?
OpenAI e Perplexity indicano entrambe fino a circa 24 ore dopo la modifica del robots.txt.
llms.txt è la stessa cosa del robots.txt?
No. Il robots.txt controlla l'accesso. llms.txt è un file proposto, con un riassunto del tuo sito per i modelli linguistici. Secondo resoconti di seconda mano, Google non lo supporta (Search Engine Roundtable). Un effetto non è dimostrato.
Posso impostare regole diverse per cartelle diverse?
Sì. All'interno di un gruppo imposti Disallow e Allow per ogni percorso. Vince la corrispondenza più specifica.
Il prossimo passo
Apri il tuo robots.txt e verifica di non aver bloccato per sbaglio i bot di ricerca. Poi fai la scansione gratuita e controlla se «Governare i bot IA» risulta soddisfatto nella scheda Preparazione all'IA: significa che addestramento e ricerca hanno ciascuno una regola esplicita. Se la regola consente o blocca, lo dice il rilievo.