Il file Robots.txt è uno dei file più banali di un sito web, ma è anche uno dei più facili da rovinare. Può causare danni alla SEO e impedire ai motori di ricerca di accedere a contenuti importanti sul tuo sito.

Questo è il motivo per cui configurazioni errate del file robots.txt sono estremamente comuni, anche tra i professionisti SEO più esperti.

Cosa sono i file robots.txt?

Un file robots.txt indica ai web crawler di Google e altri motori di ricerca dove possono e non possono andare sul tuo sito.

In primo luogo, elenca tutti i contenuti che desideri bloccare ai motori di ricerca come Google. Puoi anche indicare ad alcuni motori di ricerca (non Google) come possono eseguire la scansione dei contenuti consentiti.

Che aspetto ha un file robots txt?

Questo è il formato di base di un file robots.txt:

Sitemap: [URL location of sitemap] 

User-agent: [identificatore bot] 
[direttiva 1] 
[direttiva 2] 
[direttiva ...] 

User-agent: [altro identificatore bot] 
[direttiva 1] 
[direttiva 2] 
[direttiva. ..]

Se non hai mai visto uno di questi file prima, potrebbe sembrare sconfortante. Tuttavia, la sintassi è abbastanza semplice. In breve, si assegnano le regole ai robot indicando il loro user-agent seguito dalle direttive .

Esploriamo questi due componenti in modo più dettagliato.

Gli user-agent

Ogni motore di ricerca si identifica attraverso un diverso user-agent. Puoi impostare istruzioni personalizzate per ognuno di questi nel tuo file robots txt.

Esistono centinaia di user-agent , ma i più utili per la SEO sono :

  • Google: Googlebot
  • Google Immagini: Googlebot-Image
  • Bing: Bingbot
  • Yahoo: Slurp
  • DuckDuckGo: DuckDuckBot
  • Baidu : Baiduspider

È inoltre possibile utilizzare il carattere jolly asterisco (*) per assegnare le direttive a tutti gli user-agent.

Supponiamo ad esempio che tu volessi bloccare la scansione del tuo sito da tutti i robot tranne Googlebot. Ecco come lo faresti editando il tuo robots.txt :

User-agent: * 
Disallow: / 

User-agent: Googlebot 
Allow: /

Sappi che il tuo file robots.txt può includere direttive per tutti gli user-agent che desideri. Detto questo, ogni volta che dichiari un nuovo user-agent, agisce come una tabula rasa. In altre parole, se si aggiungono direttive per più user-agent, le direttive dichiarate per il primo user-agent non si applicano al secondo, o al terzo, al quarto e così via.

L’eccezione a quella regola è quando si dichiara lo stesso user-agent più di una volta. In tal caso, tutte le direttive pertinenti sono combinate e seguite.

Direttive del file robots.txt

Le direttive sono regole che gli user-agent dichiarati devono seguire.

Direttive supportate dal file robots.txt

Ecco le direttive attualmente supportate da Google, insieme ai loro usi.

Disallow

Utilizza questa direttiva per indicare ai motori di ricerca di non accedere a file e pagine che rientrano in un percorso specifico. Se, ad esempio, vuoi impedire a tutti i motori di ricerca di accedere al tuo blog e a tutti i suoi post, il tuo file robots.txt potrebbe essere questo :

User-agent: * 
Disallow: /blog

Allow

Utilizza questa direttiva per consentire ai motori di ricerca di eseguire la scansione di una sottodirectory o di una pagina, anche in una directory altrimenti non consentita. Se, ad esempio, vuoi impedire ai motori di ricerca di accedere a tutti i post sul tuo blog tranne uno, il tuo file robots.txt potrebbe essere questo:

User-agent: * 
Disallow: /blog 
Allow: /blog/post-consentiti

In questo esempio, i motori di ricerca possono accedere /blog/allowed-post. Ma non possono accedere a:

/blog/altro post
/blog/ancora-altro-post
/blog/download.pdf

Sia Google che Bing supportano questa direttiva.

UNA NOTA SULLE REGOLE CONTRASTANTI

Se non stai attento, le direttive allow e disallow possono facilmente entrare in conflitto tra loro. Nell’esempio seguente, non consentiamo l’accesso /blog/ e ne consentiamo l’accesso /blog.

User-agent: * 
Disallow: /blog/ 
Allow: /blog

In questo caso, l’ URL /blog/post-title/ è dichiarato disallow e allow, Quindi chi la spunta?

Per Google e Bing, la regola è che vale di più la direttiva con il maggior numero di caratteri. e in questo caso è la direttiva disallow.

Disallow: /blog/ (6 caratteri)
Allow: /blog ) (5 caratteri)

Se le direttive allow e disallow hanno gli stessi caratteri, vale di più la direttiva meno restrittiva. In questo caso, sarebbe la direttiva allow.

Questo vale solo per Google e Bing . Altri motori di ricerca prendono per buona la prima direttiva corrispondente. E nel caso citato sopra, sarebbe disallow.

Sitemap

Usa questa direttiva per specificare la posizione delle tue Sitemap nei motori di ricerca. Se non hai familiarità con le sitemap, in genere includono le pagine su cui desideri che i motori di ricerca eseguano la scansione e l’indicizzazione.

Ecco un esempio di un file robots.txt che utilizza la direttiva sitemap:

Sitemap: https://www.dominio.it/sitemap.xml 

User-agent: * 
Disallow: /blog/ 
Allow: /blog/titolo-post/

Quanto è importante includere le tue Sitemap nel tuo file robots txt? Se hai già inviato tramite Search Console, è un pò ridondante per Google. Tuttavia, indica ad altri motori di ricerca come Bing dove trovare la tua Sitemap, quindi è comunque una buona pratica.

Tieni presente che non è necessario ripetere più volte la direttiva Sitemap per ciascun robots.txt user-agent. Non si applica a uno solo. Quindi è meglio includere le direttive sulla mappa del sito all’inizio o alla fine del file robots.txt

Per esempio:

Sitemap: https://www.domain.com/sitemap.xml 

User-agent: Googlebot 
Disallow: /blog/ 
Allow: / blog /titolo-post/ 

User-agent: Bingbot 
Disallow: /servizi/

Google supporta la direttiva Sitemap, così come Ask, Bing e Yahoo. Puoi includere tutte le sitemap che desideri nel file robots.txt.

Direttive non supportate dal file robots.txt

Ecco le direttive non più supportate da Google, alcune delle quali tecnicamente non lo sono mai state.

Crawl-delay

In precedenza, era possibile utilizzare questa direttiva per specificare un ritardo di scansione in secondi. Ad esempio, se desideravi che Googlebot attendesse 5 secondi dopo ogni azione di scansione, potevi impostare il ​​ritardo di scansione su 5 in questo modo:

User-agent: Googlebot
Crawl-delay: 5

Google non supporta più questa direttiva, ma Bing e Yandex lo fanno.

Detto questo, fai attenzione quando imposti questa direttiva, specialmente se hai un sito grande. Se imposti un ritardo di scansione di 5 secondi, stai limitando i bot a eseguire la scansione di un massimo di 17.280 URL al giorno. Non è molto utile se hai milioni di pagine, ma potrebbe risparmiare larghezza di banda se hai un piccolo sito web.

Noindex

Questa direttiva non è mai stata ufficialmente supportata da Google. Tuttavia, fino a poco tempo fa, si pensa che Google avesse un “codice che gestisce regole non supportate e non pubblicate (come noindex)”. Quindi, se vuoi impedire a Google di indicizzare tutti i post sul tuo blog, puoi utilizzare la seguente direttiva:

User-agent: Googlebot 
Noindex: /blog/

