Un file robots.txt elenca le preferenze di un sito web relativamente al comportamento dei bot, indicando ai bot a quali pagine web è consentito e non consentito accedere. I file robots.txt assumono particolare rilievo per i crawler web.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
Un file robots.txt è un insieme di linee guida pensato per i bot, e viene incluso nei file di origine della maggior parte dei siti web. I file robots.txt hanno il compito di aiutare a gestire le attività di bot quali i crawler. Non tutti i bot, tuttavia, seguono le istruzioni presenti in questi file.
Pensa a un file robots.txt come un cartello con scritto "Codice di condotta" affisso al muro di una palestra, di un bar o di un centro comunitario: il cartello in sé non ha il potere di far rispettare le regole elencate, ma i clienti "buoni" le seguiranno, mentre quelli "cattivi" probabilmente le infrangeranno e verranno banditi.
Un bot è un programma informatico automatizzato che interagisce con siti e applicazioni. Esistono dei bot chiamati "crawler Web", o più semplicemente "crawler", che "scandagliano" le pagine Web e ne indicizzano il contenuto, in modo che possa comparire nei risultati dei motori di ricerca. Un file robots.txt contribuisce a gestire l'operatività di questi crawler, in modo che non sovraccarichino il server che ospita il sito o che non indicizzino pagine non destinate al pubblico consumo. Un file robots.txt può anche aiutare a gestire le attività dei bot crawler IA, che a volte possono sovraccaricare i server molto di più dei crawler tradizionali.
Un file robots.txt è solo un file di testo senza codice di markup HTML (da cui l'estensione file .txt). Il file robots.txt è ospitato sul server Web come qualsiasi altro file sul sito Web. In effetti, il file robots.txt per qualsiasi sito web può essere in genere visualizzato digitando l'URL completo della home page e quindi aggiungendo /robots.txt, come https://www.cloudflare.com/robots.txt. Il file non è collegato ad alcun altro elemento del sito, quindi è improbabile che gli utenti lo trovino, ma la maggior parte dei robot dei crawler Web cercherà prima questo file prima di esplorare il resto del sito.
Sebbene un file robots.txt fornisca istruzioni per i bot, non può in nessun modo farle applicare. Alcuni bot, come i crawler o i bot dei feed di notizie, possono tentare di visitare prima il file robots.txt prima di visualizzare qualsiasi altra pagina di un dominio e possono seguire le istruzioni. Altri tipi di bot, invece, ignoreranno il file robots.txt oppure lo elaboreranno per trovare le pagine web vietate.
Un bot crawler che "obbedisce" a robots.txt seguirà l'insieme di istruzioni più specifico contenuto nel file robots.txt. Se nel file sono presenti comandi in contraddizione tra loro, il bot seguirà quello più particolareggiato.
Una cosa importante da notare è che tutti i sottodomini necessitano del proprio file robots.txt. Ad esempio, mentre www.cloudflare.com ha un proprio file, tutti i sottodomini di Cloudflare (blog.cloudflare.com, community.cloudflare.com, ecc.) necessitano del proprio.
In ambito di rete, un protocollo è un formato per fornire istruzioni o comandi. I file robots.txt utilizzano un paio di protocolli diversi. Il protocollo principale è denominato Robots Exclusion Protocol. Questo è un modo per indicare ai bot quali pagine Web e risorse evitare. Le istruzioni formattate per questo protocollo sono incluse nel file robots.txt.
L'altro protocollo utilizzato per i file robots.txt è il protocollo Sitemaps. Questo può essere considerato un protocollo di inclusione dei file robot. Sitemaps mostra a un crawler Web quali pagine può analizzare. Ciò aiuta a garantire che un bot crawler non perda nessuna pagina importante.
Ecco una vecchia versione del file robots.txt per www.cloudflare.com:
Di seguito spieghiamo nel dettaglio cosa significa tutto ciò.
Ogni persona o programma attivo su Internet avrà un "agente utente", ovvero un nome assegnato. Per gli utenti umani, questo include informazioni come il tipo di browser e la versione del sistema operativo, ma non informazioni personali; aiuta i siti Web a mostrare contenuti compatibili con il sistema dell'utente. Per i bot, l'agente utente (in teoria) aiuta gli amministratori del sito Web a sapere che tipo di bot stanno esplorando il sito.
In un file robots.txt, gli amministratori di siti Web sono in grado di fornire istruzioni specifiche per bot specifici, scrivendo istruzioni diverse per gli agenti utente dei bot. Ad esempio, se un amministratore desidera che una determinata pagina venga visualizzata nei risultati di ricerca di Google ma non nelle ricerche di Bing, può includere due set di comandi nel file robots.txt: un set preceduto da "User-agent: Bingbot" e un set preceduto da "User-agent: Googlebot".
Nell'esempio sopra, Cloudflare ha incluso la stringa "User-agent: *" nel file robots.txt. L'asterisco rappresenta un agente utente "jolly" e significa che le istruzioni si applicano a tutti i bot e non a uno specifico.
I nomi comuni degli agenti utente bot dei motori di ricerca includono:
Google:
Bing
Baidu
Il comando Disallow è il più comune nel protocollo di esclusione dei robot. Esso indica ai bot di non accedere alla pagina o all'insieme di pagine web che seguono il comando. Le pagine non consentite non sono necessariamente "nascoste": semplicemente non sono utili per l'utente medio di Google o Bing, e quindi non vengono mostrate. Nella maggior parte dei casi, un utente sarà comunque in grado di raggiungerle, se sa dove trovarle.
Il comando Disallow può essere utilizzato in diversi modi, molti dei quali sono visualizzati nell'esempio sopra.
Ad esempio, se Cloudflare volesse impedire ai bot di esplorare il nostro articolo "Cos'è un bot?", il comando dovrebbe essere scritto come segue:
Disallow: /learning/bots/what-is-a-bot/
Dopo il comando "disallow", vieneinclusa la parte dell'URL della pagina web che segue la home page, in questo caso "www.cloudflare.com", "www.cloudflare.com". Con questo comando in essere, i bot che rispettano le istruzioni del file robots.txt non accederanno a https://www.cloudflare.com/learning/bots/what-is-a-bot/ e la pagina quindi probabilmente non verrà visualizzata nei normali risultati dei motori di ricerca.
A volte è più efficiente bloccare più pagine contemporaneamente, invece di elencarle tutte singolarmente. Se si trovano tutte nella stessa sezione del sito Web, un file robots.txt può semplicemente bloccare la directory che le contiene.
Nell'esempio precedente si ha:
Disallow: /__mesa/
Ciò significa che tutte le pagine contenute nella directory __mesa non devono essere sottoposte a scansione.
Tale comando avrebbe il seguente aspetto:
Non consentire:
In questo modo si comunica ai bot che possono esplorare l'intero sito Web, perché non vi è nulla di vietato.
Disallow: /
Qui il simbolo "/" rappresenta la "radice" nella gerarchia di un sito web, ovvero la pagina da cui si diramano tutte le altre, e pertanto include la home page e tutte le pagine ad essa collegate. Con questo comando, i bot dei motori di ricerca non potranno in alcun modo esplorare il sito.
Allow: proprio come ci si potrebbe aspettare, il comando "Allow" indica ai bot che sono autorizzati ad accedere a una determinata pagina o directory. Questo comando esplicita la preferenza del sito web di consentire ai bot di raggiungere una determinata pagina, impedendo al contempo l'accesso alle altre pagine presenti nel file. Non tutti i motori di ricerca riconoscono questo comando.
Crawl-delay: il comando Crawl-delay ha lo scopo di impedire ai bot dei motori di ricerca di sovraccaricare un server. Permette agli amministratori di specificare per quanto tempo il bot deve attendere tra ogni richiesta, in millisecondi. Ecco un esempio di un comando Crawl-delay per attendere 8 millisecondi:
Crawl-delay: 8
Google, ad esempio, non lo riconosce, mentre altri motori di ricerca sì. Per Google, gli amministratori possono modificare la frequenza di scansionamento del proprio sito da parte dei crawler in Google Search Console.
Il protocollo Sitemaps aiuta i bot a sapere cosa includere nella scansione di un sito Web.
Una mappa del sito è un file XML simile al seguente:
È un elenco leggibile dalla macchina di tutte le pagine di un sito Web. Tramite il protocollo Sitemaps, i link a queste mappe del sito possono essere inclusi nel file robots.txt. Il formato è: "Sitemaps:" seguito dall'indirizzo Web del file XML. Puoi vedere diversi esempi nel file robots.txt di Cloudflare qui sopra.
Sebbene il protocollo Sitemaps aiuti a garantire che i bot spider Web non perdano nulla durante la scansione di un sito Web, i bot seguiranno comunque il loro tipico processo di scansione. Sitemaps non obbliga i bot crawler a dare priorità diverse alle pagine Web.
La gestione dei bot è essenziale per mantenere attivo e funzionante un sito o un'applicazione, perché anche l'attività di bot "buoni" può sovraccaricare un server di origine, rallentando o rendendo inutilizzabile una data proprietà. Un file robots.txt ben strutturato mantiene un sito web ottimizzato per la SEO e tiene sotto controllo l'attività dei bot. Per contro, non sarà molto utile per la gestione del traffico di bot dannosi.
Nonostante l'importanza del file robots.txt, nel 2025 Cloudflare ha rilevato che appena il 37% dei principali 10.000 siti web nostri clienti disponeva di un file robots.txt. Ciò significa che un'ampia fetta dei siti web, se non addirittura la maggior parte, omette di usare questo strumento. Per aiutare questi siti, specialmente quelli che potrebbero non desiderare che i loro contenuti originali siano utilizzati per l'addestramento dell'IA, Cloudflare offre il servizio "managed robots.txt". Questo servizio crea o aggiorna il file robots.txt per conto di un sito web con le impostazioni desiderate. Ulteriori informazioni sul file robots.txt gestito.
Di tanto in tanto un file robots.txt conterrà delle uova di Pasqua, messaggi umoristici che gli sviluppatori hanno incluso perché sanno che questi file vengono visti raramente dagli utenti. Ad esempio, il file robots.txt di YouTube riporta: "Creato in un futuro lontano (anno 2000) dopo la rivolta robotica della metà degli anni '90 che ha spazzato via tutti gli esseri umani". Il file robots.txt di Cloudflare chiede: "Caro robot, sii gentile".
# .__________________________.
# | .___________________. |==|
# | | ................. | | |
# | | ::[ Dear robot ]: | | |
# | | ::::[ be nice ]:: | | |
# | | ::::::::::::::::: | | |
# | | ::::::::::::::::: | | |
# | | ::::::::::::::::: | | |
# | | ::::::::::::::::: | | ,|
# | !___________________! |(c|
# !_______________________!__!
# / \
# / [][][][][][][][][][][][][] \
# / [][][][][][][][][][][][][][] \
#( [][][][][____________][][][][] )
# \ ------------------------------ /
# \______________________________/
Google ha anche un file "humans.txt" all'indirizzo: https://www.google.com/humans.txt
Un file robots.txt è un elenco delle preferenze di un sito web relative al comportamento dei bot, che si trova nei file di origine del sito web. Fornisce indicazioni ai bot utili, come i crawler Web dei motori di ricerca, sulle parti di un sito web a cui possono accedere e su quelle che devono evitare, contribuendo a gestire il traffico e a controllare l'indicizzazione. Può anche elencare le regole per i crawler IA.
Un crawler è un bot automatizzato che visita e indicizza le pagine web per conto dei motori di ricerca, in modo da aiutare gli utenti a trovare i contenuti mediante le ricerche effettuate.
Il Robots Exclusion Protocol è il formato delle istruzioni in un file robots.txt. Esso indica ai crawler quali sono le pagine o le risorse di un sito che non devono essere scansionate.
"User-agent" specifica a quale bot o gruppo di bot si applica una serie di istruzioni in un file robots.txt. "User-agent: *" significa che questa regola si applica a tutti i bot.
Il comando Disallow indica ai bot di non eseguire la scansione di pagine o directory specifiche di un sito web. Ad esempio, "Disallow: /private/" indica ai bot di non accedere alla directory "private".
Il protocollo Sitemaps consente ai titolari di siti web di includere collegamenti ai file XML delle loro sitemap nel file robots.txt, aiutando i bot a scoprire quali pagine sottoporre a scansione.
I bot "buoni" hanno maggiori probabilità di seguire le istruzioni del file robots.txt; inoltre, offrono servizi utili. I crawler dei motori di ricerca, ad esempio, in genere rispettano regole contenute nel file durante l'indicizzazione dei contenuti per la ricerca. I bot dannosi, per contro, spesso lo ignorano completamente e possono effettuare lo scraping dei contenuti, attaccare siti web o inviare richieste eccessive che finiscono per far lievitare i costi di un sito.
Il comando Crawl-delay indica ai bot quanto tempo devono attendere tra una richiesta e l'altra per evitare di sovraccaricare un server. Non tutti i bot rispettano questo comando. Googlebot, ad esempio, non lo fa, sebbene Google consenta agli amministratori dei siti di impostare una regola simile tramite Google Search Console.
Un file robots.txt ben congegnato è in grado di migliorare la SEO comunicando ai bot crawler dei motori di ricerca quali pagine indicizzare, prevenendo in questo modo l'indicizzazione di contenuti non essenziali o duplicati. Inoltre, robots.txt può aiutare i crawler a trovare tutte le pagine che devono indicizzare tramite Sitemaps.