Robots txt: come usare il robots.txt in ottica SEO

Articolo aggiornato il 16 gennaio 2018

Il robots txt viene spesso sottovalutato, pur avendo una grande importanza. Analizziamo la struttura del file, la sua configurazione e le buone pratiche per la SEO.

Spesso si tende a sottovalutare l’importanza del robots.txt, ma non dimentichiamo la sua importanza per la comunicazione con crawler dei motori di ricerca: se non curato a dovere, potrebbe determinare la scomparsa dalle pagine dei risultati (SERP).

 

 

Cos’è il robots.txt

Il robots.txt è un semplice file di testo che può essere posizionato all’interno della directory “radice” di uno spazio web con lo scopo di specificare alcune regole per ottenere delle restrizioni di analisi su pagine, o su intere zone di un sito Internet, da parte degli spider dei motori di ricerca.

L'Importanza robots.txt per la SEO

L’Importanza robots.txt per la SEO

Tali regole fanno parte di un protocollo denominato “Robots Exclusion Standard” (standard per l’esclusione dei robot dei motori di ricerca).

 

Come funziona il file ROBOTS.TXT

Prima di analizzarne la struttura, desidero ribadire il concetto sul quale si basa suo funzionamento; spesso, infatti, mi capita di osservare degli errori (anche grossolani) che presumibilmente derivano dall’errata interpretazione di tale principio.

Il file robots.txt stabilisce quali file e/o directory NON devono essere considerati dai crowler.

 

Come si crea un file robots.txt

Come si crea un file robots.txt

 

La struttura del file è molto semplice: è composto da diversi “blocchi” di istruzioni, ognuno dei quali specifica due parametri:

  1. User-agent: lo spider di riferimento (mediante una semplice ricerca possiamo ricavare la lista completa degli spider: un esempio);
  2. Disallow: il file (o la directory) che non deve essere considerato dalla scansione.

Le voci “Disallow” possono essere più di una per ogni blocco.

Vediamo un esempio che renderà più semplice la comprensione:

User-agent: Googlebot
Disallow: /file-da-escludere.html
Disallow: /directory-da-escludere/

E’ facile intuire che tali direttive comunicano allo spider “Googlebot” di non considerare il file e la directory indicati.

 

Configurazioni avanzate

Le configurazioni viste finora sarebbero sufficienti per comprendere i vantaggi dell’utilizzo del file robots.txt rispetto ai meta tag; tuttavia, le potenzialità sono di molto superiori.

Vediamo una carrellata di possibili ulteriori “scenari“, per passare, successivamente, all’analisi di alcuni consigli per utilizzare il robots.txt per la SEO.

 

Blocco di tutto il sito web

Un tipico esempio di questa situazione si verifica durante il periodo di sviluppo di un sito web, in cui è preferibile mantenerlo “invisibile” ai motori di ricerca.

Disallow: /
robot.txt: configurazioni avanzate

robot.txt: configurazioni avanzate

Il carattere “/” (slash) indica la directory radice. Ogni risorsa da indicare nella voce “Disallow” dovrà quindi iniziare con tale carattere.

 

Blocco di tutte le immagini per Google Immagini

User-agent: Googlebot-Image
Disallow: /

 

Blocco di una immagine specifica per Google Immagini

User-agent: Googlebot-Image
Disallow: /images/nascondi.png

 

Blocco di una particolare tipologia di file

User-agent: Googlebot
Disallow: /*.php$

Questa istruzione blocca Googlebot per quanto riguarda tutti i file PHP. Una regola di questo tipo potrebbe essere utilizzata nel caso in cui si utilizzi il rewrite degli URL, per non rischiare che vengano indicizzati anche dei file PHP (per ottenere questo risultato, esistono molte soluzioni alternative).

robots.txt - configurazione avanzata (SEO)

robots.txt – configurazione avanzata (SEO)

Il carattere “$” indica il termine della stringa dell’URL e viene inserito per specificare che vengono bloccati i file PHP che nell’URL non possiedono dati oltre all’estensione.

 

Blocco di una serie di directory il cui nome inizia per…

User-agent: *
Disallow: /wp*/

Tutte le directory che iniziano per “wp” verranno ignorate dagli spider (tale configurazione potrebbe non essere compatibile con tutti i motori di ricerca). Configurazione che potrebbe essere utilizzata nel caso si utilizzi WordPress.

 

Blocco con “eccezione

Grazie all’istruzione “Allow“, possiamo gestire alcune eccezioni di blocco.

User-agent: *
Allow: /directory-da-escludere/file-da-non-escludere.html
Disallow: /directory-da-escludere/

Nell’esempio vengono bloccati tutti gli spider nella scansione della directory denominata “directory-da-escludere“, ad eccezione del file “file-da-non-escludere.html” in essa contenuto. Non tutti i motori di ricerca sono strutturati per rispettare questa configurazione; tuttavia, per aumentare la compatibilità, è importante inserire le voci “Allow” prima di quelle “Disallow“.
Consiglio, inoltre, di fare molta attenzione nella creazione di eccezioni complesse, per evitare di scrivere regole discordanti.

 

