Guida alla visibilità nelle AI

Crawler AI e robots.txt

Come decidere quali crawler consentire, distinguere ricerca e addestramento e verificare che server, CDN e direttive siano coerenti.

Guida aggiornata4 minuti di letturaFonti ufficiali in pagina

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

  1. DNS e HTTPS. Il dominio risolve verso il server corretto? Il certificato è valido? Esistono loop di redirect?
  2. Status HTTP. La stessa URL restituisce 200 oppure 401, 403, 429 o 5xx a seconda dell’user agent?
  3. Robots.txt. La regola specifica è corretta? Esistono caratteri, percorsi o gruppi inattesi?
  4. Meta e header. Cerca noindex, nofollow, nosnippet e X-Robots-Tag.
  5. WAF e CDN. Controlla challenge, blocchi geografici, reputazione IP e rate limiting.
  6. Rendering. Il contenuto principale è presente nella risposta o appare soltanto dopo uno script?
  7. 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.