Pochi giorni fa abbiamo parlato delle attenzioni che Google sta dedicando al file robots.txt e all’impegno per uno standard condiviso, anticipando anche che la compagnia stava modificando le regole non supportate da Googlebot come crawl-delay, nofollow e noindex. Vediamo più nel dettaglio quali sono le nuove specifiche previste per il crawler di Google.

Il documento ufficiale di Google

Il riferimento è un documento ufficiale della compagnia di Mountain View, chiamato proprio “Specifiche relative al file robots.txt”, che contiene l’elenco dettagliato di tutte le procedure corrette che gli sviluppatori devono seguire nella realizzazione di un file valido e senza errori.

Googlebot e file robots.txt, cosa cambia

Come già dicevamo nel precedente articolo, i cambiamenti più grandi e interessanti sono 5, riassunti da un tweet della Googler Lizzy Harvey:

    • Googlebot segue fino a 5 redirect.
    • Non ci sono restrizioni di crawling se non è disponibile da più di 30 giorni.
    • Google considera le richieste non riuscite o i dati incompleti come un errore del server.
    • Limite di 500 KiB: se si supera, il contenuto del file viene ignorato.
    • Supporto di tutti i protocolli basati su URI.

Gli screen Twitter di Gary Illyes

I chiarimenti sulle regole per Googlebot

Nello specifico, Google ufficializza che il suo bot segue fino a cinque passaggi di reindirizzamento e se non viene trovato alcun file robots.txt, Google lo considera come un 404 per il file robots.txt. La gestione dei reindirizzamenti logici per il file robots.txt basato sul contenuto HTML che restituisce 2xx (frame, JavaScript o redirect di tipo meta-refresh) è scoraggiata e il contenuto della prima pagina viene utilizzato per trovare le regole applicabili.

Il crawling di Google di fronte agli errori

Per gli status di errore 5xx, se il file robots.txt non è raggiungibile per più di 30 giorni Googlebot utilizza l’ultima copia della risorsa memorizzata nella cache o, se non disponibile, Google presuppone che non vi siano restrizioni di ricerca per l’indicizzazione. Gary Illyes ha dato un’indicazione aggiuntiva su questo aspetto: se Googlebot trova un server error per meno di 30 giorni, ferma la scansione (presumendo un full disallow), per più di 30 giorni usa l’ultima versione in cache per il crawling, e se non trova la copia riprende la scansione senza alcuna restrizione. Inoltre, questo timer si aggiorna e resetta ogni volta che cambia lo status di errore: se un sito ha un 5xx per 20 giorni, poi va in 4xx un giorno e poi torna a 5xx, Googlebot conterà il tempo a partire dall’ultimo cambiamento di stato.

Cosa cambia per Googlebot

Le altre modifiche riguardano aspetti tecnici del file robots.txt per Googlebot, e tra le novità più interessanti segnaliamo:

  • Rimozione della sezione “Requirements Language” (Requisiti relativi alla lingua) nel documento Google.
  • I “record” vengono ora chiamati “linee” o “regole”, a seconda dei casi.
  • Google non supporta la gestione di elementi con errori semplici o typos (gli errori di battitura, come ad esempio scrivere “useragent” anziché “user-agent”).
  • La sintassi formale aggiornata valida è Augmented Backus-Naur Form (ABNF) per RFC5234 e copre i caratteri UTF-8 nel file robots.txt.
  • Aggiornata la definizione di “gruppi” per renderla più breve e più precisa. Aggiunto un esempio per un gruppo vuoto.
  • Rimossi i riferimenti al deprecato schema di scansione Ajax (Ajax Crawling Scheme).