Nota sulla compatibilità

Come abbiamo visto, alcune istruzioni non vengono interpretate da tutti gli spider dei motori di ricerca. Consiglio, quindi, di eseguire delle verifiche prima di inserire delle regole particolari.

Googlebot, ad esempio, supporta una versione estesa del protocollo robots.txt standard. Accetta, quindi, la direttiva “Allow” e dei particolari pattern, alcuni dei quali sono stati illustrati negli esempi.

 

La direttiva Crawl-Delay del robots.txt

E’ una istruzione che può essere inserita all’interno del robots.txt, la quale è stata creata per comunicare il ritardo (in secondi) che si desidera impostare tra una richiesta e l’altra.
E’ importante sapere, però, che tale direttiva non viene considerata da Googlebot, il quale utilizza metodi più avanzati, adattandosi ai tempi di reazione del server web.

Nel video che segue, che fa parte dei SEO Snippets, John Mueller spiega tutto questo in dettaglio.

All’interno di Google Search Console, comunque, tra le voci di “Impostazioni sito“, possiamo impostare la “Frequenza di scansione“. Tuttavia, per i motivi spiegati nel video, sconsiglio di modificare le impostazioni.

 

Come analizzare il file robots.txt di un sito web

Grazie a Google Search Console, possiamo verificare se le impostazioni del nostro robots.txt sono corrette, o meglio, se realizza i “blocchi” verso le aree del sito web desiderate.

robots.txt: analisi con Strumenti per Webmaster di Google

robots.txt: analisi con Search Console di Google

Per eseguire il controllo, è necessario entrare all’interno della voce “Scansione” > “URL bloccati” del pannello di Google Search Console.

Se il sito web configurato possiede un file robots.txt, verrà rilevato automaticamente dal sistema, il quale ne fornirà l’analisi. Viceversa, possiamo utilizzare gli appositi campi ed aree di testo per eseguire delle simulazioni.

 

Come usare il file robots.txt per la SEO: buone pratiche

Analizziamo alcune “buone pratiche” per la SEO relative al file robots.txt.

robots.txt: ottimizzazione in ottica SEO

robots.txt: ottimizzazione in ottica SEO

1) Il file robots.txt non dovrebbe essere utilizzato per la gestione dei contenuti duplicati: esistono delle tecniche migliori e più performanti.

2) Le istruzioni di “Disallow” sono direttive principali, non semplici suggerimenti. Per questo motivo vanno utilizzate con criterio e non con leggerezza.

3) I blocchi agli URL imposti dal robots.txt non garantiscono che tali risultati non compariranno nelle pagine di ricerca di Google.

4) L’inserimento di una regola “Disallow“, non va a rimuovere i contenuti indicizzati, ma si dispone che gli spider non vi accedano. Se si desidera attuare una rimozione, è necessario utilizzare l’apposito tool messo a disposizione da Google Search Console.

5) Se all’interno del robots.txt, viene specificato uno spider (ad esempio Googlebot) come User-agent, nel momento della scansione da parte dello spider specifico, tutte le istruzioni precedenti verranno ignorate e verranno considerate solo quelle successive alla definizione.

Il seguente esempio, infatti, indica un blocco totale nei confronti di tutti gli spider, tranne Googlebot:

User-Agent: *
Disallow: /
User-Agent: Googlebot
Disallow: /cgi-bin/

6) E’ bene fare molta attenzione quando si impostano dei “Disallow” per intere directory. Ricordiamo, infatti, che il blocco vale per la cartella specificata, ma anche per le sotto-directory ed i file in esse contenute.

7) Blocco dei link in ingresso (l’errore più pericoloso nella manipolazione del robots.txt da parte di non esperti): se un URL è bloccato dal robots.txt, ma una pagina (interna o esterna al dominio) contiene un link verso tale URL, si creerà una situazione ambigua che..

  • Potrebbe generare dei risultati senza titolo e senza snippet nelle SERP (grazie all’istruzione “site:” di Google sono facilmente visualizzabili); questa tipologia di risultato diventa una sorta di “risultato soppresso” all’interno della ricerca organica, generando una cattiva esperienza per gli utenti.
  • Nel caso di un backlink, non permetterà di sfruttarne i benefici dal punto di vista del posizionamento perché non verrà trasmessa la link juice (anchor text e Page Rank) dall’esterno.

 

COSA FARE IN QUESTO CASO?
La soluzione più indicata è quella di utilizzare il meta tag robots con content NOINDEX,FOLLOW (accertandoci che la stessa pagina non sia bloccata dal robots.txt). In questo modo, la pagina non verrà indicizzata, ma la link juice avrà la possibilità di fluire. Tuttavia, però, ci troveremmo comunque in una situazione di non coerenza a causa della errata presenza del link verso una pagina che il motore di ricerca non dovrebbe conoscere. Consiglio di fare molta attenzione al corretto “flusso di link“.

Per chi utilizza WordPress, suggerisco l’utilizzo del plugin WordPress SEO by Yoast, il quale permette di gestire i meta tag robots di ogni tipologia di contenuto.

