Personal tools
Discipliniamo i bot di ricerca con robots.txt

introduzione al file robots.txt

May 13, 2012

Discipliniamo i bot di ricerca con robots.txt

Cos'è e come sfruttare al meglio questo utile file

You shall not passCome molti sapranno, il robots.txt è un utile file da piazzare nella root di un qualunque sito internet, che permette di definire delle regole da dare ai vari spider dei motori di ricerca che accedono al nostro sito per indicizzare le sue pagine. Serve in sostanza a dare una lista di pagine a cui lo spider non può accedere e che quindi non vogliamo far apparire tra i risultati dei motori di ricerca.

Bisogna fare molta attenzione a queste regole e scriverle correttamente, perché per esempio se si è troppo restrittivi si rischia di nascondere tutte le proprie pagine al mondo intero (e i clienti non ne sarebbero molto contenti), mentre al contrario se si lascia troppa libertà c’è il rischio che vengano indicizzati anche contenuti indesiderati (anche se questo con il nostro amato Plone non dovrebbe accadere usando correttamente i workflow e i permessi).

Ultimamente mi sono interessato particolarmente alla customizzazione di questo file, perché abbiamo avuto problemi di prestazioni su alcuni portali, anche causati proprio dai bot che cercavano di accedere massivamente ad alcune pagine lente del sito, occupando parecchie risorse e di conseguenza rallentando tutto il sistema, se non addirittura bloccandolo.

Migliorare le prestazioni del sito con robots.txt? Certo! basta non far indicizzare pagine lente e senza contenuti rilevanti

 

Ovviamente il primo passo è stato quello di migliorare la velocità del sito, poi però mi sono dedicato allo studio del setup corretto dei robots in quanto le pagine incriminate non erano propriamente dei contenuti del portale che andavano indicizzati, ma delle pagine di servizio (come per esempio una form di ricerca) che facevano diverse operazioni ogni volta che venivano chiamate, e quindi volevo studiare il modo corretto per evitare inutili accessi da parte dei bot.

Scrivere un file robots.txt corretto non è difficile, in quanto ha poche semplici regole. In sostanza bisogna solamente fornire un elenco di percorsi vietati ad una serie di bot (o se si vuole fare una configurazione generale anche a tutti). Se non si imposta niente nel file, questo equivale a lasciare libero accesso su tutto il portale.

Se invece si vuole bloccare l'accesso a tutto il portale, basta inserire le seguenti 2 righe:

User-agent: *
Disallow: /

Bisogna però tener presente che i vari spider non sono obbligati a seguire le regole scritte nel file, anche se effettivamente quasi tutti vi fanno riferimento. Un altro aspetto importante è che non tutti i bot sono in grado di interpretare correttamente tutte le direttive impartite.

Per questo, dopo aver creato un robots.txt seguendo le varie risorse e documentazione che si trovano in rete (per esempio The Web Robots Page e Wikipedia hanno una completa documentazione generale sul protocollo), è buona regola utilizzare dei validatori di robots che analizzano il nostro file e segnalano eventuali errori come Robots.txt Checker).

Anche il re dei motori di ricerca offre potenti strumenti per il supporto dei robots.txt. All’interno dei Google Webmaster Tools, infatti, è possibile verificare la qualità del proprio file robots effettuando anche tentativi di accesso al sito come uno spider (il googlebot).

Combinando tutte queste informazioni e tool con anche l’analisi di robots.txt dei siti più importanti (per noi, un buon punto di partenza non poteva che essere http://plone.org/robots.txt) si riesce a tirar fuori una configurazione adatta a ogni necessità.

Parlando di un sito Plone, ad esempio, ci sono alcune pagine che non ha senso pubblicare nei motori di ricerca, come la ricerca (come detto anche prima, non serve a niente indicizzare una pagina senza contenuti) o il form per spedire un contenuto via mail.

Quindi una configurazione per un qualunque bot potrebbe essere questa:

User-agent: botname
Disallow: /folder_contents
Disallow: /folder_factories
Disallow: /search
Disallow: /sendto_form

C’è da notare che mettendo:

Disallow: /search

si disabilita l’accesso a tutti i contenuti del sito che iniziano con "search", quindi anche per esempio "search_form".

Queste non sono le pagine che state cercando

obi wanAlla fine di questa avventura, siamo riusciti a far andare i bot solamente dove vogliamo noi, evitando il rischio di indicizzare pagine inutili che potrebbero portare ad un rallentamento del sistema.

Ho anche imparato a fare un nuovo divertente gioco: provate ad andare nei siti più famosi o tra i vostri preferiti e guardare il loro robots.txt,potreste trovare cose divertenti.
Per esempio, nel sito del Governo (www.governo.it/robots.txt) si può notare come non vogliano far apparire i documenti di trasparenza nei motori di ricerca, anche se questi documenti sono perfettamente pubblicati e accessibili dal sito.

Filed under: ,
comments powered by Disqus