Il protocollo Robots Exclusion (REP) è uno strumento semplice ma allo stesso tempo potente a disposizione di webmaster e consulenti SEO.

Vediamo in questa guida tutte le best practice, i trucchi e i suggerimenti utili per strutturare il file robots.txt, il file con cui si comunicano ai web robot le restrizioni di analisi alle pagine e alle directory di un sito web attraverso il protocollo REP.

Che cos’è un Web Robot

Un web robot (o bot o web crawler) è un programma che naviga il web tipicamente per raccogliere informazioni in maniera automatica (definizione Wikipedia qui).

Normalmente un (buon) bot, una volta che accede a un sito, richiede il file robots.txt al server per verificare le direttive di crawling impostate dal webmaster prima di procedere alla scansione. Gli utilizzi tipici di un bot sono la raccolta informazioni sui link, la validazione di codice HTML, la raccolta di indirizzi email per SPAM, lo scraping di contenuto ecc…

Tra questi utilizzi tipici vi è, appunto, il crawling del contenuto da parte dei motori di ricerca (Google in primis).

Alcune importanti premesse sul file Robots.txt

A causa della sua apparente semplicità, la configurazione del file robots.txt viene spesso sottovalutata dai webmaster.

Una errata configurazione del file può diventare però causa di rilevanti problematiche SEO per un sito: per questa ragione, quando si crea il file robots.txt per un sito internet è molto importante tenere a mente alcuni punti fondamentali:

    Robot

  • E’ possibile accedere pubblicamente al file robots.txt di un sito
  • In fase di sviluppo di nuove aree o sezioni di siti web conviene sempre fare un check del file robots.txt per assicurarsi che le nuove URL siano localizzate in percorsi a cui i motori di ricerca hanno accesso
  • Il file, contrariamente a quanto spesso si crede, definisce direttive di crawling (e non di indicizzazione)
  • I bot dei principali motori di ricerca (es. Google) rispettano le regole inserite in un file robots.txt ma non si può sempre dire lo stesso delle migliaia di bot che eseguono tutti i giorni il crawling della rete Internet. E’ quindi opportuno non fare troppo affidamento sul file robots.txt per nascondere informazioni importanti ai motori di ricerca
  • Le URL incluse nel file robots.txt possono comunque apparire nei risultati di un motore di ricerca. Questo generalmente accade o perché il bot del motore non ha riconosciuto / rispettato le direttive incluse nel file robots.txt o perché il motore stesso ha identificato comunque la URL attraverso link da risorse esterne (ad esempio pagine di altri siti, altre pagine del nostro sito, sitemap xml o html)

Esempio di URL esclusa dal crawling attraverso il file robots.txt e che compare comunque fra i risultati di Google:

indexed

Struttura del file robots.txt

Il file robots.txt utilizza un protocollo molto semplice in cui ogni riga del file contiene un record composto da un elemento “campo” e un elemento “valore”.

Ecco 4 punti da tenere a mente riguardo struttura e sintassi del file robots.txt:

  • La sintassi del file robots.txt comprende 6 campi principali: user-agent, disallow, allow, sitemap, crawl-delay, noindex (gli ultimi due poco utilizzati)
  • Ogni campo deve essere seguito dai due punti ( : ) prima di riportare il proprio valore
  • User-agent diversi possono interpretare in maniera differente regole standard
  • Ogni regola di crawling si riferisce alle URI (cartelle e file al di fuori della root della URL, perciò non va incluso il nome di dominio nell’istruzione)

Vediamo adesso nel dettaglio la funzione e l’utilizzo degli elementi principali di un file robots.txt.

User-agent

  • L’elemento User-agent specifica il bot a cui si applicano le regole che seguono nella sintassi
  • User-agent può riferirsi ad un solo bot o a tutti i bot attraverso l’utilizzo del carattere asterisco (“*”)

Disallow & Allow

“Disallow” è il nome de campo che specifica il percorso o il file a cui impedire la scansione ad un bot.
Se il campo “Disallow” viene lasciato con valore vuoto significa che si consente al bot l’accesso ad ogni folder del sito.

Al contrario di “Disallow”, la regola che aiuta a definire direttive più granulari di accesso al contenuto da parte di un bot è definita attraverso il campo “Allow”.

Importante: il valore del campo “Allow”, quando la direttiva viene interpretata da Google o Bing, ha la precedenza sul valore del campo “Disallow”. E’ quindi importante cercare di evitare combinazioni di campi “Disallow” e “Allow” che possono essere viste come contradditorie da questi due motori di ricerca.

Esempi di utilizzo dei campi “Disallow” e “Allow” nelle direttive del file robots.txt:

Crawl-delay

Il campo Crawl-delay, se impostato, serve ad indicare ai bot il numero di secondi che devono aspettare prima di richiedere una nuova risorsa al server durante il processo di crawling. La direttiva è molto utile qualora, ad esempio, si voglia preservare la larghezza di banda del server senza sovraccaricarlo con richieste troppo frequenti. Google non supporta Crawl-delay, Bing invece sì.

Per quanto riguarda Google è possibile modificare la velocità delle richieste di Googlebot durante il processo di scansione attraverso Webmaster Tools.

Come specificato da Google stesso, l’impostazione ha effetto appunto sul tempo impiegato da Googlebot per eseguire la scansione del sito (crawling) e non su quanto frequentemente avviene il processo di scansione da parte di Google.

Sitemap

Il campo Sitemap riporta come valore la URL dove il bot può accedere alla Sitemap XML del sito.
Riguardo al campo Sitemap è importante tenere a mente che:

  • Il valore del campo, per essere valido, deve puntare ad una URL assoluta (http://www.domain.com/sitemap.xml )
  • Ogni file robots.txt può avere più di una Sitemap dichiarata al proprio interno e la URL a cui punta il campo Sitemap può essere sia quella della versione non compressa (.XML) che quella della versione compressa della nostra Sitemap XML

Caratteri speciali del file robots.txt

Esistono infine alcuni caratteri speciali che possono essere utilizzati – con differenti funzioni – all’interno del file robots.txt:

  • L’asterisco (“*”) è il carattere “wildcard” del file robots.txt. Attraverso l’asterisco si può applicare una stessa direttiva a più bot (User-agent: *) oppure indicare uno o più caratteri quando si dichiarano le istruzioni
  • Il simbolo dollaro ($) ha come significato ogni URL che termina con il carattere precedente il simbolo stesso
  • Il simbolo dollaro e il carattere asterisco possono essere utilizzati insieme

Esempi di utilizzo dei caratteri speciali:

Esempi di file robots.txt

Chiudiamo infine con alcuni esempi interessanti di file robots.txt relativi a siti che, per un motivo o per l’altro, tutti conosciamo:

Almeno per il momento sul file robots.txt è tutto… questa guida si conclude qui, ma tu cosa ne pensi?
L’hai trovata utile? Aggiungeresti qualcosa? Come strutturerai adesso il file robots.txt del tuo sito?

Lascia un commento, e se questo post ti è piaciuto condividilo sui social media!