8) CSS e JS: è importante sapere che i crowlwer non li indicizzano, quindi non è necessario bloccarli da robots.txt.

 9) Anche se la nostra “sitemap” (sitemap.xml) può essere indicata direttamente dentro al pannello di Google Search Console, consiglio di indicarla anche nel file robots.txt, mediante la seguente sintassi:

Sitemap: http://www.sitoweb.com/sitemap.xml

10) Attenzione ai commenti. E’ possibile inserire delle righe di commento all’interno del file robots.txt, attraverso il carattere “#” prima di una stringa:

# questo è il mio robots.txt

oppure

Disallow: /cgi-bin/ # questa directory non deve essere indicizzata

ma teniamo sempre presente che il robots.txt è un file pubblico, quindi evitiamo assolutamente di scrivere, sotto forma di commento, delle informazioni “sensibili” per la sicurezza del sito web.

11) Status Code. Per preservare l’indicizzazione di un sito web è consigliato il monitoraggio dello “status code” restituito dalla richiesta del file robots.txt. Tale codice dovrà essere 200 (richiesta andata a buon fine), oppure dal 404 al 410 (la risorsa è assente o è stata rimossa). In caso contrario, è importante comprenderne il motivo, poiché Google potrebbe procedere alla rimozione delle pagine indicizzate, causando una riduzione drastica delle visite.

 

robots.txt - Perché è importante? Buone pratiche

robots.txt – Perché è importante? Buone pratiche

Il meta tag ROBOTS

L’html possiede un meta tag omonimo (“ROBOTS”) che ha la stessa funzione del file robots.txt e può essere utilizzato direttamente all’interno del blocco header delle pagine.  Tale caratteristica ne rappresenta il “tallone d’achille“: l’azione delle direttive, infatti, riguarda la singola pagina ed il sistema non permette di creare regole per gruppi di pagine e/o di directory.

Googlebot meta tag: direttive

Googlebot meta tag: direttive

L’azione del tag, inoltre, risulta essere limitante, in quanto non prevede la  personalizzazione del “comportamento” per singolo spider.

Vediamo qualche esempio di meta tag.

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">

Il meta tag “robots” con questi attributi comunica al crowler di indicizzare la pagina (“index“) e di seguire tutti i link contenuti al suo interno (“follow“). La combinazione “INDEX,FOLLOW” può essere sostituita da “ALL“; allo stesso modo, “NOINDEX,NOFOLLOW” può essere specificata da “NONE“.

<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">

In questo caso, invece, le indicazioni per lo spider sono di non indicizzare la pagina, ma di seguire i link che contiene. Vedremo in seguito quale potrebbe essere l’utilità di questa configurazione.

 

Il meta tag per GOOGLEBOT

Analogamente, Gooogle, attraverso un meta tag specifico, consente di dare delle direttive al proprio bot (Googlebot).
Vediamone alcuni esempi.
<META NAME="GOOGLEBOT" CONTENT="NOSNIPPET">
Specifica di evitare la creazione dello snippet tra i risultati del motore di ricerca.
<META NAME="GOOGLEBOT" CONTENT="NOODP">
Comunica a Google di non visualizzare delle descrizioni alternative ricavate dalle directory web (ODP – Open Directory Project / DMoz – Directory Mozilla), per la pagina web che lo contiene.
Oltre a quelli visti, esistono altri tipi di “content“: noarchive (specifica di non creare una “copia cache“), unavailable_after (permette di indicare una date ed un’ora dopo le quali la pagina non verrà più indicizzata), noimageindex (la pagina che lo contiene non potrà essere indicata come pagina di riferimento all’interno della ricerca delle immagini), noindex e nofollow.
Va specificato che Google riconosce anche il mete tag “robots“, con tutti i parametri appena elencati.

Conclusioni

  1. Il file robots.txt è uno strumento tanto potente quanto sottovalutato, soprattutto dagli “addetti ai lavori“. Dicendo “sottovalutato“, non intendo dire “non utilizzato“, ma ritengo che spesso venga utilizzato con troppa leggerezza.
  2. Quando creiamo le regole, teniamo sempre presente che il giusto utilizzo è la negazione (“disallow“); le istruzioni “allow” sono delle eccezioni e vanno utilizzate meno possibile (anche perché non sono universalmente interpretate dai bot) e correttamente.
  3. La differenza tra “scansione” e “indicizzazione“. Spesso si tende a fare confusione tra questi due termini. Il primo indica l’insieme delle procedure attuate dai motori di ricerca per processare le pagine web allo scopo di inserirle all’interno di un indice; il secondo, si riferisce, appunto, all’inserimento dei dati delle pagine web nell’indice del motore di ricerca. Quando parliamo di robots.txt, facciamo sempre riferimento alla scansione.
  4. Come evidenziato nell’articolo, non esiste una direzione assoluta nell’uso di meta tag robots o del file robots.txt: la scelta va valutata in base alle esigenze.
  5. L’utilizzo della sezione di Google Search Console per l’analisi degli URL bloccati è fortemente consigliata. A questo proposito, ricordo che le modifiche apportate al file non vengono percepite in tempo reale, ma dopo la successiva scansione dello spider.

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *