Robots.txt: cos’è e come funziona questo file? Guida Completa

Aggiornato il 04 Ottobre 2021 alle 13:43 • Tempo di lettura: 9 minuti • Autore: Michele Sabatini

Sei alla ricerca di una guida sul Robots.txt? In questo articolo ti spiegherò cos’è, come funziona e come usarlo al meglio. Purtroppo è un file tanto semplice quanto complesso, poiché è possibile creare importanti danni a livello SEO ad un sito web.

Cos’è un file Robots.txt?

Il file Robots.txt è un file di testo con delle direttive/regole che la maggior parte di motori di ricerca si apprestano a seguire, almeno è quello che dicono.

Può essere chiamato anche protocollo di esclusione dei robot ed è uno standard riconosciuto da tutti i motori di ricerca o software che utilizzano un crawler per scansionare il web.

Cosa succede se non ho il file Robots.txt?

Semplicemente il bot o crawler scansionerà tutto il sito web, quindi tutte le pagine e file al suo interno, raggiungibili da una normale navigazione web.

Come raggiungere il file Robots.txt

Il file è sempre inserito nella root del sito web, quindi sarà raggiungibile da questo indirizzo:

https://miosito.it/robots.txt

Come creare il file Robots.txt

Come ho già anticipato qualche paragrafo prima, questo file è un semplice file di testo che viene analizzato in cascata, riga per riga.

Questo significa che ogni regola dovrà essere scritta su una singola riga per evitare che il crawler incappi in qualche errore di comprensione (ricordiamoci che un bot è un’insieme di algoritmi con regole prestabilite, senza possibilità di pensare e ragionare).

Quali sono le direttive che posso impostare

Le direttive che abbiamo a disposizione sono:

  • Allow
  • Disallow
  • NoIndex
  • NoFollow
  • Crawl-Delay
  • Sitemap

Vediamole nel dettaglio:

Allow

Con la direttiva Allow possiamo stabilire quali percorsi un bot può seguire. Supportata al 100% dai motori di ricerca Google e Bing, deve essere sempre seguita da un percorso specifico, altrimenti verrà ignorata.

User-agent: *
Allow: /cartella-nascosta/

Con la direttiva Allow potrai rendere accessibili file o cartelle che in precedenza hai nascosto con il Disallow.

User-agent: *
Disallow: /cartella-nascosta/
Allow: /cartella-nascosta/miofile.xls

Disallow

Al contrario della direttiva precedente, il Disallow svolge un’attività di esclusione, ovvero: inserendo il una path dopo il Disallow, quest’ultima non verrà scansionata da crawler.

User-agent: *
Disallow: /cartella-nascosta/

In questo modo la “/cartella-nascosta/” non verrà mai visitata dal bot del motore di ricerca.

NoIndex

Anche se il NoIndex non è supportato da Google, che ne sconsiglia vivamente l’utilizzo, ho deciso di inserirlo poiché supportato da altri motori di ricerca. In questo caso andiamo ad indicare la possibilità di visitare una determinata cartella o un determinato file, negandone però l’indicizzazione.

La direttiva NoIndex NON deve essere considerata un’alternativa al:

<meta name="robots" content="noindex">

Ecco un esempio di utilizzo della direttiva NoIndex:

User-agent: *
Noindex: /cartella-da-non-indicizzare/

NoFollow

Molti webmaster utilizzano questa direttiva per dire ai bot di non seguire una determinata pagina, cartella o file.

Anche quest’ultima non è supportata ufficialmente da Google, quindi è sempre meglio utilizzare il TAG META all’interno della pagina da escludere:

<meta name="robots" content="nofollow">

Comunque, se vuoi inserire questa direttiva all’interno del tuo file Robots.txt ecco un esempio pratico:

User-agent: *
Nofollow: /cartella-da-non-seguire/

Crawl-Delay

Per descrivere al meglio questa direttiva è bene fare un piccolo passo indietro e spiegare come funziona a grandi linee un server.

Forse lo saprai già, ma ogni server mette a disposizione delle risorse in base al piano che hai acquistato. Queste risorse non sono quasi mai “infinite”, bensì sono limitate.

Un crawler, ogni volta che visita e analizza un sito web, sfrutta queste risorse come un normale utente che visita questa pagina. Se la tua priorità è quella di non far crashare il tuo sito web a causa di un sovraccarico di richieste, la direttiva Crawl-Delay potrebbe fare al tuo caso.

Questo perchè il Crawl-Delay impone al bot di aspettare un lasso di tempo X tra la scansione e l’altra.

In questo modo, non effettuerà tante richieste ed il tuo sito non risentirà della visita del crawler. Ho un consiglio da darti: invece di impostare un crawl-delay inizia a pensare ad un cambio di hosting.

Ecco un esempio dell’implementazione della direttiva Crawl-Delay:

User-agent: bingbot
Crawl-delay: 3

In questo modo stiamo indicando al bot di Bing di scansionare una pagina con una frequenza di 3 secondi.

Sitemap

Come ultima direttiva abbiamo Sitemap. Questa regola serve ad indicare al crawler su quale indirizzo è possibile trovare la sitemap del sito web.

La sitemap è un documento importante per un sito web, una vera e propria mappatura del sito che ne aiuta molto spesso l’indicizzazione.

Sitemap: https://miosito.it/sitemap.xml

In questo modo sto indicato al crawler che la sitemap di miosito.it si trova all’indirizzo https://miosito.it/sitemap.xml. Non sempre la sitemap.xml si trova nell’indirizzo che ho specificato o potrebbe verificarsi la necessità di indicare avere più sitemap per lo stesso sito (questo succede quando si hanno molti contenuti).

