Sta per compiere 25 anni il protocollo di esclusione robot, in originale Robots Exclusion Protocol, lanciato online il 30 giungo 1994 dopo aver avuto il via libera dei componenti della “robots mailing list”: a un quarto di secolo di distanza, oggi il file robots.txt ha assunto un ruolo importante per la SEO, pur rappresentando un fattore a volte ostico.

Cos’è il file robots.txt

Il file robots.txt è un semplice file di testo di piccole dimensioni, scritto in ASCII oppure UTF-8 e contenuto nella directory principale di un sito per indicare ai crawler dei motori di ricerca quali pagine o file non possono richiedere al sito ed evitare così un sovraccarico di richieste da parte dei crawler stessi.

Si tratta di un file pubblico e al suo interno vanno inserite le istruzioni per bloccare la scansione di alcune o tutte le pagine del sito a tutti o alcuni spider dei motori di ricerca, che comunque possono accedere al file, così come possono farlo gli utenti umani.

L’importanza del file robots.txt per la SEO

È bene specificare che ogni sito può produrre soltanto un singolo robots.txt e, in linea di massima, si consiglia sempre di creare un file robots.txt, anche se intendiamo dare via libera a tutti gli spider su tutte le pagine: la semplice presenza del documento nella directory principale del sito eviterà la comparsa di un errore 404.

Nella strategia SEO e di ottimizzazione onpage il file robots riveste un ruolo centrale, perché consente di gestire il traffico dei crawler verso il nostro sito e, come spiegato da Google, “a volte per escludere una pagina da Google, a seconda del tipo di file”.

Presentare un file robots.txt ben strutturato e ben impostato fa risparmiare allo spider molto tempo, che potrà essere impiegato a leggere meglio le altre parti del sito.

Il robots.txt non esclude sempre le pagine da Google

Chiedere allo spider di non considerare un determinato file non significa nascondere o impedire l’accesso assoluto a quella risorsa, che potrà essere ritrovata dagli utenti che conoscono e digitano l’URL preciso. Allo stesso tempo, poi, se ci sono altre pagine che rimandano a una pagina del tuo sito con testo descrittivo, tale risorsa sito potrebbe essere comunque indicizzata anche se non è stata visitata, generando un risultato di ricerca senza descrizione.

Risultato non escluso da Google

L’immagine in pagina evidenza un risultato di ricerca su Google che manca di informazioni, perché il sito ha vietato a GoogleBot di reperire la meta descrizione ma non ha effettivamente nascosto la pagina e impedito la sua indicizzazione in Search.

Come spiega anche Google nella guida alla Search Console, dunque, il robots “non è un meccanismo che permette di escludere una pagina web da Google“, perché per ottenere questo obiettivo bisogna “usare istruzioni o tag noindex oppure proteggere tramite password le pagine”.

Pagine indicizzate nonostante l’esclusione robots

È sempre nelle fonti ufficiali di Google che si legge, più nello specifico, che “una pagina bloccata dal file robots.txt può comunque essere indicizzata se altri siti hanno link che rimandano alla pagina”: questo significa che potenzialmente nelle SERP della Ricerca Google possono comparire anche risorse bloccate se l’indirizzo URL di riferimento e altre informazioni relative come l’anchor text sono disponibili pubblicamente altrove.

Un altro caso di “mancata esclusione” potrebbe derivare da una differente interpretazione da parte dei bot delle istruzioni contenute nel file, motivo per cui è importante “conoscere la sintassi più appropriata da applicare ai diversi web crawler” per evitare queste incomprensioni.

In definitiva, secondo Google l’unico metodo “per garantire la totale sicurezza delle informazioni riservate” presenti sul sito è utilizzare come sistema di blocco “la protezione mediante password dei file privati presenti sul tuo server” o altre strumenti più specifici.

A cosa serve il file robots.txt

E dunque, qual è l’utilità del file robots per la SEO? Abbiamo accennato prima che tale documento ci permette di gestire le richieste dei crawler di Google o altri motori di ricerca, ma più nello specifico ci aiuta a ottimizzare il crawl budget, perché evita che i bot eseguano la scansione di pagine simili o non importanti del sito.