Ad ogni modo, il 1 ° settembre 2019, Google ha chiarito che questa direttiva non è supportata . Se si desidera escludere una pagina o un file dai motori di ricerca, utilizzare invece il tag meta robot o l’ intestazione HTTP x-robot .

Nofollow

Questa è un’altra direttiva che Google non ha mai supportato ufficialmente ed è stata utilizzata per istruire i motori di ricerca a non seguire i collegamenti su pagine e file in un percorso specifico. Se ad esempio desideri impedire a Google di seguire tutti i link sul tuo blog, puoi utilizzare la seguente direttiva:

User-agent: Googlebot 
Nofollow: /blog/

Google ha annunciato che questa direttiva non è più ufficialmente supportata il 1 ° settembre 2019. Se desideri non seguire più tutti i collegamenti su una pagina ora, dovresti utilizzare il meta tag robot o l’intestazione x-robot. Se vuoi dire a Google di non seguire collegamenti specifici su una pagina, usa l’attributo di link rel=”nofollow”.

Hai bisogno di un file robots.txt?

Avere un file robots.txt non è fondamentale per molti siti web, specialmente quelli piccoli.

Detto questo, non c’è motivo per non averne uno. Ti dà maggiore controllo su dove i motori di ricerca possono e non possono andare sul tuo sito web e ciò può aiutarti in situazioni come:

Tieni presente che mentre Google generalmente non indicizza le pagine web bloccate nel file robots.txt, non è possibile garantire l’esclusione dai risultati di ricerca utilizzando il file robots.txt .

Come dice Google , se i contenuti sono collegati da altri siti sul web, potrebbero comunque apparire nei risultati di ricerca di Google.

Come trovare il tuo file robots.txt

Se hai già un file robots.txt sul tuo sito web, sarà accessibile all’indirizzo dominio.it/robots.txt . Vai all’URL nel tuo browser. Se vedi qualcosa del genere, hai un file robots.txt:

Come creare un file robots.txt

Se non disponi già di un file robots.txt, crearne uno è molto semplice. Basta aprire un file di testo vuoto e iniziare a digitare le direttive.

Ad esempio, se si desidera impedire a tutti i motori di ricerca di eseguire la scansione della directory /admin/, il file robots.tx sarebbe simile a questo:

User-agent: * 
Disallow: /admin/

Continua a creare le direttive finché non sei soddisfattoi. Salva il tuo file come robots.txt.

In alternativa, puoi anche usare un generatore di file robots.txt come questo .

Il vantaggio di utilizzare uno strumento come questo è che minimizza gli errori di sintassi e poichè un errore potrebbe causare una catastrofe SEO sul tuo sito, vale la pena utilizzarlo.

Lo svantaggio è che sarai in qualche modo limitato in termini di personalizzazione.

Dove posizionare il file robots.txt

Posiziona il tuo file robots.txt nella directory principale del sottodominio a cui devi applicarlo.

Ad esempio, per controllare il comportamento di scansione sul dominio.it , il file robots.txt dovrebbe essere accessibile su dominio.it/robots.txt .

Se vuoi controllare la scansione su un sottodominio come blog.dominio.it , il file robots.txt dovrebbe essere accessibile su blog.dominio.it/robots.txt .

Buone pratiche per il file robots.txt

Tienili a mente per evitare errori comuni.

Utilizzare una nuova riga per ogni direttiva

Tutte le istruzioni contenute nel file robots.txt devono stare su una nuova linea. Altrimenti, confonderà i motori di ricerca.

Sbagliato:

User-agent: * Disallow: /directory/ Disallow: /altra-directory/

Giusto:

User-agent: * 
Disallow: /directory/ 
Disallow: /altra-directory/

Utilizzare i caratteri jolly nel file robots.txt per semplificare le istruzioni

