Bloccare le AI con robots.txt: cosa ferma davvero
Alcuni bot AI rispettano il robots.txt, altri dichiarano di ignorarlo: GPTBot, ClaudeBot, ChatGPT-User, cosa scrivere nel file e come verificarlo nei log.
Bloccare le AI con robots.txt si può, ma solo in parte, e quello che resta fuori è proprio il caso a cui pensavi. La domanda mi arriva ormai in due versioni opposte: “posso impedire a ChatGPT di leggere il mio sito?” e “come faccio a essere sicuro che le AI mi leggano?”. La risposta seria a entrambe passa dallo stesso punto: sapere quali bot esistono, quali si fermano davanti a un Disallow e quali no. Perché non è una questione di opinioni: chi li gestisce lo ha scritto nella propria documentazione.
⚠️ Il noindex non c’entra niente, e llms.txt nemmeno
Il primo equivoco da togliere è il più diffuso. Il meta tag noindex sta dentro la pagina: un crawler deve scaricarla per leggerlo, e quando lo legge il contenuto è già stato acquisito. Con i motori di ricerca classici il patto funziona lo stesso, perché Google e Bing si sono impegnati da vent’anni a non mostrare in SERP quello che il tag esclude. I sistemi AI quel patto non l’hanno mai firmato: non esiste un “noindex per LLM”, e i tag proposti come noai e noimageai non hanno oggi nessun grande operatore che si sia impegnato a rispettarli.
Nel mucchio delle soluzioni immaginarie va messo anche llms.txt: nessun provider maggiore si è impegnato a onorarlo, e sul perché non sia una leva verificata ho scritto nel pezzo su cos’è la GEO. Il fatto che ora Lighthouse controlli llms.txt riguarda gli agenti che navigano il sito per conto di qualcuno, non l’accesso dei crawler. Se l’obiettivo è controllare l’accesso, lo strumento con una compliance dichiarata e verificabile resta uno solo, ed è il robots.txt. Con un perimetro preciso, però: vale per due famiglie di bot su tre.
🛠️ Le tre famiglie di bot AI
I bot legati ai sistemi AI non sono una categoria sola, e trattarli come tale è l’errore che rende inutile metà delle guide in circolazione. Le famiglie sono tre, distinte per funzione, e la distinzione non è mia: è la stessa che usa Cloudflare per classificare il traffico in AI Crawl Control, che infatti divide i crawler in Training, Search e Agent.
| Famiglia | Cosa fa | Esempi | Rispetta robots.txt |
|---|---|---|---|
| Training | Raccoglie contenuti per addestrare i modelli | GPTBot, ClaudeBot, CCBot | Sì, dichiarato nelle doc |
| Ricerca AI | Indicizza per le risposte con citazioni | OAI-SearchBot, Claude-SearchBot, PerplexityBot | Sì, dichiarato nelle doc |
| Retrieval su richiesta | Va a prendere una pagina quando un utente la chiede in chat | ChatGPT-User, Perplexity-User, Claude-User | No, o non dichiarato |
Sulla prima famiglia una precisazione che evita un errore comune: Google-Extended non è un crawler. È un token di controllo che si scrive nel robots.txt, ma il passaggio fisico lo fa il solito Googlebot: la documentazione ufficiale dice che “Google-Extended doesn’t have a separate HTTP request user agent string” e che bloccarlo “does not impact a site’s inclusion in Google Search”. Toglie i tuoi contenuti dal training e dal grounding di Gemini, non dalle AI Overviews, che pescano dall’indice normale della Search.
⚠️ La terza famiglia te lo dice in faccia
Sui bot di retrieval non serve fare dietrologia, basta leggere le documentazioni ufficiali, verificate alla data in cui scrivo.
OpenAI, sulla pagina dei suoi bot, scrive di ChatGPT-User: “Because these actions are initiated by a user, robots.txt rules may not apply”. Fino a fine 2025 quella pagina conteneva un impegno di compliance, poi rimosso: la ricostruzione del cambio sta in un’analisi di Seer Interactive di questi giorni, che vale la lettura se vuoi la versione lunga.
Perplexity va oltre: la documentazione dei suoi crawler dice di Perplexity-User: “Since a user requested the fetch, this fetcher generally ignores robots.txt rules”. Anthropic dichiara la compliance per ClaudeBot e Claude-SearchBot, mentre sulla pagina dedicata l’impegno esplicito per Claude-User non compare: si può solo chiederne il blocco, e la cosa prudente resta trattarlo come gli altri due.
La logica dietro rimane la stessa per tutti: quando una persona incolla il tuo indirizzo in chat o chiede “leggi questa pagina”, per l’operatore quel fetch è un’azione dell’utente, come un browser, non un crawl automatico. Puoi trovarla una scusa o una distinzione sensata, ma il risultato operativo non cambia: quella richiesta il robots.txt non la ferma. Si ferma solo a livello server, con regole firewall o gestione bot tipo Cloudflare, che è un lavoro in più e va giustificato da un problema reale, non dal principio.
Il robots.txt è un cartello, non un cancello: due famiglie di bot su tre si fermano a leggerlo. La terza entra con l’utente per mano, e lo dichiara nella propria documentazione.
✅ Cosa scrivere nel robots.txt, se decidi di bloccare
Per le due famiglie che il file lo rispettano, la sintassi è quella di sempre. La scelta vera è strategica: bloccare il training senza sparire dalla ricerca AI. Un blocco totale “anti AI” copiato da un tutorial toglie il sito anche da ChatGPT search e da Perplexity, cioè dalle risposte con citazioni che potevano portarti clienti.
# Blocca l'uso per addestramento
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Google-Extended
Disallow: /
# La ricerca AI resta libera di citarti
User-agent: OAI-SearchBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
Due avvertenze pratiche. I gruppi del robots.txt non si sommano: un bot obbedisce al gruppo più specifico che lo nomina, quindi le regole vanno pensate per singolo user-agent, non “a cascata”. E se hai landing di campagna su un sottodominio, il loro robots.txt è separato: puoi chiudere lì senza toccare il sito principale, tenendo aperti i bot dei circuiti pubblicitari che devono leggere le pagine per il quality score.
🛠️ Dal 2027 una riga per tutti: il token __usage_ai-training
Il blocco qui sopra ha un difetto che conosce chiunque l’abbia mantenuto: va scritto azienda per azienda, e ogni bot nuovo è un gruppo in più. Il 30 ottobre 2026 Google ha annunciato che punta a leggere, dal 2027 e insieme ad altri fornitori AI, un segnale condiviso per dire sì o no all’addestramento in un colpo solo. L’annuncio non scrive il nome del segnale, ma rimanda a una bozza IETF del gruppo di lavoro AIPREF, datata lo stesso giorno e firmata da un autore di Anthropic, che il nome lo dà:
User-Agent: __usage_ai-training
Disallow: /
Allow: /press-kit/
Non è un bot e non è una direttiva nuova: è un nome convenzionale messo dove di solito sta lo user-agent, e i parser che non lo conoscono lo saltano come qualsiasi gruppo che non li riguarda. Disallow vuol dire “non usare questi percorsi per addestrare”, Allow il contrario, e la scelta si può fare per cartella: l’esempio della bozza dice no al training su tutto il sito tranne la cartella stampa. Per “addestramento” vale la definizione dell’IETF, cioè usare un contenuto per modificare i parametri di un modello generativo: la ricerca e le risposte con citazioni sono un’altra cosa.
Tre dettagli cambiano il modo di scriverlo:
- Il gruppo
User-agent: *non vale per il token, la bozza lo esclude in modo esplicito. UnDisallow: /generico non esprime nessuna preferenza sul training, e se il gruppo dedicato manca la preferenza semplicemente non c’è. - Per Google, un no al training col token condiviso vale come
Disallowdi Google-Extended, se Google-Extended nel file non compare. E la documentazione di Google mette sotto Google-Extended sia il training sia il grounding di Gemini: Google scrive che solo i siti che consentono Google-Extended in modo esplicito restano idonei a comparire nelle risposte delle app Gemini e a riceverne i clic. Non si può dire no al training di Gemini e sì alle sue citazioni: chi vuole restare citabile lì deve aprire Google-Extended a parte, e con lui il training di Google. - I controlli per singola azienda restano e vincono sul segnale generale. La bozza dice che l’indicazione specifica dovrebbe prevalere su quella generica, e che gli accordi privati possono scavalcare entrambe: un gruppo dedicato a GPTBot o a Google-Extended conta più del token condiviso.
Nel file, oggi, non cambia niente: nessuno lo legge ancora. Google punta al 2027. OpenAI ha annunciato lo stesso giorno che lo rispetterà “nei prossimi mesi”, e che i controlli attuali su GPTBot restano validi. Microsoft, secondo il resoconto di Search Engine Journal, adotta la riga condivisa per il training ma tiene il grounding su una preferenza separata, a livello di pagina; legge le nuove regole dal 1° febbraio 2027 e dal 1° marzo smette di leggere NoArchive e NoCache come controlli per l’AI: chi li usa oggi per stare fuori da Copilot ha qualcosa da rifare prima. Anthropic, da cui arriva la bozza, non ha ancora una data. La bozza stessa scade a maggio 2027 se non viene rinnovata. Aggiungere già il gruppo non rompe nulla, perché chi non lo conosce lo ignora. Google aggancia la proposta al Code of Practice europeo per i modelli di AI per finalità generali, quello dell’AI Act, che riconosce il robots.txt come metodo principale per esprimere queste preferenze: il file resta il posto dove la scelta si scrive.
Sul mio sito ho fatto la verifica più semplice: il robots.txt ha solo il gruppo User-agent: * con la riga Content-Signal, quindi per questa bozza non esprime nessuna preferenza. Per me va bene, il training lo lascio aperto; se un giorno volessi dirlo anche in questo formato, basterebbe un gruppo User-Agent: __usage_ai-training con Allow: /.
🛠️ La verifica sta nei log, non nel file
Scrivere la regola è il dieci per cento del lavoro. Il novanta è sapere se viene rispettata, e lì il robots.txt non ti dice niente: servono i log del server. Con un dettaglio che cambia i conti: lo user-agent è una stringa autodichiarata, e chiunque può presentarsi come GPTBot. Un “GPTBot” nei log non è un dato finché non verifichi che l’indirizzo IP appartenga ai range ufficiali, che OpenAI, Anthropic e Perplexity pubblicano proprio per questo. Nei censimenti che faccio sui log dei siti che seguo, la quota di bot che dichiarano un nome altrui non arriva mai a zero: prima di dire “mi legge l’AI di X” conviene contare quante di quelle visite reggono la verifica.
Il percorso minimo, senza strumenti a pagamento: censimento degli user-agent AI negli access log, verifica a campione degli IP contro i range ufficiali, poi 30-90 giorni di osservazione dopo aver messo le regole, per vedere se il crawl delle due famiglie “obbedienti” scende davvero. Chi sta dietro Cloudflare ha la strada corta: AI Crawl Control mostra i passaggi per singolo crawler e segnala chi viola le direttive. Solo se dopo i Disallow il traffico che volevi fermare continua, ha senso scalare alle regole server: prima è ingegneria preventiva su un problema che magari non hai.
⚠️ Il rovescio: per la maggior parte delle PMI bloccare è la mossa sbagliata
Detto tutto questo, la domanda giusta non è “come blocco le AI” ma “perché dovrei”. L’85% delle citazioni nelle risposte AI arriva da domini terzi, e su come si lavora quel meccanismo ho scritto nel pezzo sulle citazioni AI: per un’attività che vive di clienti trovati online, essere leggibili e citabili vale quasi sempre più del controllo. Il rischio concreto che vedo più spesso non è il contenuto “rubato”: è il blocco messo per sbaglio, la regola WAF aggressiva o il Disallow copiato che tiene fuori anche OAI-SearchBot e PerplexityBot, cioè esattamente i bot che potevano nominarti.
Il mio robots.txt lo puoi leggere: è tutto aperto, e c’è anche una riga che dichiara la scelta in un formato pensato per essere letto dalle macchine, Content-Signal: search=yes, ai-input=yes, ai-train=yes, la sintassi dei Content Signals che Cloudflare ha annunciato il 24 settembre 2025. Non è ingenuità, è un calcolo dichiarato: in questa fase la visibilità del sito vale più dell’attribution che perdo sul training, e la decisione ha un trigger scritto per essere ribaltata, il giorno in cui ci saranno asset che vale la pena proteggere. I casi in cui bloccare ha senso subito esistono, ma sono specifici: contenuti a pagamento, landing di campagna che duplicano le pagine vere e iniziano a comparire citate al posto loro, cataloghi con condizioni riservate. Lì si chiude in modo chirurgico, non a tappeto.
✅ Decidere col criterio, non col trend
La sintesi operativa è corta. Le AI che addestrano e quelle che citano si fermano con quattro righe di robots.txt, e la scelta sensata per quasi tutti è bloccare al massimo il training tenendo aperta la ricerca. Le AI che leggono su richiesta dell’utente non si fermano da lì, e prima di costruire muri a livello server conviene misurare se il problema esiste. Qualunque strada scegli, i log sono l’unico posto dove vedi la differenza tra quello che hai scritto e quello che succede. Se vuoi capire come il tuo sito sta dentro questo meccanismo, dal file alle citazioni, è il lavoro che faccio nella consulenza GEO: scrivimi da uno dei canali qui sotto.
❓ Domande frequenti
Se blocco i bot AI, perdo posizioni su Google?
ChatGPT può leggere il mio sito anche se lo blocco nel robots.txt?
Bloccare Google-Extended mi toglie dalle AI Overviews?
Esiste un modo unico per dire no al training di tutte le AI?
Il noindex tiene i miei contenuti fuori dalle AI?
Come vedo quali bot AI passano dal mio sito?
A un e-commerce conviene bloccare i bot AI?
Hai un progetto in testa?
Raccontami cosa ti serve o cosa non funziona. Rispondo entro 24 ore, senza preventivi a scatola chiusa.