Ge­ne­ral­men­te i webmaster cercano sempre di aumentare la vi­si­bi­li­tà del proprio sito sui motori di ricerca. Questo è però possibile, se tutti gli URL rilevanti possono essere scan­sio­na­ti dai crawler ed essere così inseriti nell’indice. È raro infatti che i siti vengano scan­sio­na­ti com­ple­ta­men­te perché su Google lo spazio per l’analisi e la me­mo­riz­za­zio­ne dei contenuti web è limitato. Ad ogni domino viene assegnato quindi uno specifico budget di scansione, che sta­bi­li­sce quanti URL al giorno possano essere scan­sio­na­ti e in­di­ciz­za­ti. Proprio per i siti più complessi si consiglia ai webmaster di muoversi in maniera stra­te­gi­ca, se­gna­lan­do ai crawler quale parti del sito debbano essere scan­sio­na­te e quali possano essere ignorate. Gli strumenti im­por­tan­ti per la gestione dell’in­di­ciz­za­zio­ne sono i meta tag robots, i canonical tag, i rein­di­riz­za­men­ti e il file robots.txt, di cui tratta questo tutorial. 

Cos’è il file robots.txt?

Il robots.txt è un semplice file di testo collocato nella root del dominio, che permette di gestire l’accesso dei motori di ricerca al proprio sito, bloccando alcune parti per alcuni o tutti i crawler. Il file robots.txt contiene in­for­ma­zio­ni ri­guar­dan­ti tutta la struttura del sito e si dif­fe­ren­zia si­gni­fi­ca­ti­va­men­te dai meta tag robots e dai rein­di­riz­za­men­ti, che si ri­fe­ri­sco­no invece solo ad uno specifico documento HTML o ad una sua parte. È da notare però che le istru­zio­ni del file vengono viste dai motori di ricerca solo come linee guida e non è possibile pertanto de­ter­mi­na­re il com­por­ta­men­to dei crawler in maniera precisa. Google e gli altri grandi motori di ricerca di­chia­ra­no di attenersi a queste in­di­ca­zio­ni, ma solo pro­teg­gen­do alcune aree del sito con una password, si ha la certezza che il crawler non le ana­liz­ze­rà.  

Creare un file robots.txt

Per con­sen­ti­re ai crawler l’accesso alle istru­zio­ni per­so­na­liz­za­te per la scansione del sito, bisogna creare un file di testo con il nome esatto di “robots.txt” e caricarlo nella root del sito. Ad esempio se si vogliono definire le linee guida per il dominio esempio.it, il file robots.txt deve trovarsi nella stessa cartella di www.esempio.it, per ri­chia­ma­re il file all’indirizzo www.esempio.it/robots.txt. Se con l’hosting scelto non è possibile accedere alla root del server, ma solo ad una sot­to­car­tel­la
(come www.esempio.it/utente/), non è possibile gestire l’in­di­ciz­za­zio­ne tramite il file robots.txt.

I webmaster che vogliono creare un file robots.txt, devono uti­liz­za­re un editor di testo come vi (per Linux) o notepad.exe (per Windows) e as­si­cu­rar­si, durante il tra­sfe­ri­men­to FTP, che il file venga trasmesso in modalità ASCII. Grazie ad un ge­ne­ra­to­re è possibile creare un file robots.txt anche online. Si consiglia di testare il file, prima di caricarlo sulla root, perché gli errori di sintassi possono ri­per­cuo­ter­si ne­ga­ti­va­men­te sull’in­di­ciz­za­zio­ne del sito. A questo proposito Google mette a di­spo­si­zio­ne un tool all’interno della Search Console.

Struttura del file robots.txt

Ogni robots.txt contiene una serie di dati, chiamati record, composti da due parti. La prima parte è in­tro­dot­ta dalla keyword “User-agent” e indica il crawler a cui vengono date le istru­zio­ni nella seconda parte. Ge­ne­ral­men­te si tratta di divieti di scansione del sito, che vengono in­tro­dot­ti dalla parola chiave “Disallow”, a cui segue il nome di una cartella o di uno o più file. Ne risulta il seguente schema di base

User-agent: Googlebot
Disallow: /temp/ 
Disallow: /news.html
Disallow: /print

Nell’esempio, il file robots.txt si rivolge solo ai crawler con il nome “Googlebot” e gli vieta di scan­sio­na­re la cartella /temp/ e il file news.html. Vengono bloccati anche tutti i file e le cartelle, che si trovano nella cartella print. Da notare come Disallow: /temp/ e Disallow: /print si di­stin­guo­no sin­tat­ti­ca­men­te solo dalla mancanza dello slash alla fine, cosa che è di estrema rilevanza nella sintassi del file robots.txt. 

Inserire i commenti