Non solo è possibile utilizzare i caratteri jolly (*) per applicare le direttive a tutti gli user-agent, ma anche per abbinare i pattern URL durante la dichiarazione delle direttive. Se desideri ad esempio impedire ai motori di ricerca di accedere agli URL delle categorie prodotti con parametri sul tuo sito, è possibile elencarli in questo modo:

User-agent: * 
Disallow: /prodotti/t-shirts? 
Disallow: /prodotti/felpe con cappuccio? 
Disallow: /prodotti/giacche? 
...

Anche se sarebbe meglio semplificare le cose con un carattere jolly in questo modo:

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

In questo esempio si impedisce ai motori di ricerca di eseguire la scansione di tutti gli URL nella sottocartella /prodotti/ che contengono un punto interrogativo. In altre parole, qualsiasi URL di categoria prodotto con parametri.

Utilizzare “$” per specificare la fine di un URL

Includi il simbolo “$” per contrassegnare la fine di un URL . Se ad esempio vuoi impedire ai motori di ricerca di accedere a tutti i file pdf sul tuo sito, il tuo file robots.txt dovrebbe essere questo:

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

In questo esempio, i motori di ricerca non possono accedere a nessun URL che termina con .pdf. Ciò significa che non possono accedere a /file.pdf, ma possono accedere a /file.pdf?id=68937586 perchè non termina con “.pdf”.

Utilizzare ogni user-agent una sola volta

Se specifichi più volte lo stesso user-agent, a Google non importa. Combinerà semplicemente tutte le regole delle varie dichiarazioni in una e le seguirà tutte. Ad esempio, se nel file robots.txt so presenti i seguenti user-agent e direttive …

User-agent: Googlebot 
Disallow: /a/ 

User-agent: Googlebot 
Disallow: /b/

… Googlebot non eseguirà la scansione di nessuna di queste sottocartelle.

Detto questo, ha senso dichiarare ogni user-agent una sola volta perché crea meno confusione. In altre parole, hai meno probabilità di commettere errori critici mantenendo le cose ordinate e semplici.

Sii specifico per evitare errori involontari

La mancata fornitura di istruzioni specifiche durante l’impostazione delle direttive può comportare errori che possono avere un impatto catastrofico sulla SEO . Supponiamo ad esempio che tu abbia un sito multilingue e stai lavorando su una versione tedesca che sarà disponibile nella sottodirectory /de/.

Poiché la versione in tedesco non è del tutto pronta, vuoi impedire ai motori di ricerca di accedervi.

Il seguente file robots.txt impedirà ai motori di ricerca di accedere a quella sottocartella e a tutto ciò che contiene:

User-agent: * 
Disallow: /de

Ma impedirà anche ai motori di ricerca di eseguire la scansione di qualsiasi pagina o file che inizi con /de.

Per esempio:

/design-sito/
/depeche-mode/t-shirts/
/deontologia.pdf

In questo caso, la soluzione è semplice: aggiungi una barra finale.

User-agent: * 
Disallow: /de/

Usa i commenti per spiegare il tuo file robots.txt

