Il file robots.txt è un’indicazione di scansione, non un interruttore universale dell’intelligenza artificiale. Per configurarlo bene bisogna distinguere crawler, finalità, indicizzazione, addestramento e controlli applicati dal server.
Definisci prima la politica: quali contenuti vuoi rendere trovabili nella ricerca, quali vuoi escludere dall’eventuale addestramento e quali devono restare privati. Poi traduci la scelta in direttive specifiche e verificane l’effetto nei log. Una pagina riservata va protetta con autenticazione, non affidata al robots.txt.
Che cosa fa davvero il robots.txt
Il file, disponibile alla radice dell’host, comunica ai crawler conformi quali percorsi possono richiedere. Opera sulla scansione. Non garantisce la rimozione di una URL dagli indici e non impedisce a una persona di aprire il contenuto. Un link verso una URL bloccata può perfino far conoscere l’indirizzo al motore senza che questo ne legga il corpo.
Le regole si applicano per host e protocollo: il file di https://www.esempio.it/robots.txt non controlla automaticamente un sottodominio distinto. Migrazioni da www ad apex, ambienti di staging e CDN sono occasioni comuni di errore.
Una policy prima della sintassi
| Obiettivo | Controllo principale | Nota |
|---|---|---|
| Comparire nella ricerca ChatGPT | Consentire OAI-SearchBot | Accesso non significa citazione garantita |
| Gestire l’uso per modelli OpenAI | Direttiva separata per GPTBot | È distinto dal crawler di ricerca |
| Comparire in Google | Consentire Googlebot e indicizzazione | Le funzioni AI usano le basi di Search |
| Comparire in Bing/Copilot | Consentire Bingbot e indicizzazione | Verificare anche firewall/CDN |
| Proteggere dati riservati | Login, autorizzazione, rimozione pubblica | Il robots.txt non è una misura di sicurezza |
Esempio leggibile per un sito pubblico
User-agent: *
Allow: /
Disallow: /area-riservata/
User-agent: OAI-SearchBot
Allow: /
Sitemap: https://www.esempio.it/sitemap.xml
L’esempio non decide la politica su addestramento, altri crawler o servizi. Inoltre una directory chiamata “area-riservata” deve essere realmente protetta. Inserirla nel file la rende facilmente individuabile e non ne impedisce l’apertura.
Ordine dei controlli quando un bot non accede
- DNS e HTTPS. Il dominio risolve verso il server corretto? Il certificato è valido? Esistono loop di redirect?
- Status HTTP. La stessa URL restituisce 200 oppure 401, 403, 429 o 5xx a seconda dell’user agent?
- Robots.txt. La regola specifica è corretta? Esistono caratteri, percorsi o gruppi inattesi?
- Meta e header. Cerca noindex, nofollow, nosnippet e X-Robots-Tag.
- WAF e CDN. Controlla challenge, blocchi geografici, reputazione IP e rate limiting.
- Rendering. Il contenuto principale è presente nella risposta o appare soltanto dopo uno script?
- Log. Verifica richieste, user agent, IP e risposta; non dedurre il traffico del bot dall’analytics client-side.
Verificare l’identità del crawler
Lo user agent può essere falsificato. Se devi creare una regola di sicurezza basata sull’identità del bot, usa la procedura indicata dal fornitore: elenchi IP ufficiali oppure verifica DNS quando prevista. Mantieni aggiornati i dati e non copiare intervalli da articoli non più recenti.
OpenAI pubblica file JSON con gli intervalli IP dei propri crawler. Questa informazione è utile per firewall e analisi dei log; non sostituisce il controllo della documentazione, perché indirizzi e pratiche possono cambiare.
Errori che bloccano più del previsto
Un blocco generale ereditato dallo staging
User-agent: *
Disallow: /
È corretto per un ambiente di prova, disastroso se arriva in produzione. Anche un’opzione “scoraggia i motori di ricerca” del CMS può aggiungere direttive inattese.
Una regola valida sul dominio sbagliato
Controllare il file su www mentre il canonical usa l’apex — o viceversa — produce una falsa sicurezza. Segui i redirect e ispeziona la destinazione effettiva.
Il crawler può entrare, ma non vedere
Cookie wall, componenti caricati da API bloccate e HTML vuoto fino all’esecuzione JavaScript possono rendere una pagina formalmente accessibile ma poco utilizzabile. Il contenuto informativo principale dovrebbe essere disponibile con un rendering robusto.
Il caso llms.txt
llms.txt è una proposta diffusa in alcuni ambienti per offrire indicazioni o una mappa dei contenuti ai sistemi linguistici. Non è un sostituto di robots.txt, sitemap, HTML e collegamenti. Google afferma che per le proprie funzioni AI non occorrono nuovi file leggibili dalla macchina. Se scegli di sperimentarlo, trattalo come supporto aggiuntivo e misura l’effetto, senza affidargli funzioni di sicurezza o indicizzazione.
Registro delle decisioni
Per siti aziendali è utile conservare una piccola tabella interna con crawler, finalità, decisione, data, responsabile e riferimento alla policy. Evita modifiche casuali dopo ogni notizia e rende più semplice verificare ciò che CDN, CMS e server stanno applicando.
Bloccare un bot nel robots.txt protegge i contenuti?
No. È una direttiva volontaria di scansione, non un controllo degli accessi. Per contenuti riservati servono autenticazione e autorizzazioni sul server.
OAI-SearchBot e GPTBot possono avere regole diverse?
Sì. OpenAI li documenta con finalità distinte: ricerca e potenziale addestramento. È possibile configurare direttive separate.
llms.txt è obbligatorio?
No. Non è un requisito universale né sostituisce i controlli standard. Google dichiara che non è necessario un nuovo file per le proprie esperienze AI.