ROBOTS TXT: best practices

Robots.txt: fare attenzioneATTENZIONE: Utilizzare con cautela e con l’aiuto di un consulente esperto, potrebbe causare la scomparsa dell’intero sito dai motori di ricerca

Il protocollo di esclusione robot (REP, Robots Exclusion Protocol) è un meccanismo semplice ed efficace utilizzato sia dai webmaster che dai SEO. Forse, a causa della sua semplicità il file viene spesso snobbato e può divenire causa frequente di problemi di de-indicizzazione di un sito da parte dei web crawler.
Abbiamo quindi cercato di raccogliere soluzioni, suggerimenti ed esempi per facilitare l’implementazione e la gestione del file robots.txt.
Poiché molte delle dichiarazioni REP non standard supportate da Google possono subire variazioni in futuro, provvederemo a fornire aggiornamenti a tal proposito. Robots.txt manuale

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.
Se un URL rimanda a un URL bloccato da un file robots.txt, il primo URL viene segnalato come bloccato da robots.txt in Google Search Console (anche se l’URL è elencato tra quelli consentiti nello strumento di analisi di robots.txt).

I motori di ricerca possono memorizzare il file robots.txt nella cache (ad esempio, Google può memorizzare il file robots.txt nella cache per 24 ore) e per sicurezza richiedono il file robots txt tutte le volte che fanno crawling sul tuo sito.
Aggiornate le regole appropriate nel file robots.txt 24 ore prima di aggiungere contenuti che verrebbero altrimenti esclusi dalle istruzioni REP correnti.
Quando implementate un nuovo sito web da un ambiente di sviluppo, verificate sempre il file robots.txt per accertarvi che nessuna directory importante venga esclusa.
L’esclusione di file mediante robots.txt potrebbe non consentire di salvare (o ridistribuire) il crawl budget dalla stessa sessione di crawling. Ad esempio, se Google non riesce ad accedere a un determinato numero di file, potrebbe non essere in grado di eseguire il crawling di altri file sostitutivi.
Gli URL esclusi dal REP possono continuare ad apparire nell’indice di un motore di ricerca, con la menzione “pagina esclusa dal Robots.txt”.
Ad esempio:
  • 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.
Le URL escluse da robots.txt possono accumulare valore di PageRank, che ovviamente va perso e non contribuisce al posizionamento SEO del sito.
La presente guida contiene riferimenti ad altre funzionalità di robots.txt non comprese nella specifica originale (http://www.robotstxt.org).

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:
  • http://example.com/robots.txt personalizzata non apribile da word

  • 5. Il file deve inoltre essere valido per le versioni protette di un dominio (ad esempio, https://www.example.com/robots.txt).

    6. Alcuni motori di ricerca possono presentare limiti di lunghezza per robots.txt: quindi meglio mettere le cose più importanti nella parte alta del file.

    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)

    – Ciascun elemento deve essere specificato con la lettera iniziale in maiuscolo e le successive lettere in minuscolo.
    – Ciascun elemento deve essere seguito dal simbolo dei due punti (:) e da uno spazio prima dell’istruzione.
    – Ciascuna istruzione deve riferirsi a un’entità dell’URI (cartelle e file non contenuti nella directory principale dell’URL; ossia, non includete il dominio nell’istruzione).
    -Le istruzioni vengono applicate da sinistra a destra; pertanto, i robot vengono bloccati se riscontrano un’istruzione che inizia con /”pattern”. Ciascuna istruzione è sensibile all’uso di maiuscole e minuscole.

    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
    Nei siti web riportato di seguito è possibile trovare un elenco aggiornato degli User‐agent più comuni:

    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:
    # Consente lo spidering dei robot nell’intero sito web
    User‐agent:*
    Disallow:

    Esempio 2:
    # Esclude tutti i robot dall’intero sito web
    User‐agent: *
    Disallow:/

    Esempio 3:
    # Esclude tutti i robot da “/myfolder/” e da tutte le sottodirectory di “myfolder”
    User‐agent: *
    Disallow: /myfolder/

    Esempio 4:
    # Esclude tutti i robot dall’accesso a qualsiasi file che inizia con “myfile”
    User‐agent: *
    Disallow: /myfile

    Esempio 5:
    # 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
    # Consente ai robot di recuperare http://example.com/scripts/page.php,
    # o http://example.com/scripts/page.php?article=1,
    # ma non gli altri URL della cartella http://example.com/scripts/.

    La regola Allow è prioritaria rispetto alla regola Disallow solo per Bot avanzati quali Google Bot; tuttavia, ogni tentativo di evitare la presenza di direttive conflittuali come la seguente può risultare di difficile gestione o causare effetti imprevedibili nell’uso con i vari robot.

    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:
    User‐agent: *
    Disallow:

    Sitemap: http://www.example.com/sitemap.xml
    # personalizzata non apribile da word

    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

    Evitate l’uso di Crawl‐delay, se possibile, o utilizzatelo con cautela poiché può alterare significativamente la tempestività e l’efficacia dello spidering di un sito web.

    * ‐ 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

    Risorse

    Per dettagli specifici sull’interpretazione delle direttive REP da parte di Google, consiglio di consultare il Centro assistenza Google Search Console.
    image_print

    Commenti

    comments