I commenti aiutano a spiegare il tuo file robots.txt agli sviluppatori e potenzialmente anche a te in futuro. Per includere un commento, inizia la riga con un hash (#).

# Questo indica a Bing di non eseguire la scansione del nostro sito. 
User-agent: Bingbot 
Disallow: /

I web crawler ignoreranno tutto delle righe che iniziano con un hash.

Utilizza un file robots.txt separato per ciascun sottodominio

Robots.txt controlla solo il comportamento di scansione sul sottodominio in cui è ospitato. Se vuoi controllare la scansione su un sottodominio diverso, avrai bisogno di un file robots.txt separato.

Se ad esempio il tuo sito principale si trova su dominio.it e il tuo blog si trova su blog.dominio.it , allora avresti bisogno di due file robots.txt. Uno dovrebbe essere posizionato nella directory principale del dominio principale e l’altro nella directory principale del blog.

Esempi di robots.txt

Di seguito sono riportati alcuni esempi di file robots.txt. Questi sono principalmente di ispirazione, ma se uno soddisfa i tuoi requisiti, copialo e incollalo in un file di testo, salvalo come robots.txt e caricalo nella directory appropriata.

Accesso illimitato per tutti i bot

User-agent: * 
Disallow:

La mancata dichiarazione di un URL dopo una direttiva rende tale direttiva ridondante. In altre parole, i motori di ricerca lo ignorano. Ecco perché questa direttiva disallow non ha alcun effetto sul sito. I motori di ricerca possono ancora eseguire la scansione di tutte le pagine e i file.

Nessun accesso per tutti i bot

User-agent: * 
Disallow: /

Blocca una sottodirectory per tutti i bot

User-agent: * 
Disallow: /cartella/

Blocca una sottodirectory per tutti i bot (con un solo file consentito)

User-agent: * 
Disallow: /cartella/ 
Allow: /cartella/pagina.html

Blocca un file per tutti i bot

User-agent: * 
Disallow: /questo-e-un-file.pdf

Blocca un tipo di file ( PDF ) per tutti i bot

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

Blocca tutti gli URL con parametri solo per Googlebot

User-agent: Googlebot 
Disallow: / *?

Come controllare il file robots.txt

Gli errori di Robots.txt possono sfuggire abbastanza facilmente, quindi vale la pena tenere d’occhio i problemi.

A tale scopo, controlla regolarmente la presenza di problemi relativi a robots.txt nel rapporto “Copertura” nella Search Console . Di seguito sono riportati alcuni degli errori che potresti vedere, cosa significano e come potresti risolverli.

URL inviato bloccato da robots.txt

Ciò significa che almeno uno degli URL nelle Sitemap inviate è bloccato da robots.txt.

Se hai creato correttamente la tua sitemap ed escluso le pagine canonicalized , noindexed e reindirizzate , nessuna pagina inviata deve essere bloccata da robots.txt . In tal caso, verifica quali pagine sono interessate, quindi modifica il file robots.txt di conseguenza per rimuovere il blocco per quella pagina.

Puoi utilizzare il robots.txt tester di Google per vedere quale direttiva sta bloccando il contenuto. Fai solo attenzione quando lo fai. È facile commettere errori che incidono su altre pagine e file.

Bloccato da robots.txt

bloccata dal robots txt

Ciò significa che hai contenuti bloccati da robots.txt che non sono attualmente indicizzati in Google.

Se questo contenuto è importante e deve essere indicizzato, rimuovi il blocco di scansione nel robots.txt (vale la pena assicurarsi anche che il contenuto non sia marcato come noindex).

Se hai bloccato il contenuto in robots.txt con l’intenzione di escluderlo dall’indice di Google, rimuovi il blocco di scansione e utilizza invece un meta tag robot o un’intestazione x-robot. Questo è l’unico modo per garantire l’esclusione dei contenuti dall’indice di Google.

Indicizzato, ma bloccato da robots.txt

indicizzata ma bloccata da robots txt

Ciò significa che parte del contenuto bloccato da robots.txt è ancora indicizzato in Google.

Ancora una volta, se stai cercando di escludere questi contenuti dai risultati di ricerca di Google, robots.txt non è la soluzione corretta. Rimuovi il blocco di scansione e utilizza invece un tag meta-robot o un’intestazione HTTP x-robot-tag per impedire l’indicizzazione.

Se hai bloccato questo contenuto per errore e desideri mantenerlo nell’indice di Google, rimuovi il blocco di scansione in robots.txt. Ciò può essere utile a migliorare la visibilità dei contenuti nella ricerca di Google.

Conclusioni

Il robots.txt è un file semplice ma potente. Usalo saggiamente poichè può avere un impatto positivo sul SEO . Usalo a casaccio e te ne pentirai!

Buon lavoro.