In questo caso la giusta sintassi da inserire nel robots.txt è la seguente:

Sitemap: https://miosito.it/sitemap-1.xml
Sitemap: https://miosito.it/sitemap-2.xml
Sitemap: https://miosito.it/sitemap-3.xml

Dove devo inserire il file Robots.txt

Una volta creato il file è necessario posizionarlo nella root del sito web. Questo è molto importante, poiché il crawler come prima cosa andrà ad interrogare il Robots.txt sempre e solo all’indirizzo https://miosito.it/robots.txt

Un file Robots.txt per ogni dominio o sottodominio

La prassi è quella di creare un robots.txt per ogni dominio o sottodominio, in quanto ogni sottodominio viene analizzato, scansionato e valutato come sito isolato dal resto.

Quindi:

sito.miosito.it/robots.txt e miosito.it/robots.txt avranno due diversi file con direttive diverse, se necessario.

Consigli utili per scrivere il file Robots.txt

Fino ad ora abbiamo visto come sia possibile creare il robots.txt del proprio sito e quali sono le direttive che possiamo impartire ai vari crawler dei motori di ricerca. A questo punto passiamo a qualche consiglio “avanzato” sulla scrittura e gestione di questo .txt.

Commentare

Abbiamo la possibilità di inserire un commento nel nostro robots.txt, in questo modo possiamo annotare rapidamente una particolare direttiva o suggerire agli addetti del settore cosa abbiamo fatto nel tempo.

Basterà inserire il # prima del nostro commento:

# In questa fase di sviluppo il sito non è visitabile bot
User-agent: *
Disallow: /

Ricorda: ogni riga impartisce un comando, quindi se il commento è scritto su più righe, sarà necessario commentarle tutte:

# Questo è un commento
# su più di una riga
# Ok?
User-agent: *
Disallow: /cartella-importante-da-nascondere/

Usare l’asterisco come carattere Jolly

L’asterisco (*) può essere utilizzato in due modi all’interno del robots.txt.

Il primo è quello di utilizzarlo per impostare una direttiva a tutti gli user-agent:

User-agent: *

Il secondo è quello di aggiungere un asterisco per creare una wildcard a livello URL:

User-agent: *
Disallow: /prodotti/*?

In questo modo stiamo indicato al crawler di non scansionare le pagine che hanno al loro interno un punto di domanda.

Possiamo scrivere la stessa cosa in una forma estesa:

User-agent: *
Disallow: /prodotti/pennarelli?
Disallow: /prodotti/pastelli?
Disallow: /prodotti/matite?
Disallow: /prodotti/gomme?

Vien da se che la prima forma che abbiamo utilizzato è molto più semplice da utilizzare.

Se invece, abbiamo la necessità di escludere tutti gli URL tranne uno, possiamo scrivere questo:

User-agent: *
Disallow: /prodotti/*?
Allow: /prodotti/pastelli?

In questo modo, la direttiva Allow viene inserita dopo quindi il bot analizzerà la pagina relativa ai pastelli.

Il $ per bloccare l’accesso ad una tipologia di file

Il $ viene usato all’interno di un file robots.txt per bloccare la scansione di una specifica tipologia di file:

User-agent: *
Disallow: /*.xls$

In questo modo tutti i file .xls non verranno scansionati dal bot.

Bloccare l’accesso ad una specifica cartella

Facciamo un piccolo esempio: abbiamo il nostro sito web miosito.com/it/ online, ma stiamo sviluppando la versione in spagnolo, quindi: miosito.com/es/. Vogliamo bloccare l’accesso ai bot della cartella /es/, quindi scriveremo:

User-agent: *
Disallow: /es/

In questo caso non dobbiamo sbagliare a scrivere la path senza “/” finale, altrimenti si renderebbero inaccessibili tutti gli URL che iniziano con /es

User-agent: *
Disallow: /es

# In questo modo andremo a bloccare: 
# https://miosito.com/esempio
# https://miosito.com/esempio-1
# https://miosito.com/esempio-2

Impostare delle regole diverse per ogni bot

Possiamo impostare direttive diverse per ogni bot:

User-agent: Googlebot
Disallow: /escludi-a-google/

User-agent: bingbot
Allow: /escludi-a-google/

In questo modo stiamo bloccando una pagina a Google, ma stiamo indicando a Bing che può entrare nella stessa pagina.

Esempi di utilizzo delle direttive

Bloccare l’accesso a tutti i bot a tutto il sito:

User-agent: *
Disallow: /

Bloccare l’accesso a Bing a tutto il sito

User-agent: bingbot
Disallow: /

Bloccare l’accesso ad una specifica cartella:

User-agent: *
Disallow: /cartella-da-bloccare/

Permettere l’accesso a tutto il sito web

User-agent: *
Allow: /

Chi rispetta le direttive del Robots.txt

Ecco l’elenco delle documentazioni dei motori di ricerca che rispettano in parte o totalmente le direttive che ho descritto sopra:

Conclusioni

Come abbiamo visto, il file Robots.txt è molto importante per la SEO del tuo sito web. Grazie a questo file è possibile vietare ad un bot di entrare, indicare quali pagine possono essere scansionate e dove si trova la sitemap.xml.

Se non vuoi creare da solo il file robots.txt del tuo sito web per paura di commettere errori, ti consiglio di utilizzare questo strumento online così da essere sicuri di fare la cosa giusta.

Michele.


Michele Sabatini
Amo testare e analizzare i dati. Da anni mi occupo di SEO per clienti, agenzie e progetti personali. Sperimentare nuove strategie e migliorare l’esperienza dell’utente all’interno di un sito web è fondamentale al giorno d’oggi.

Lascia un commento

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

Informazioni