robots.txt per i crawler di IA: cosa consentire, cosa bloccare
Dai a ogni crawler di IA che ti interessa un gruppo User-agent tutto suo. Consenti i crawler di ricerca come OAI-SearchBot, Claude-SearchBot e PerplexityBot se vuoi essere citato, e decidi separatamente sui token di addestramento come GPTBot, ClaudeBot, Google-Extended e Applebot-Extended. Un gruppo con nome sostituisce il gruppo * per quel crawler.
Il robots.txt è un semplice file di testo che risale al 1994 ed è diventato uno standard formale, la RFC 9309, nel 2022. La maggior parte dei fornitori di IA dichiara che i propri crawler lo rispettano, e diversi pubblicano token separati per la ricerca e per l'addestramento. Questo lo rende il posto più semplice dove dichiarare una politica sull'IA, a patto che le regole significhino ciò che pensi.
In questa pagina
- Quali token del robots.txt usano i crawler di IA?
- Com'è fatto un buon robots.txt per l'IA?
- Come scelgono i crawler quali regole li riguardano?
- Quali sono gli errori più comuni nel robots.txt?
- Posso dichiarare una politica sull'uso dell'IA oltre ad allow e disallow?
- Quanto tempo richiedono le modifiche e come le verifico?
Quali token del robots.txt usano i crawler di IA?
Questi sono i token documentati dai fornitori. Il confronto non distingue maiuscole e minuscole secondo la RFC 9309.
- OpenAI:
OAI-SearchBot(ricerca di ChatGPT),GPTBot(addestramento),ChatGPT-User(visite richieste dall'utente; OpenAI dice che il robots.txt potrebbe non valere). - Anthropic:
Claude-SearchBot(ricerca),ClaudeBot(addestramento),Claude-User(visite richieste dall'utente). - Perplexity:
PerplexityBot(ricerca),Perplexity-User(visite richieste dall'utente; Perplexity dice che in genere ignora il robots.txt). - Google:
Googlebot(Search, comprese le sue funzioni di IA) eGoogle-Extended, un token senza un crawler proprio che controlla l'uso per l'addestramento e il grounding di Gemini. - Apple:
Applebot(Spotlight, Siri, ricerca di Safari) eApplebot-Extended, che non scansiona ma controlla l'uso per l'addestramento dei modelli di base di Apple. - Meta:
meta-externalagent(addestramento e indicizzazione dei prodotti) emeta-webindexer(ricerca di Meta AI). - Common Crawl:
CCBot, che costruisce l'archivio pubblico e gratuito di dati del web di Common Crawl.
Com'è fatto un buon robots.txt per l'IA?
Questo esempio fa entrare la ricerca con IA e i download su richiesta dell'utente, esclude i principali token di addestramento e tiene chiusa per tutti un'area privata:
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Allow: /
Disallow: /account/
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
Più righe User-agent consecutive formano un unico gruppo, quindi le regole sotto si applicano a ciascuno di quei crawler. Se vuoi che i tuoi contenuti siano usati per l'addestramento, ti basta omettere il secondo gruppo. Bloccare Google-Extended non influisce su Google Search: Google dice che non incide sull'inclusione in Search e non è un segnale di posizionamento. Allo stesso modo, Apple afferma che le pagine che vietano Applebot-Extended possono comunque comparire nei suoi risultati di ricerca.
Come scelgono i crawler quali regole li riguardano?
La RFC 9309 lo definisce con precisione, e i dettagli spiegano la maggior parte delle sorprese:
- Un crawler cerca il gruppo il cui
User-agentcorrisponde al suo token di prodotto, senza distinguere maiuscole e minuscole. Se più gruppi corrispondono, le loro regole vengono unite in una sola. - Solo se nessun gruppo corrisponde, il crawler segue il gruppo
User-agent: *. Un gruppo con nome non eredita nulla da*. - All'interno del gruppo vince la regola con il percorso corrispondente più lungo.
Allow: /blog/prevale suDisallow: /per/blog/post. - Se una regola
Allowe unaDisallowcorrispondono con la stessa lunghezza, va usataAllow. *in un percorso corrisponde a qualsiasi carattere e$ancora la fine, quindiDisallow: /*.pdf$copre ogni PDF.
Quali sono gli errori più comuni nel robots.txt?
- Aspettarsi che un gruppo con nome erediti da
*. Un gruppo perOAI-SearchBotcon soloAllow: /apre tutti i percorsi, compresi quelli che avevi vietato sotto*. - Un indirizzo robots.txt che restituisce una pagina HTML, spesso una pagina 404 servita con stato 200. I crawler non vi trovano regole valide.
- Un robots.txt che restituisce un errore del server. La RFC 9309 dice che in quel caso un crawler deve presumere che l'intero sito sia vietato. Un 404 è diverso: significa che non ci sono restrizioni.
- Bloccare un token di ricerca volendo bloccare l'addestramento, per esempio vietando
PerplexityBotoClaude-SearchBotper evitare l'addestramento dei modelli. - Affidarsi al robots.txt per fermare i download richiesti dall'utente. OpenAI e Perplexity dicono entrambe che i loro user agent potrebbero non rispettarlo.
- Dimenticare i sottodomini. Ogni host ha il proprio robots.txt; la documentazione di Anthropic ricorda ai proprietari dei siti di aggiungere regole per ogni sottodominio.
Posso dichiarare una politica sull'uso dell'IA oltre ad allow e disallow?
Cloudflare ha proposto una riga Content-Signal per il robots.txt con tre segnali: search (creare un indice di ricerca e mostrare link ed estratti brevi), ai-input (usare i contenuti in tempo reale per le risposte di IA) e ai-train (addestrare o affinare modelli). Il robots.txt gestito di Cloudflare può aggiungerla per te.
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
Come tutto nel robots.txt, sono preferenze, non controlli tecnici. La stessa Cloudflare osserva che il rispetto del robots.txt è volontario. La riga è facoltativa e innocua, ma non sostituisce i gruppi per singolo crawler descritti sopra.
Quanto tempo richiedono le modifiche e come le verifico?
La RFC 9309 dice che i crawler non dovrebbero usare un robots.txt in cache per più di 24 ore, e sia OpenAI sia Perplexity affermano che le modifiche possono richiedere circa un giorno per essere applicate. Ricorda anche che il robots.txt non è un controllo degli accessi: un firewall può comunque bloccare un crawler che le tue regole consentono.
AISeeWhy analizza il tuo robots.txt secondo la RFC 9309 per ogni crawler che testa, segnala i file irraggiungibili o serviti come HTML, mostra dove le tue regole e il tuo server sono in disaccordo e fornisce un diff pronto per la modifica.
Domande frequenti
Bloccare GPTBot o ClaudeBot danneggia la mia visibilità nelle risposte di IA?
Non direttamente. Entrambi i fornitori usano crawler di ricerca separati, OAI-SearchBot e Claude-SearchBot, per la ricerca. Bloccare il crawler di addestramento è una scelta di principio.
Google-Extended ferma gli AI Overviews?
No. Google dice che le funzioni di IA in Search usano Googlebot e i soliti controlli di Search come nosnippet e noindex. Google-Extended riguarda l'addestramento di Gemini e il grounding in altri prodotti Google e non influisce su Search.
I crawler di IA supportano Crawl-delay?
Non fa parte della RFC 9309. Anthropic dice di supportare Crawl-delay come estensione non standard; per gli altri fornitori, consulta la loro documentazione.
Dove deve trovarsi il robots.txt?
Nella radice di ogni host, per esempio https://example.com/robots.txt. Un file in una sottocartella viene ignorato, e ogni sottodominio ha bisogno del proprio.
Fonti
- RFC 9309: Robots Exclusion Protocol
- OpenAI: panoramica dei crawler di OpenAI
- Google: crawler comuni, incluso Google-Extended
- Apple: informazioni su Applebot
- Cloudflare: robots.txt gestito e Content Signals