Robots.txt – Un file di testo per controllare i motori di ricerca

Si sa che molto spesso i metodi della nonna sono i migliori per curare, prevenire e rimettere in sesto. Nel magico web 2.0 molti sembrano essersi dimenticati del costo della banda. E’ questa nei fatti che fa il vero prezzo di un hosting e tanto più riusciamo ad ottimizzare il consumo di banda, tanto più i nostri server risulteranno efficienti.

Tutti i robot dei motori di ricerca sono impostati in modo tale da controllare per prima cosa l’esistenza del file robots.txt nella web root del dominio. All’interno di questo file possiamo dare delle direttive di indicizzazione, per lo più evitando che determinate directory vengano scansionate.

Farlo è abbastanza semplice. Creiamo un nuovo file di testo, chiamiamolo robots.txt ed all’interno scriveremo qualcosa del genere:

User-agent: *
Allow: /

In questo modo stiamo dicendo a tutti i motori di ricerca di scansionare tutta la nostra web directory. Direttiva inutile in quanto la totalità dei bot è già impostata in tal senso. Però queste due righe ci danno qualche indicazione utile:

  • Possiamo fare distinzioni fra motori di ricerca. Usando lo user-agent possiamo stabilire che il motore di ricerca di msn non debba scansionare una determinata directory, mentre ne diamo accesso a googlebot.
  • Possiamo usare il carattere jolly * per dare direttive generali.

Un file robots.txt un po’ più logico, magari proprio per wordpress, potrebbe essere simile a questo:

User-agent: *
Disallow: /wp-content/
Disallow: /wp-admin/
Disallow: /wp-includes/

Stiamo dicendo a tutti i motori di ricerca di ignorare la scansione delle directory di sistema di wordpress. D’altra parte poco senso avrebbe la scansione dei file in wp-content se il nostro scopo è quello di essere ben indicizzati. Ed allo stesso tempo, vista la grande quantità di file presenti in quelle directory, evitiamo di consumare tantissima banda in uscita che sarebbe richiesta ad ogni GET di file trovato dal bot.

Alcuni bot implementano anche un controllo speciale per non disabilitare l’indicizzazione, ma evitare che il bot scanning possa portare rallentamenti al server.

User-agent: Slurp
Crawl-delay: 5

Nell’esempio di sopra, usando l’opzione Crawl-delay, stiamo dicendo al bot di Yahoo di usare un intervallo di 5 secondi fra un’indicizzazione ed un altra. Ma stiamo attenti perchè non tutti i bot implementano la cosa, quindi alcuni potrebbero ignorarla.

Robots.txt non è uno strumento di sicurezza

L’errore che spesso si compie è quello di considerare il file robots.txt come strumento per evitare lo scanning di materiale riservato. Cosa sbagliatissima! Prima di tutto perchè il file in questione è pubblico e chiunque vi può accedere. Voi, per limitare il traffico dei bot, dovete specificare manualmente cosa non scansionare, dando quindi informazioni anche dettagliate del vostro albero di directory sul server. Inserire nel file robots.txt informazioni riservate non è proprio il caso.

Se pensate di poter usare il robots.txt per bloccare l’accesso a bot non desiderati, magari filtrandoli via user-agent, anche in questo caso sbagliate. Robot che vagano per il web alla ricerca di vulnerabilità o che scansionano interi siti web per rastrellare indirizzi email o altro, non se lo sognano nemmeno di rispettare le direttive del robots.txt.

Si deve considerare il file in questione come un accordo fra gentiluomini. Con questo file il bot di indicizzazione si evita lavoro inutile e voi risparmiate banda sul server, che rimarrà a disposizione di altri bot o meglio dei vostri visitatori.

Il robots.txt funziona nella misura in cui il robot che accede al vostro sito sa di doverlo cercare e, trovandolo, di doverne rispettare le indicazioni. E’ questa una convenzione nata collaborativamente fra webmaster e SEO staffs, che programmano di conseguenza i propri crawler. Non è legge. Quindi non stupitevi che qualche strano user-agent con al suo interno crawler, non rispetta il patto d’onore.

Per maggiori informazioni robotstxt.org.

4 thoughts on “Robots.txt – Un file di testo per controllare i motori di ricerca”

  1. Concordo, molto utile come articolo!

    Una sola domanda… Se diciamo di ignorare la cartella /wp-content/ non è che poi i bot di indicizzazione non indicizzano anche le immagini che abbiamo lì dentro?

Comments are closed.