Gestire l’indicizzazione del sito con il file robots.txt

Generalmente i webmaster cercano sempre di aumentare la visibilità del proprio sito sui motori di ricerca. Questo è però possibile, se tutti gli URL rilevanti possono essere scansionati dai crawler ed essere così inseriti nell’indice. È raro infatti che i siti vengano scansionati completamente perché su Google lo spazio per l’analisi e la memorizzazione dei contenuti web è limitato. Ad ogni domino viene assegnato quindi uno specifico budget di scansione, che stabilisce quanti URL al giorno possano essere scansionati e indicizzati. Proprio per i siti più complessi si consiglia ai webmaster di muoversi in maniera strategica, segnalando ai crawler quale parti del sito debbano essere scansionate e quali possano essere ignorate. Gli strumenti importanti per la gestione dell’indicizzazione sono i meta tag robots, i canonical tag, i reindirizzamenti 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 rootdel 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 informazioni riguardanti tutta la struttura del sito e si differenzia significativamente dai meta tag robots e dai reindirizzamenti, che si riferiscono invece solo ad uno specifico documento HTML o ad una sua parte. È da notare però che le istruzioni del file vengono viste dai motori di ricerca solo come linee guida e non è possibile pertanto determinare il comportamento dei crawler in maniera precisa. Google e gli altri grandi motori di ricerca dichiarano di attenersi a queste indicazioni, ma solo proteggendo alcune aree del sito con una password, si ha la certezza che il crawler non le analizzerà.  

Creare un file robots.txt

Per consentire ai crawler l’accesso alle istruzioni personalizzate 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 richiamare 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 sottocartella
(come www.esempio.it/utente/), non è possibile gestire l’indicizzazione tramite il file robots.txt.

I webmaster che vogliono creare un file robots.txt, devono utilizzare un editor di testo come vi (per Linux) o notepad.exe (per Windows) e assicurarsi, durante il trasferimento FTP, che il file venga trasmesso in modalità ASCII. Grazie ad un generatore è 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 ripercuotersi negativamente sull’indicizzazione del sito. A questo proposito Google mette a disposizione 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 è introdotta dalla keyword “User-agent” e indica il crawler a cui vengono date le istruzioni nella seconda parte. Generalmente si tratta di divieti di scansione del sito, che vengono introdotti 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 scansionare 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 distinguono sintatticamente solo dalla mancanza dello slash alla fine, cosa che è di estrema rilevanza nella sintassi del file robots.txt. 

Inserire i commenti

Se necessario, si possono aggiungere dei commenti al file, introdotti da un cancelletto (#) 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

Rivolgersi a più user agent

Se ci si vuole rivolgere a diversi crawler, possono essere inserite a piacimento tutte le righe necessarie, 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 analizzare la cartella /temp/, mentre al bot di Bing non è consentito scansionare la cartella /print/.

Rivolgersi 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’indicizzazione

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 completamente il sito web. Ad esempio si può fornire questa direttiva, nel caso di progetti che si trovino ancora in una fase di test.

Consentire l’indicizzazione per tutte le cartelle

Se un robot deve scansionare ed indicizzare tutto il sito web, nel file deve essere utilizzata la keyword “Disallow” senza lo slash:

# robots.txt per http://www.esempio.it

User-agent: Googlebot
Disallow: 

Se il file robots.txt contiene questa indicazione, tutto il sito web è indicato come da scansionare per il crawler definito alla voce “user-agent”.

Tabella 1: Funzioni di base del file robots.txt
Istruzione 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 analizzato.
  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 supportano altri parametri, che consentono di precisare le istruzioni del file robots.txt. Queste funzioni sono supportate 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 sovraordinata /news/ rimanga bloccata.

Bloccare i file con estensioni precise

I webmaster che vorrebbero impedire al Googlebot la scansione di file con un’estensione precisa, utilizzano 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’estensione .pdf e ne impedisce l’accesso al Googlebot. L’asterisco (*) funziona come wildcard per i nomi dei file prima dell’estensione. 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ò realizzare 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
Istruzione Esempio Funzione
Allow: Allow: /esempio.html Il file o la cartella indicata possono essere analizzate.
Disallow: /*…$ Disallow: /*.jpg$ I file con un’estensione specifica sono bloccati.
Sitemap: Sitemap: http://www.esempio.it/sitemap.xml La sitemap XML si trova all’indirizzo indicato.

Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.