ROBOT TXT: BEST PRACTICES
Principali caratteristiche
Il file robots.txt definisce il protocollo di esclusione robot (REP) di un sito web. Il file definisce le direttive che escludono i web robot dalle directory o dai file in base all’host di ciascun sito web (si tratta in genere di robot dei motori di ricerca; tuttavia, esistono altri robot che si conformano al REP – consultate la sezione “Web robot”, qui sotto). Il file robots.txt definisce le direttive di crawling e quindi indirettamente quelle di indicizzazione di un sito. I web robot principali come Google Bot, Applebot, Bing, Yandex Bot sono conformi alle direttive che gli fornisci nel file robots.txt, altri web robot non efficaci o che fanno scraping o spam spesso non lo sono (e quindi potrebbe essere necessaria una log analysis per capire il loro comportamento). È preferibile non ricorrere SOLO al file robots.txt per proteggere dati privati o sensibili dai motori di ricerca. Il file robots.txt è accessibile pubblicamente (lo puoi trovare digitando su un comune browser «dominio.it/robots.txt»), pertanto è opportuno evitare di includere file o cartelle che possono contenere informazioni aziendali altamente strategiche. Ad esempio:- Cartelle analitiche di siti web (/webstats/, /stats/ ecc.).
- Aree di test o di sviluppo (/test/, /dev/).
- Elemento XML Sitemap se la struttura URL adottata contiene una tassonomia essenziale.
- Il robot del motore di ricerca non ha visitato nuovamente un sito web e ha elaborato le direttive aggiornate.
- Il motore di ricerca ha individuato l’URL tramite link esterni all’URL e ha memorizzato il riferimento all’URL. In tal caso, i motori di ricerca utilizzeranno le informazioni provenienti da queste sorgenti esterne, quali testo ancorato e testo adiacente di link in ingresso, per valutare la pagina. La popolarità del link di una pagina esclusa può essere un fattore che determina l’indicizzazione della pagina.
Requisiti Robots.Txt
1. Il file deve essere specificato con lettere minuscole (ad esempio, “robots.txt”). 2. Il file deve essere pubblicamente accessibile. 3. Il tipo di file testuale deve presentare un formato di file standard (ad esempio, ASCII o UTF-8). 4. Il file deve trovarsi nella directory principale dell’host di un sito web. Ad esempio:Web robot o Bot
Un web robot (detto anche web crawler o Bot) è un programma informatico che esegue ricerche nel World Wide Web (WWW) in modo metodico e automatizzato. Ogni Bot ha un nome o User Agent: ad esempio il Bot di Google per le immagini si autentica con il nome GoogleBot-Images.Questo processo prende il nome di crawling o spidering. Tutti i principali motori di ricerca si avvalgono di bot automatici per trovare, salvare e fornire risultati di ricerca il più aggiornati possibile.
I web robot in genere richiedono il file robots.txt quando accedono all’host di un sito web; tuttavia, alcuni robot possono memorizzare il file robots.txt nella cache o ignorarlo del tutto.
Alcuni normali utilizzi dei web robot da conoscere:
- Verifica di link (Open Site Explorer o Majestic).
- Convalida di codici HTML (strumento validatore W3C).
- Verifica di URL (Xenu).
- Raccolta di indirizzi e-mail (solitamente per finalità di spamming).
- Recupero di contenuti (solitamente per finalità di spamming).
- Servizi di traduzione (Google Translate).
- Scaricamento di siti web a livello locale per la visualizzazione successiva (winHTTrack).
- Creazione di un archivio per finalità cronologiche (https://archive.org/web/)
- Ricerca verticale (tipi di file specifici, immagini, video, audio, torrent, archivi di file
Struttura
Esistono numerose direttive standard valide per la maggior parte dei web robot più comuni (indicati come User-agent nel file robots.txt). I vari web robot (User‐agent) possono interpretare le direttive non standard in maniera diversa. Ciascuna direttiva deve essere specificata su una riga separata.Ciascuna direttiva è costituita da un elemento: una coppia di istruzioni (ad esempio, Disallow: /webmail/). Gli elementi sono:- User‐agent:
- Disallow
- Allow
- Noindex
- Sitemap
- Crawl‐delay
- #(dichiarazione di commento)
User‐agent
L’elemento User‐agent specifica il web robot al quale vengono applicate le regole che seguono. L’elemento User‐agent può fare riferimento a un singolo web robot o a tutti gli User‐agent indicati dal carattere jolly “*”. Ad esempio:- User‐agent: HAL ‐ Le seguenti direttive si applicano solo al bot “HAL”
- User‐agent: * ‐ Le seguenti direttive si applicano a tutti i web robot
Direttive: utilizzo di “Disallow”
La regola Disallow specifica la cartella, il file o persino un’intera directory da escludere dall’accesso da parte dei web robot.
Esempio 1:
Esempio 2:
Esempio 3:
Esempio 4:
Esempio 5:
# Consente lo spidering dei robot nell’intero sito web
User‐agent:* Disallow: |
# Esclude tutti i robot dall’intero sito web
User‐agent: * Disallow:/ |
# Esclude tutti i robot da “/myfolder/” e da tutte le sottodirectory di “myfolder”
User‐agent: * Disallow: /myfolder/ |
# Esclude tutti i robot dall’accesso a qualsiasi file che inizia con “myfile”
User‐agent: * Disallow: /myfile |
# Esclude “googlebot” dall’accesso a file e cartelle che iniziano con “my”
User‐agent: googlebot Disallow: /my |
Direttive: Utilizzo di “Allow”
La regola Allow è una regola “non standard” che consente a un webmaster di fornire un accesso più granulare o regole più complesse. Perfeziona le istruzioni del precedente “Disallow”. In caso di conflitto, di norma la regola Disallow sovrascrive quella Allow se posizionata prima nelle righe del file testuale# Esclude tutti i robot dalla cartella /scripts/ tranne page.php
Disallow: /scripts/ Allow: /scripts/page.php |
Ad esempio:
User‐agent: * Allow: /example.php Disallow: /example.php |
Direttive: Utilizzo di “Noindex”:
La direttiva Noindex viene supportata soltanto “ufficiosamente” da Google.Il funzionamento della direttiva Noindex dipende dalla direttiva Disallow e comporta inoltre la rimozione di tutti gli URL corrispondenti da Google.
Utilizzate la direttiva Noindex con cautela perché il suo funzionamento o il suo supporto possono variare.
Inserimento del link alla Sitemap.xml:
La dichiarazione Sitemap indica la XML Sitemap o la XML Sitemapindex (somma di diverse sitemap).
L’elemento Sitemap deve indicare un URL assoluto (a differenza di altri elementi che indicano la folder o URL relativa).
Ad esempio:
# personalizzata non apribile da word
User‐agent: * Disallow: Sitemap: http://www.example.com/sitemap.xml |
Un file robots.txt può contenere più dichiarazioni Sitemap.
La dichiarazione Sitemap può indicare il file XML non compresso standard o la versione compressa.
Se l’elemento XML Sitemap contiene dati aziendali strategici che devono essere mantenuti segreti, non utilizzate quest’istruzione, ma rinominate invece la Sitemap.XML in modo che non possa essere identificato facilmente e inviatelo tramite Google Search Console.
Molti motori di ricerca tenteranno di rilevare automaticamente XML Sitemap tramite la dichiarazione Sitemap di un file robots.txt.
Il rilevamento automatico di Sitemap tramite robots.txt non sostituisce gli invii di Sitemap tramite Google Search Console con cui invece è possibile inviare elementi Sitemap e ottenere statistiche d’indicizzazione.
Crawl‐delay:
La direttiva Crawl‐delay impone ai robot di eseguire una pausa tra richieste di pagine successive.Google non supporta la direttiva Crawl‐delay.
Questa direttiva è una riduzione relativa della velocità di crawling e si esprime con un numero:
Nessun dato= Crawl Delay normale
1= Lento
5= Molto Lento
10= Estrememente Lento
Ad esempio:
User‐agent: * Disallow: Crawl-delay: 5 Sitemap: http://www.example.com/sitemap.xml |
* ‐ Carattere jolly
L’asterisco (*) viene utilizzato come carattere jolly. Consente di applicare le direttive a più robot con un unico insieme di regole o di indicare uno o più caratteri nella dichiarazione delle istruzioni.#la seguente regola esclude GOOGLEBOT dall’accesso a qualsiasi URL contenente “page”
User‐agent: Googlebot Disallow: /*page |
#Questa regola esclude i seguenti file e le cartelle da googlebot (e quindi dall’indicizzazione in Google):
beauty-pageants.php
/myfolder/example-page.php
/frontpage/ (e tutte le sottocartelle e i file di questa directory)
L’asterisco * può anche significare “nessun carattere”
Ad esempio:
User‐agent: * Disallow: /*gallery/default.aspx |
# Esclude /picture-gallery/default.aspx
# Esclude anche /gallery/default.aspx
$ ‐ Carattere di fine riga
Il carattere $ indica qualsiasi URL che termina con i caratteri precedenti.Ad esempio:
User‐agent: * Disallow: /webmail/ Allow: /webmail/$ |
# Esclude tutti i file e le sottocartelle di una directory ma
# consente l’accesso alla landing page
Uso combinato di * e $ – Esempi
È possibile utilizzare insieme i caratteri jolly $ e *. L’uso combinato può riguardare direttive Allow e Disallow.Ad esempio:
User‐agent: * Disallow: /*asp$ |
# Non esclude file con stringhe di query o cartelle a causa di $
# Escluso ‐ /pretty‐wasp
# Escluso ‐ /login.asp
# Non escluso ‐ /login.asp?forgotten‐password=1