In altre parole, questo strumento serve ai gestori di un sito ad applicare restrizioni di analisi sulle pagine aperte ai crawler dei vari motori di ricerca per la loro attività regolare, riducendo di conseguenza la mole di lavoro degli spider stessi sulle risorse, che può essere destinata alla navigazione di pagine più utili al business.

La comunicazione tra sito e bot avviene attraverso un protocollo molto semplice, che indica espressamente una lista di pagine e directory che gli spider non possono prelevare e, di conseguenza, indicizzare nella maniera comune.

Intervenire sulla scansione delle pagine del sito

Le istruzioni contenute nel file robots.txt sono linee guida per l’accesso ai siti e, nel caso di GoogleBot e altri web crawler affidabili, assicurano che non sia eseguita la scansione o l’indicizzazione dei contenuti bloccati (con i distinguo di cui sopra), mentre non esiste una regola opposta per dire a uno spider “preleva questa pagina” sempre.

I comandi per bloccare i crawler e le pagine

In termini pratici, ogni record del file comprende due campi: “User-agent” e “Disallow”, che servono a definire la lista delle esclusioni.

L’inserimento di questi valori permette di agire su due fronti: il campo user-agent dà facoltà di escludere l’attività di specifici crawler dei motori di ricerca. Ad esempio, è possibile lasciare libertà di scansione a GoogleBot ma applicare la regola di eccezione solo al bot di Bing.

Nel campo disallow, invece, si possono inserire URL specifici o un pattern di URL del sito che devono essere esclusi dall’indicizzazione del robot/spider indicato in precedenza.

Differenze tra file robots.txt e meta tag robots

Il file robots rappresenta per così dire un’evoluzione del meta tag robots, uno strumento pensato comunicare con tutti gli spider dei motori di ricerca e invitarli a seguire specifiche direttive relative all’utilizzo della pagina web specifica.

Le differenze tra questi elementi sono molteplici, e due sono sostanziali: il meta tag nel codice HTML è dedicato alla singola pagina web, e non dunque riferibile alla scansione su interi gruppi di pagine o intere directory, e inoltre non permette di differenziare le indicazioni per i singoli spider.

Come si crea un file robots.txt

Anche se alcuni hosting di siti utilizzano sistemi interni per gestire le informazioni da destinare ai crawler, è comunque bene conoscere la forma e la struttura del file robots.txt che, come detto, è un file di testo normale conforme al Protocollo di esclusione robot.

Il documento è formato da una o più regole, ciascuna delle quali blocca o permette “l’accesso di un determinato crawler a un percorso di file specificato nel sito web in questione”. Come dicevamo, per creare un file robots.txt si può usare qualsiasi editor di testo che utilizzi con caratteri ASCII o UTF-8 standard, mentre è sconsigliabile utilizzare un elaboratore di testo, che in genere salvano i file in un formato proprietario e possono aggiungere caratteri non previsti che possono causare problemi ai crawler.

Le regole del file robots.txt

Per impostare un file robots.txt efficace ci sono alcune regole di formato e posizione da rispettare: innanzitutto, il nome del file deve essere precisamente robots.txt, può esisterne solo uno per ogni sito e i commenti sono qualsiasi riga.

Il documento deve necessariamente risiedere nella directory principale dell’host del sito web a cui si applica e non può essere inserito in una sottodirectory; se non è possibile accedere alla directory principale del sito web, si possono usare in alternativo i blocchi attraverso i meta tag. Il file può essere applicato a sottodomini o a porte non standard.

Come detto a proposito della sitemap e degli errori più frequenti, bisogna fare attenzione a non indicare nella mappa degli URL bloccati nel robots, per evitare cortocircuiti penalizzanti per il sito.

La sintassi del file robots.txt

Anche la sintassi ha delle norme rigorose, a cominciare dall’adozione esclusiva di caratteri ASCII o UTF-8 e dalla sensibilità alla distinzione tra maiuscole e minuscole; ogni file è formato da una o più regole, a loro volta composte da diverse istruzioni da riportare singolarmente sulle righe.

Le regole informano sul bot a cui si applicano (user-agent), sulle directory o i file a cui l’agente non può accedere e quelli a cui invece può accedere (comando allow), partendo dalla supposizione predefinita che un crawler possa eseguire la scansione di tutte le pagine o directory che non siano espressamente bloccate da una regola disallow.

GM