È una piccola, ma cruciale componente che gioca un ruolo fondamentale nell’ottimizzazione e nella sicurezza dei siti internet: parliamo del file robots.txt, il documento di testo che ha la funzione principale di comunicare con i robot dei motori di ricerca, indicando loro quali parti del sito possono essere esaminate e indicizzate e quali devono essere ignorate. Nato ufficialmente il 30 giugno 1994 come frutto del lavoro di un gruppo di webmaster per stabilire uno standard comune per regolare l’accesso dei crawler ai loro siti, nel tempo il file si è evoluto nel protocollo di esclusione robot che conosciamo oggi, diventando uno strumento di gestione del sito che può essere utilizzato da chiunque abbia un progetto online e voglia comunicare direttive specifiche ai crawler dei motori di ricerca.
Che cos’è il file robots.txt
Il file robots.txt è un file di testo che risiede nella directory principale di un sito web e serve per gestire il traffico dei crawler dei motori di ricerca verso il sito e, in particolare, può comunicare quali parti di un sito web non dovrebbero essere esplorate o indicizzate.
Il suo scopo è ottimizzare l’attività di crawling, evitando che i motori di ricerca perdano tempo e risorse con contenuti non essenziali o non destinati all’indicizzazione, come sezioni del sito in fase di sviluppo, informazioni riservate o pagine che non offrono valore aggiunto ai motori di ricerca.
Prenditi cura del tuo sito
Fornisce pertanto istruzioni specifiche che possono essere generali, applicabili cioè a tutti i crawler, o mirate a bot specifici, delineando quali URL o sezioni del sito sono off-limits: in tal senso, agisce come un filtro che dirige il traffico dei bot, assicurando che solo le aree rilevanti del sito siano esplorate e indicizzate, in modo da evitare un sovraccarico di richieste da parte dei crawler stessi..
Detto in parole più immediate: il file robots.txt è un semplice file di testo di piccole dimensioni, situato nella directory principale di un sito (altrimenti i robot non lo troveranno) e scritto in ASCII oppure UTF-8, che contiene le istruzioni per bloccare la scansione di alcune o tutte le pagine o file del sito a tutti o alcuni spider dei motori di ricerca.
Tuttavia, è importante notare che il file robots.txt non è uno strumento per nascondere pagine dai risultati di ricerca, ma serve piuttosto a gestire quali risorse vengono scansionate dai crawler. Si tratta infatti di un file pubblico, al quale hanno accesso non solo gli stessi bot, ma anche gli utenti umani: per visualizzare il file robots.txt di un sito qualsiasi, in genere basta aggiungere nella barra degli indirizzi del browser “/robots.txt” all’URL del dominio che desideriamo esaminare.
Perché si chiama robots.txt: la storia del file e del protocollo
Il file robots.txt è l’implementazione pratica del protocollo di esclusione robot (in inglese Robots Exclusion Standard o REP), uno standard utilizzato dai siti web per comunicare con i crawler dei motori di ricerca sin dagli albori del World Wide Web, quando i gestori di un sito web iniziarono ad avvertire l’esigenza di fornire istruzioni precise ai robots, chiedendo in particolare di applicare restrizioni di analisi sulle pagine dei siti.
Possiamo far risalire la “scintilla” della genesi a un incontro che si è tenuto nel novembre del 1993 a Boston, durante una conferenza del neonato World Wide Web: Martijn Koster, un ricercatore olandese che lavorava presso il Nexor, una compagnia di software per il web, propose l’idea di un protocollo standard per regolare l’accesso dei crawler ai siti web. Koster aveva già esperienza con le problematiche legate ai crawler, avendo creato un archivio web chiamato ALIWEB, che è considerato uno dei primi motori di ricerca. La sua proposta fu motivata dalla necessità di prevenire il sovraccarico dei server causato dai crawler e di proteggere le risorse web sensibili dall’essere indicizzate.
La proposta di Koster fu ben accolta dalla comunità web e dai membri della robots mailing list (robots-request@nexor.co.uk): già nel giugno 1994 venne pubblicato un documento che descriveva il “Robots Exclusion Standard” e che sanciva la nascita del file robots.txt. Questo standard non era un protocollo formale approvato da un organismo di standardizzazione, ma piuttosto un accordo di comunità, che comunque fu rapidamente adottato dai principali motori di ricerca dell’epoca, come WebCrawler, Lycos e, in seguito, da Google. E ancora oggi, dopo 30 anni, non esiste un vero e proprio standard per il protocollo robots.
Tornando all’aspetto più pratico, il nome “robots.txt” spiega esattamente la natura e le funzioni di questo documento: si tratta di un file di testo semplice, in formato txt appunto, dedicato ai “robots”, ovvero gli agenti software automatizzati dei motori di ricerca che navigano in rete per scopi di indicizzazione.
A cosa serve il file robots.txt
Ma qual è l’utilità del file robots per la SEO e, più in generale, per la gestione ottimale di un sito?
Come accennato prima, questo 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. I robot dei motori di ricerca possono dedicare un tempo limitato all’esplorazione delle pagine di un sito e, se sprecano tempo in parti del sito che non apportano valore, potrebbero non riuscire a indicizzare le pagine più importanti. Grazie al file robots.txt, è possibile indirizzare efficacemente l’attenzione dei crawler verso i contenuti che realmente contano, assicurando una migliore visibilità nei risultati di ricerca.
Pertanto, questo strumento serve ai professionisti SEO e 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; se impostate correttamente, le regole evitano che i crawler occupino banda e tempo CPU analizzando contenuti non destinati alla pubblicazione nei risultati di ricerca, permettendo di destinare le risorse alla navigazione di pagine più utili al business.
L’importanza del file robots.txt va anche oltre la semplice gestione dell’accessibilità ai crawler: rappresenta un primo passo critico nell’ottimizzazione dei motori di ricerca, influenzando direttamente quale contenuto viene mostrato nei risultati di ricerca e contemporaneamente mantenendo fuori dall’indice pagine inutili o addirittura potenzialmente dannose per il posizionamento del sito. Una corretta implementazione può migliorare significativamente la scansione del sito da parte dei motori di ricerca, assicurando che le pagine più rilevanti siano facilmente trovabili dagli utenti.
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.
È importante però notare che, sebbene la maggior parte dei motori di ricerca rispetti le indicazioni del file robots.txt, l’adesione a questo protocollo non è obbligatoria e alcuni bot meno scrupolosi potrebbero ignorarlo.
L’importanza di questo file 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.
Attenzione: il robots.txt non esclude sempre le pagine da Google
Ci sono altre avvertenze rilevanti per approcciare correttamente alla creazione e all’uso del file: soprattutto, dobbiamo avere consapevolezza del fatto che il file robots.txt può solo evitare che venga sottoposta a scansione – e non sempre, come vedremo – e non serve a impedire che una pagina venga visualizzata nei risultati di ricerca. 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”.
Inoltre, dicevamo, il rispetto delle direttive contenute nei file robots.txt non è legalmente vincolante per i crawler: motori di ricerca rispettabili come Google seguono queste indicazioni per mantenere buone relazioni con i gestori dei siti web, ma non vi è alcuna garanzia assoluta che ogni bot seguirà le istruzioni. Pertanto, per proteggere informazioni veramente sensibili o private dobbiamo adottare misure di sicurezza più robuste.
Dal punto di vista tecnico, poi, chiedere allo spider di non considerare un determinato file non significa neppure nascondere o impedire l’accesso assoluto a quella risorsa, che potrà essere ritrovata dagli utenti che conoscono e digitano l’URL preciso. Se ci sono altre pagine che rimandano a una pagina del sito con testo descrittivo, tale risorsa sito potrebbe addirittura essere comunque indicizzata anche se non è stata visitata, generando un risultato di ricerca senza descrizione.
L’immagine in pagina, presa dalle guide di Google, 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.
Pagine indicizzate nonostante l’esclusione robots
Quindi, come leggiamo sempre nelle fonti ufficiali di Google “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 altri strumenti più specifici.
Come funziona il file robots.txt
Il file robots.txt è un documento in formato testuale, un normale file di testo conforme al protocollo di esclusione robots.
Uno degli aspetti più importanti è la sua semplicità: è formato da una o più regole, e ogni regola blocca o consente l’accesso di tutti o di uno specifico crawler a un percorso di file specificato nel dominio o nel sottodominio in cui è ospitato il file.
Se non specificato diversamente nel documento, la scansione è implicitamente autorizzata per tutti i file e le pagine del sito. Attraverso le regole, istruzioni note come “direttive”, possiamo invece indicare ai robot dei motori di ricerca quali pagine o sezioni del sito devono essere escluse dall’indicizzazione.
I principali lettori del file robots.txt sono quindi i crawler dei motori di ricerca, come Googlebot di Google, Bingbot di Bing e altri bot di motori di ricerca minori, che cercano il file robots.txt prima di esplorare un sito, per capire quali aree sono off-limits e quali sono aperte all’indicizzazione. Come detto, però, è importante sottolineare che le direttive contenute nel file robots.txt sono basate su un accordo volontario tra i crawler e i siti web e non tutti i robot rispettano queste indicazioni. Inoltre, per sue caratteristiche il file non fornisce una protezione effettiva contro l’accesso indesiderato: informazioni sensibili o private dovrebbero essere protette attraverso metodi più sicuri come l’autenticazione o la crittografia.
In generale, Google dice che i siti di dimensioni ridotte, che non richiedono una gestione dettagliata del crawling, potrebbe non avere necessità di implementare un file robots; in realtà, vista anche la semplicità della sua creazione e gestione, è comunque consigliabile realizzare questo documento per ogni tipologia di sito, compresi anche piccoli blog personali. Infatti, qualsiasi progetto che desideri ottimizzare la propria visibilità online e gestire l’indicizzazione dei propri contenuti può trarre vantaggio dall’uso di un file robots.txt ben configurato.
Ancora di più, i siti che ospitano contenuti sensibili o con aree che richiedono una registrazione hanno un motivo in più per creare il file robots.txt, che si rivela essere particolarmente utile per evitare che queste pagine vengano indicizzate e mostrate nei risultati di ricerca. Inoltre, è fondamentale per i siti che hanno risorse limitate di server e vogliono assicurarsi che i crawler non sovraccarichino il loro sistema, focalizzandosi solo sulle pagine più rilevanti.
Le regole e i comandi per bloccare i crawler e le pagine
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.
In termini pratici, ogni record del file comprende due campi: “User-agent” per identificare il crawler specifico e “Disallow” per indicare le risorse da non esplorare, che servono a definire la lista delle esclusioni. Il campo user-agent dà facoltà di creare regole specifiche per diversi bot e 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: in questo modo, ad esempio, si può decidere di escludere dalla scansione una cartella contenente informazioni riservate o di limitare l’accesso a determinati crawler per prevenire sovraccarichi al server.
Il file robots.txt, come definito dallo standard, era semplice nella sua struttura e facile da implementare. I webmaster dovevano semplicemente creare un file di testo, nominarlo “robots.txt” e posizionarlo nella directory radice del loro sito web. All’interno del file, potevano specificare le direttive per i crawler, utilizzando la sintassi “User-agent” e “Disallow”.
Le regole quindi 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.
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.
Chiamati anche come direttive meta robots, i meta tag robots sono snippet di codice HTML, aggiunti alla sezione <head> di una pagina Web, che indicano ai crawler dei motori di ricerca come eseguire la scansione e l’indicizzazione di quella specifica pagina.
Le differenze tra questi elementi sono molteplici, ma 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 creare 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.
Alla luce delle definizioni fornite, possiamo quindi delineare una guida su come creare un file robots.txt adeguato, che possa migliorare significativamente l’efficienza della scansione del sito da parte dei motori di ricerca e contribuire a ottimizzare così la visibilità online.
Attenzione, però: la creazione di un file robots.txt può sembrare semplice, ma è importante ricordare che un’impostazione errata può impedire ai motori di ricerca di accedere a parti importanti del nostro sito web, con ripercussioni negative per il nostro traffico organico.
- Comprendere la sintassi
Il primo passo nella creazione di un file robots.txt è comprendere la sua sintassi. Il file si basa su due concetti chiave: “User-agent” e “Disallow”. “User-agent” si riferisce al robot del motore di ricerca a cui sono dirette le istruzioni, mentre “Disallow” indica le aree del sito che non devono essere scansionate. È possibile specificare più direttive “Disallow” per ogni “User-agent”, e se non desideriamo limitare l’accesso a nessuna parte del sito, possiamo semplicemente usare “Disallow:” senza specificare un percorso.
In sintesi:
- User-agent identifica il motore di ricerca a cui si riferiscono le regole. Ad esempio, “User-agent: Googlebot” si riferisce specificatamente al crawler di Google.
- Disallow specifica quali URL o cartelle non devono essere scansionate dal crawler specificato. Ad esempio, “Disallow: /cartella-privata/” impedisce l’accesso alla cartella indicata.
- Allow è utilizzato per concedere l’accesso a parti specifiche di un sito che altrimenti sarebbero bloccate da una regola Disallow – ad esempio, per consentire esplicitamente l’accesso a una sottocartella specifica di una sovrastante cartella bloccata.
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.
- Creazione del file
Per creare un file robots.txt basta aprire un semplice editor di testo che utilizzi caratteri ASCII o UTF-8 standard come Blocco Note su Windows o TextEdit su Mac – mentre è sconsigliabile utilizzare un elaboratore di testo, che in genere salvano i file in un formato proprietario e possono aggiungere caratteri non previsti o caratteri non ASCII che possono causare problemi ai crawler.
Iniziamo a digitare le regole che desideriamo applicare, seguendo la sintassi spiegata sopra. Ad esempio:
User-agent: * Disallow: /directory-segreta/
Questo esempio dice a tutti i robot dei motori di ricerca (indicati dall’asterisco) di non scansionare o indicizzare il contenuto della directory “directory-segreta”.
Un suggerimento: più specifiche sono le direttive, minori saranno le possibilità di errori o interpretazioni errate da parte dei motori di ricerca.
Inoltre, bisogna fare attenzione a non indicare nella sitemap degli URL bloccati nel robots, per evitare cortocircuiti penalizzanti per il sito.
- Salvataggio e caricamento del file
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.
Dopo aver inserito tutte le regole necessarie, quindi, salviamo il documento con il nome “robots.txt”.
Carichiamo il file nel server web tramite FTP o utilizzando il pannello di controllo dell’hosting provider, e verifichiamo che sia localizzato nella root del sito web – questo significa che dovrebbe essere accessibile tramite l’URL http://www.nostrosito.com/robots.txt. Più precisamente, 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.
- Verifica
Una volta caricato il file robots.txt, è importante verificare che sia configurato correttamente e che i motori di ricerca possano accedervi. Strumenti come Google Search Console offrono funzionalità per testare e verificare il file robots.txt, permettendo di identificare ed eventualmente correggere errori o problemi di accessibilità.
Cosa fa il file robots.txt: i consigli per una gestione SEO perfetta
Il file robots.txt svolge quindi un ruolo centrale nella gestione e nell’ottimizzazione di un sito web, e la sua corretta configurazione è essenziale per la SEO, perché può aiutare a garantire che i motori di ricerca esplorino il sito in modo efficiente, rispettando le indicazioni fornite dai proprietari o gestori del progetto.
Per approfondire meglio questi aspetti pratici facciamo riferimento a un articolo di Anna Crowe su searchenginejournal, che analizza e descrive le principali caratteristiche del file robots e offre spunti davvero interessanti per una efficace gestione.
L’autrice ripercorre innanzitutto le basi: un file robots.txt fa parte del protocollo di esclusione dei robot (REP) e indica ai crawler cosa deve essere sottoposto a scansione.
Google impegna Googlebot per eseguire la scansione dei siti Web e registrare informazioni su quel sito per capire come classificarlo nei risultati di ricerca. È possibile trovare il file robots.txt di qualsiasi sito aggiungendo /robots.txt dopo l’indirizzo web, in questo modo:
www.mywebsite.com/robots.txt
Il primo campo che si visualizza è quello dell’user-agent: se è presente un asterisco *, significa che le istruzioni contenute valgono per tutti i bot che arrivano al sito, senza eccezioni; in alternativa, è possibile anche dare indicazioni specifiche a un solo crawler.
Lo slash dopo “disallow” segnala al robot le categorie/sezioni del sito da cui deve stare alla larga, mentre nel campo allow si possono dare indicazioni sulla scansione.
Il valore del file robots.txt
Nell’esperienza di consulenza SEO dell’autrice, capita spesso che i clienti – dopo la migrazione di un sito o il lancio di un nuovo progetto – si lamentano perché non vedono risultati positivi nel ranking a distanza di sei mesi; nel 60 per cento dei casi il problema sta in un file robots.txt non aggiornato correttamente.
In termini pratici, quasi sei siti su dieci hanno un file robots.txt che appare in questo modo:
User-agent: *
Disallow: /
Tale istruzione blocca tutti i web crawler e ogni pagina del sito.
Un altro motivo per cui robots.txt è importante è il crawl budget di Google: soprattutto se abbiamo un sito di grandi dimensioni con pagine di bassa qualità che non vogliamo sottoporre scansione da Google, possiamo bloccarle con un disallow nel file robots.txt. Questo ci permette di liberare parte del budget di scansione di Googlebot, che potrebbe usare il suo tempo per indicizzare solo per le pagine di alta qualità, quelle che vogliamo posizionare nelle SERP.
Nel luglio 2019 Google aveva annunciato l’intenzione di lavorare a uno standard ufficiale per il robots.txt, ma ad oggi non ci sono ancora regole fisse e ferree e per orientarsi bisogna far riferimento alle classiche best practices di implementazione.
Consigli per la gestione del file robots.txt
E quindi, le istruzioni del file sono cruciali per la SEO ma possono anche creare qualche grattacapo, soprattutto a chi non mastica nozioni tecniche. Come dicevamo, i motori di ricerca eseguono la scansione e l’indicizzazione del sito in base a ciò che trovano nel file robots.txt usando direttive ed espressioni.
Queste sono alcune delle più comuni direttive robots.txt:
- User-agent: * – È la prima riga nel file robots.txt per fornire ai crawler le regole di ciò che vuoi sia scansionato sul sito. L’asterisco, come dicevamo, informa tutti gli spider.
- User-agent: Googlebot – Sono istruzioni valide solo per lo spider di Google.
- Disallow: / – Questo dice a tutti i crawler di non eseguire la scansione dell’intero sito.
- Disallow: – Questo indica a tutti i crawler di eseguire la scansione dell’intero sito.
- Disallow: / staging / : indica a tutti i crawler di ignorare il sito di staging.
- Disallow: / ebooks / * .pdf : indica ai crawler di ignorare tutti i formati PDF che potrebbero causare problemi di contenuti duplicati.
- User-agent: Googlebot
Disallow: / images / – Questo dice solo al crawler di Googlebot di ignorare tutte le immagini sul sito. - * – Questo è visto come un carattere jolly che rappresenta qualsiasi sequenza di caratteri.
- $ : Viene utilizzato per abbinare la fine dell’URL.
Prima di iniziare a creare il file robots.txt ci sono altri elementi da ricordare:
- Formattare il robots.txt correttamente. La struttura segue questo schema:
User-agent → Disallow → Allow → Host → Sitemap
Ciò consente agli spider dei motori di ricerca di accedere alle categorie e alle pagine Web nel giusto ordine.
- Assicurarsi che ogni URL indicato con “Allow:” o “Disallow:” sia posizionato su una riga separata e non usare la spaziatura per la separazione.
- Usare sempre lettere minuscole per nominare il robots.txt.
- Non utilizzare caratteri speciali tranne * e $; altri caratteri non sono riconosciuti.
- Creare file robots.txt separati per i vari sottodomini.
- Usare # per lasciare commenti nel file robots.txt. I crawler non rispettano le linee con il carattere #.
- Se una pagina non è consentita nei file robots.txt, non passerà link equity.
- Non utilizzare mai robots.txt per proteggere o bloccare i dati sensibili.
Cosa nascondere con il file
I file robots.txt vengono spesso utilizzati per escludere directory, categorie o pagine specifiche dalle SERP, usando semplicemente la direttiva “disallow”. Tra le pagine più comuni che si possono nascondere, secondo Crowe, ci sono:
- Pagine con contenuti duplicati (spesso contenuti printer-friendly)
- Pagine di paginazione.
- Pagine dinamiche di prodotti e servizi.
- Pagine degli account.
- Pagine admin.
- Carrello della spesa
- Chat
- Thank you page.
Robots.txt e file speciali, le regole per non fare errori
Sempre in tema di gestione del file robots.txt arriva in nostro supporto una delle classiche pillole di #askGooglebot, la serie su YouTube in cui John Mueller risponde a una domanda posta dalla community SEO. In un episodio, in particolare, si parla del file robots.txt e, per la precisione, delle best practices su alcune tipologie di file e di estensioni, come ad esempio .css, php.ini e .htacess, con il Googler che ci spiega qual è la strada giusta da intraprendere in questi casi. Ovvero, se sia meglio lasciare accesso a Googlebot o impedire la sua scansione di quelle pagine.
Tutto parte, come di consueto, dalla domanda di un utente, che chiede al Search Advocate come comportarsi rispetto al file robots.txt e “se mettere in disallow file come /*.css, /php.ini e anche /.htaccess”, e quindi, più in generale, come gestire questi file speciali.
John Mueller risponde innanzitutto con la consueta ironia, dicendo di non “poter impedire dall’impedire” l’accesso a tali file (letteralmente, “I can’t disallow you from disallowing those files”), per poi entrare un po’ più nel dettaglio e offrire il suo parere reale, perché quell’approccio sembra “essere una cattiva idea”.
Gli effetti negativi di blocchi indesiderati
In alcuni casi, il disallow di file speciali è semplicemente ridondante e quindi non necessario, ma in altre circostanze potrebbe compromettere seriamente la capacità di Googlebot di eseguire la scansione di un sito, con tutti gli effetti negativi conseguenti.
La procedura che ha in mente l’utente rischia infatti di provocare danni alla capacità di crawling del bot di Google, e quindi di pregiudicare la comprensione delle pagine, la corretta indicizzazione e, non in ultimo, il posizionamento.
Cosa significa il disallow sui file speciali
Mueller spiega rapidamente cosa significa procedere con quel disallow e quali possono essere le conseguenze per Googlebot e per il sito.
- disallow: /*.css$
negherebbe l’accesso a tutti i file CSS: Google deve invece avere la possibilità di accedere ai file CSS, in modo da poter renderizzare correttamente le pagine del sito. Questo è cruciale, ad esempio, per poter riconoscere quando una pagina è ottimizzata per i dispositivi mobili. Il Googler aggiunge che “generalmente i non vengono indicizzati, ma dobbiamo essere in grado di eseguirne la scansione”.
Quindi, se la preoccupazione di proprietari dei siti e webmaster è mettere in disallow i file CSS per evitare che vengano indicizzati, Mueller li rassicura dicendo che questo di solito non accade. Al contrario, bloccarli complica la vita di Google, che necessita del file a prescindere, e ad ogni modo anche se un file CSS finisce per essere indicizzato non danneggerà il sito (o comunque meno del caso opposto).
- disallow: /php.ini
php.ini è un file di configurazione per PHP. In generale, questo file deve essere bloccato o rinchiuso in una posizione speciale in modo che nessuno possa accedervi: ciò significa che anche Googlebot non ha accesso a tale risorsa. Quindi, vietare la scansione di /php.ini nel file robots.txt è semplicemente ridondante e non necessario.
- disallow: /.htaccess
come nel caso precedente, anche .htaccess è un file un file di controllo speciale, bloccato per impostazione predefinita che, quindi, non offre possibilità di accesso esterno, nemmeno a Googlebot. Di conseguenza, non c’è bisogno di usare il disallow in modo esplicito perché il bot non vi può accedere né sottoporlo a scansione.
Non usare un file Robots.txt copiato da un altro sito
Prima di concludere il video, John Mueller offre un ultimo suggerimento preciso per una corretta gestione del file robots.txt.
Il messaggio è chiaro: non copiare in maniera a-critica e riutilizzare un file robots.txt di un altro sito presumendo semplicemente che andrà bene anche per il proprio. Il miglior modo di procedere per evitare errori è di pensare attentamente “di quali parti del tuo sito vuoi evitare la scansione” e quindi usare il disallow di conseguenza per impedire l’accesso a Googlebot.
I 10 errori da evitare con il file robots.txt
Semplifica e migliora il tuo lavoro
Prima di concludere, è forse opportuno dedicare ancora qualche passaggio a questo elemento critico per la SEO e per la gestione di un sito, andando a elencare quelli che sono i più comuni e peggiori errori con il file robots, che possono far affondare un progetto sul Web.
- Creare un file robots vuoto
Nelle linee guida di questo strumento, Google spiega che il file robots è necessario solo se vogliamo bloccare l’autorizzazione a eseguire la scansione da parte dei crawler, e siti “senza file robots.txt, meta tag robots o intestazioni HTTP X-Robots-Tag” possono essere sottoposti a scansione e indicizzati normalmente. Pertanto, se non ci sono sezioni o Url che si vuol tenere lontani dalla scansione, non serve creare un file robots.txt e, soprattutto, non bisogna creare una risorsa vuota.
- Creare file troppo pesanti
Gli eccessi non sono mai positivi: se un file vuoto è ovviamente un controsenso, bisogna tenersi alla larga anche dalla situazione diametralmente opposta, ovvero realizzare robots.txt troppo complessi e pesanti, che possono aprire la strada a problemi per webmaster e Google.
Lo standard limita la grandezza del file a 500 kb, e Google chiarisce che ignorerà il testo in eccesso. Ad ogni modo, va ricordato che i file Robots.txt dovrebbero essere sempre brevi, precisi e molto chiari.
- Bloccare risorse utili
Da queste premesse si comprende anche la conseguenza peggiore di un uso sbagliato del file robots.txt, ovvero bloccare la scansione di risorse e pagini utili del sito, che invece dovrebbero essere pienamente accessibili a Googlebot e agli altri crawler per il business del progetto. Sembra un errore banale, ma in realtà capita di frequente di trovare URL potenzialmente competitivi bloccati, in modo involontario o per una cattiva comprensione dello strumento.
Come dicevamo, il file può essere uno strumento potente in qualsiasi arsenale SEO perché è un modo valido per controllare ed eventualmente limitare le modalità di accesso di crawler e robot di motori di ricerca a determinate aree del sito o a contenuti che non offrono un valore se trovati dagli utenti nelle ricerche.
Bisogna però assicurarsi di capire come funziona il file robots.txt, proprio per evitare di impedire per errore a Googlebot o a qualsiasi altro bot di eseguire la scansione dell’intero sito e, di conseguenza, non trovarlo nei risultati di ricerca.
- Voler usare il file per nascondere informazioni riservate
Il file robots.txt è pubblico e può essere visualizzato da utenti mediamente esperti: pensare di utilizzare questo sistema per nascondere pagine riservate o contenenti dati degli utenti è un errore di concetto, oltre che uno sbaglio clamoroso. Per ottenere questo obiettivo bisogna invece utilizzare altri sistemi, a cominciare da metodi di protezione mediante credenziali.
- Cercare di impedire l’indicizzazione di pagine
Spesso si interpreta in modo sbagliato l’utilità e la funzione del file robots.txt e si ritiene che mettere un URL in disallow possa evitare che la risorsa appaia nei risultati di ricerca. Al contrario, bloccare una pagina in questo modo non impedisce a Google di indicizzarla né serve a rimuovere la risorsa dall’Indice o dai risultati di ricerca, soprattutto se questi URL sono linkati da pagine “aperte”.
Un malinteso di questo tipo provoca la comparsa in SERP dell’URL in Disallow, privo però del giusto titolo e della giusta meta description (campo in cui compare un messaggio di errore).
- Usare il disallow su pagine con tag noindex
Un fraintendimento simile, sempre legato a risorse che si intende bloccare, riguarda l’uso del comando disallow nel Robots.txt su pagine che hanno già un’impostazione meta tag noindex: in questo caso, il risultato è esattamente l’opposto di quello desiderato!
Il bot infatti non può leggere correttamente il comando che blocca l’indicizzazione della pagina, e quindi si potrebbe generare un caso paradossale: l’URL con meta tag noindex potrebbe essere indicizzato e posizionarsi in SERP, perché il disallow nel file robots.txt ha reso inefficace le altre indicazioni. Il modo corretto per impedire a una pagina di apparire nei risultati di ricerca è di impostare il meta tag noindex e lasciare regolare accesso ai bot sulla risorsa.
- Bloccare pagine con altri tag
Restando ancora in questa tipologia di errore, citiamo anche limitare l’accesso a pagine con rel=canonical oppure meta tag nofollow: come detto, bloccare un URL impedisce ai crawler di leggere il contenuto delle pagine e anche dei comandi impostati, compresi quelli importanti appena citati.
Pertanto, per consentire a Googlebot e affini di leggere e considerare in modo preciso gli status code o i meta tag degli URL bisogna evitare di bloccare tali risorse nel Robots.txt.
- Non verificare gli status code
Passando ad alcuni aspetti tecnici legati a questo strumento, c’è un elemento cui è necessario prestare attenzione, quello degli status code delle pagine. Come segnalato nelle guide di Google per gli sviluppatori, sono vari i codici risultato HTTP che possono essere generati dalla scansione, e per la precisione:
- Codice 2xx, esito positivo
In questo caso si riceve un’istruzione di scansione di tipo “conditional allow”.
- 3xx (reindirizzamento)
Di consueto, Google segue i redirect fino all’individuazione di un risultato valido o al riconoscimento di un loop. Secondo quanto comunicato, esiste comunque un numero massimo di tentativi di reindirizzamento (ad esempio, il documento RFC 1945 per HTTP/1.0 consente fino a 5 reindirizzamenti), superato il quale il processo si interrompe e restituisce un errore 404. La gestione dei redirect dal file robots.txt agli URL non consentiti “non è definita né consigliata”, e la gestione dei reindirizzamenti logici per il file robots.txt “basata su contenuti HTML che restituisce un errore di tipo 2xx” non è definita né consigliata, dicono da Mountain View.
- 4xx (errori client)
Tutti gli errori 4xx (inclusi i codici 401 “Autorizzazione negata” e 403 “Accesso negato”) sono trattati allo stesso modo, ovvero presupponendo che non esistano file robots.txt validi e che non vi siano restrizioni: si tratta di un’istruzione di scansione interpretata come “full allow”.
- 5xx (errore del server)
Google interpreta gli errori del server come “errori temporanei che generano un’istruzione di scansione di tipo full disallow”: anche in questo la richiesta di scansione viene ripetuta, fino a ottenere un codice risultato diverso da quello dell’errore del server. Nello specifico, se Google “riesce a stabilire che un sito è configurato in modo errato e restituisce un errore di tipo 5xx anziché 404 per le pagine mancanti, l’errore 5xx restituito da tale sito viene trattato come errore 404”.
A queste tipologie di problematiche bisogna aggiungere le richieste non riuscite o dati incompleti, che derivano dalla gestione di un file robots.txt “che non può essere recuperato a causa di problemi di rete o DNS come timeout, risposte non valide, connessioni ripristinate/interrotte, errori di suddivisione HTTP e così via”.
- Non curare la sintassi del file
È importante sapere e ricordare che il file robots.txt file è case sensitive, ovvero è sensibile alle differenze tra lettere maiuscole e minuscole. Questo implica innanzitutto l’obbligo a nominare correttamente il file (quindi “robots.txt” con la minuscola e senza altre variazioni), e poi a verificare che tutti i dati (directory, subdirectory e nomi dei file) siano scritti senza mescolare maiuscole e minuscole in modo non opportuno.
- Non aggiungere la posizione di una sitemap
Conosciamo (o dovremmo conoscere) l’importanza delle sitemap, che sono “un valido metodo per indicare i contenuti che Google dovrebbe sottoporre a scansione e i contenuti che Google può o non può sottoporre a scansione”, come ci ricordano sempre le guide del motore di ricerca. Pertanto, è importante inserire la posizione di una sitemap all’interno del file robots.txt per gestire correttamente queste attività in base alle proprie esigenze e richieste.