Se ne­ces­sa­rio, si possono ag­giun­ge­re dei commenti al file, in­tro­dot­ti da un can­cel­let­to (#) e inseriti in un punto qualsiasi.

# robots.txt per http://www.esempio.it
User-agent: Googlebot
Disallow: /temp/ # La cartella contiene file temporanei 
Disallow: /print/ # La cartella contiene pagine da stampare 
Disallow: /news.html # Il file viene aggiornato giornalmente

Ri­vol­ger­si a più user agent

Se ci si vuole rivolgere a diversi crawler, possono essere inserite a pia­ci­men­to tutte le righe ne­ces­sa­rie, sempre seguendo lo schema di base. In presenza di più user agent, prima di inserirne uno, viene lasciata una riga vuota.

# robots.txt per http://www.esempio.it
    User-agent: Googlebot
    Disallow: /temp/ 
     
    User-agent: Bingbot 
    Disallow: /print/

Al crawler di Google viene impedito di ana­liz­za­re la cartella /temp/, mentre al bot di Bing non è con­sen­ti­to scan­sio­na­re la cartella /print/.

Ri­vol­ger­si a tutti gli user agent

Se devono essere bloccati per tutti i crawler delle cartelle o file specifici, si utilizza un asterisco come wildcard per estendere il divieto a tutti gli user agent. 

# robots.txt per http://www.esempio.it
    
User-agent: *
Disallow: /temp/
Disallow: /print/
Disallow: /pictures/

Il file robots.txt blocca l’accesso alle cartelle /temp/, /print/ e /pictures/ a tutti i crawler.

Escludere tutte le cartelle dall’in­di­ciz­za­zio­ne

Se si vuole indicare agli user agent di non accedere ad alcuna sezione del sito, basta uno slash dopo la parola chiave “Disallow”:

# robots.txt per http://www.esempio.it
User-agent: *
    Disallow: /

Così viene segnalato a tutti i crawler di ignorare com­ple­ta­men­te il sito web. Ad esempio si può fornire questa direttiva, nel caso di progetti che si trovino ancora in una fase di test.

Con­sen­ti­re l’in­di­ciz­za­zio­ne per tutte le cartelle

Se un robot deve scan­sio­na­re ed in­di­ciz­za­re tutto il sito web, nel file deve essere uti­liz­za­ta la keyword “Disallow” senza lo slash:

# robots.txt per http://www.esempio.it
User-agent: Googlebot
Disallow:

Se il file robots.txt contiene questa in­di­ca­zio­ne, tutto il sito web è indicato come da scan­sio­na­re per il crawler definito alla voce “user-agent”.

Tabella 1: Funzioni di base del file robots.txt
Istru­zio­ne Esempio Funzione
User agent: User-agent: Googlebot Si rivolge ad un crawler specifico.
  User-agent: * Si rivolge a tutti i crawler.
Disallow: Disallow: Tutto il sito web può essere ana­liz­za­to.
  Disallow: / Tutto il sito web è bloccato.
  Disallow: /cartella/ Una cartella specifica è bloccata.
  Disallow: /file.html Un file specifico è bloccato.
  Disallow: /esempio Tutte le cartelle e i file, che si trovano nella cartella esempio, vengono bloccati.

Funzioni avanzate

Oltre alle funzioni di base, ormai quasi standard, alcuni motori di ricerca sup­por­ta­no altri parametri, che con­sen­to­no di precisare le istru­zio­ni del file robots.txt. Queste funzioni sono sup­por­ta­te da Google e sono frutto di un accordo con Microsoft e Yahoo!.

Definire le eccezioni

Oltre a “Disallow”, Google supporta con “Allow” un’altra parola chiave nel file robots.txt, che consente di stabilire delle eccezioni per le cartelle bloccate:

# robots.txt per http://www.esempio.it
User-agent: Googlebot
Disallow: /news/ 
Allow: /news/index.html

La keyword “Allow” consente di sbloccare il file www.sito.it/news/index.html per il Googlebot, malgrado la cartella so­vraor­di­na­ta /news/ rimanga bloccata.

Bloccare i file con esten­sio­ni precise

I webmaster che vor­reb­be­ro impedire al Googlebot la scansione di file con un’esten­sio­ne precisa, uti­liz­za­no i record come nell’esempio:

# robots.txt per http://www.esempio.it
User-agent: Googlebot
Disallow: /*.pdf$

La keyword “Disallow” si riferisce a tutti i dati con l’esten­sio­ne .pdf e ne impedisce l’accesso al Googlebot. L’asterisco (*) funziona come wildcard per i nomi dei file prima dell’esten­sio­ne. La voce viene inclusa, inserendo il simbolo del dollaro ($) alla fine della riga.

Indicare la sitemap ai crawler

Oltre a gestire la scansione del sito, il file robots.txt consente di rendere nota ai crawler la struttura di un sito. Un file robots.txt che rimanda alla sitemap si può rea­liz­za­re così:

# robots.txt per http://www.esempio.it
User-agent: *
Disallow: /temp/
Sitemap: http://www.esempio.it/sitemap.xml
Tabella 2: Funzioni avanzate del file robots.txt
Istru­zio­ne Esempio Funzione
Allow: Allow: /esempio.html Il file o la cartella indicata possono essere ana­liz­za­te.
Disallow: /*…$ Disallow: /*.jpg$ I file con un’esten­sio­ne specifica sono bloccati.
Sitemap: Sitemap: http://www.esempio.it/sitemap.xml La sitemap XML si trova all’indirizzo indicato.
Vai al menu prin­ci­pa­le