Robots.txt

spiegazione ed esempi

Introduzione

I "Robots" del web, comunemente chiamati Crawlers o spiders, sono programmi che analizzano moltissime pagine di Internet ricorsivamente seguendo i link. In pratica seguono ogni link che trovano nelle pagine continuando il processo finche' non ci sono altri link (teoricamente).
Nel 1993 e 1994 alcuni crawler analizzarono server che non dovevano essere indicizzati per svariati motivi, troppo consumo di banda, segretezza.. cio' indico' la necessita' di stabilire un meccanismo per impedire ai Robots di accedere indistintamente a qualunque server. Lo standard e' diventato appunto il file Robots.txt.

Come funziona

Il principio e' molto semplice: si crea nel server un file che specifica cosa il crawler non puo' prelevare. Il file deve ovviamente essere accessibile attraverso il web (HTTP) ed essere posizionato nella cartella principale (root /) del sito. Il nome deve essere "robots.txt".

La scelta del nome deriva da alcuni semplici motivi:
  • il nome del file non deve creare problemi di restrizione dei piu' comuni sistemi operativi
  • l'estensione (.txt) non deve richiedere configurazioni extra ai server
  • il nome del file deve indicare lo scopo del file stesso ed essere facile da ricordare
  • la probabilita' di avere un altro file di nome uguale nel server deve essere minima

  • Formato

    Il formato ed il significato del file "/robots.txt" e' il seguente:

    Il file consiste in uno o piu' records separati da una o piu' linee bianche (cioe' terminate da CR,CR/NL, o NL). Ogni record contiene linee nella forma:

    "field:optionalspace:value:optionalspace".

    Il nome del "field" non sono case-sensitive (non distinguono cioe' le maiuscole dalle minuscole).
    I commenti possono essere inclusi nel file usando il carattere "#", in questo modo tutto cio' che segue il "#" (cancelletto) sara' ignorato.
    Il record inizia con una o piu' righe "User-agent", seguite da una o piu' linee "Disallow".

    User-agent

  • Il valore di questo campo e' il nome del robot da escludere
  • Se sono presenti i nomi di piu' robots verranno adottate le stesse politiche per tutti i robot.
  • Se il valore e' "*" (asterisco), il record descrive le politiche di accesso per tutti i robot che non sono nominati in altri record. Non e' permesso avere piu' record "*" all'interno del file.
  • Almeno un campo User-agent deve essere presente nel record

  • Disallow

  • Il valore di questo campo specifica un URL parziale che non deve essere visitato. Puo' essere un indirizzo completo, oppure parziale.
    Ogni url che inizia con questo valore non sara' indicizzato
  • Ogni valore vuoto indica che tutti gli URLs possono essere indicizzati
  • Almeno un campo Disallow deve essere presente nel record.

  • Se il file "/robots.txt" e' presente ma vuoto non viene considerato, in pratica il crawler e' libero di indicizzare tutto il sito.

    Esempi

    # robots.txt per un sito http://www.esempio.com/

    Il seguente esempio specifica che nessun crawler puo' visitare nessun url che inizia con "/sito/mappa/" opure "/tmp/" e non puo' inoltre visitare il file "/foo.html":

    # questa frase e' un commento
    User-agent: *
    Disallow: /sito/mapppa/
    Disallow: /tmp/
    Disallow: /foo.html

    Questo esempio specifica che nessun robot puo' visitare nessun URL che inizia con "/sito/mappa/", eccetto il robot chiamato "cybermapper":

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

    User-agent: *
    Disallow: /sito/mappa/

    # Cybermapper invece puo' visitare.
    User-agent: cybermapper
    Disallow:

    Questo esempio indica che nessun robot puo' visitare nessuna pagina del sito:

    # blocco tutti
    User-agent: *
    Disallow: /

    Consiglio

    Utilizzate sempre il file "/robots.txt" anche se non desiderate escludere nessuna directory.
    Questo perche' se per qualche motivo la home del sito non e' raggiungibile il motore capira' che e' un problema temporaneo e ripassera' in seguito


    home page - mappa

    ©2005 ilwebmaster.net Tutti i diritti riservati - All right Reserved -