SEO: 10 errori da non commettere sul file robots.txt

SEO: 10 errori da non commettere sul file robots.txt (Guide, Zona Marketing)
Argomenti trattati:
Pubblicato il: 9 Dicembre 2020 , Ultimo aggiornamento: 28 Aprile 2021

In genere, all’interno di una qualsiasi SEO audit, il file robots.txt viene impostato una volta e per sempre all’inizio, senza dedicarci tempo in seguito; in base al tipo di CMS usato, essenzialmente, è possibile impostarlo in maniera opportuna, il più delle volte seguendo le linee guida ufficiali di ogni CMS (Prestashop ha un suo robots.txt classico, WordPress pure).

Vado leggermente controtendenza rispetto ai post SEO sul robots.txt che lo considerano una sorta di sacro Graal, e dico pure un’altra cosa. Il fatto che il robots.txt serve in molti meno casi di quanto possa sembrare per la SEO, e sia molto più utile invece in termini di hacking, visto che permette di far capire ad un attaccante informatico quali siano le cartelle vitali del sito, dovrebbe far riflettere su come debba essere scritto. In modo essenziale, se possibile: se usato male, il file robots.txt rischia di diventare una complicazione non funzionale alla maggiorparte delle cause.

L’approccio al problema deve pero’ essere flessibile al massimo, ed è proprio quello che vedremo in questo articolo. Senza generalizzare in modo troppo brutale, ho l’impressione che il problema non sia altro che “quello che i webmaster ed i SEO sono convinti di poter fare mediante file robots.txt“: quasi niente, a fini pratici, salvo ovviamente casi particolari.

Non sapere cosa sia davvero il file robots.txt

Il file robots.txt viene utilizzato per indicare – secondo uno standard ben definito detto Robots Exclusion Protocol – ai crawler dei motori di ricerca (Google, Bing, DuckDuckGo, …) cosa possono, e non possono scansionare all’interno del nostro sito.

Detta in modo grezzo ma comprensibile, il robots.txt dice al crawler del motore di ricerca (nello specifico GoogleBot) cosa non può (e il più delle volte cosa implicitamente) dovrebbe scansionare, rispettivamente mediante direttive Disallow e Allow.

Considerarlo un file di indicazioni obbligatorie

Attenzione a sopravvalutare l’impatto di questo file: il robots.txt rappresenta una serie di impostazioni “in negativo”, nel senso che possono essere bloccanti dal punto di vista della scansione di Google. Questo implica che, alla prova dei fatti,permette di escludere pagine web dai motori di ricerca (ad esempio sezioni riservate del sito o pagine di login) e non di aggiungerne esplicitamente.

Includerlo nelle attività SEO in senso stretto

Il robots.txt è solo un file di direttive soft, e riguarda più che altro l’indicizzazione corretta del sito. Il posizionamento in genere non viene quasi mai influenzato dalle sue modifiche, se non in modo estremamente incidentale o indiretto.

A meno che non si tratti di una SEO audit preliminare o una fatta dopo un po’ di tempo dall’ultima volta, è quasi sempre sufficente verificarne la sintassi.

Mettere a rischio la sicurezza del nostro sito mediante informazioni nel robots.txt

Il file robots.txt può essere scritto in molti modi diversi, e (ripeto) non voglio entrare nel merito del cosa e del come, in questa fase, bensì fare una considerazione relativa alla sicurezza. Un esempio dovrebbe aiutare a capire che cosa intendo, mediante un caso abbastanza comune sui vari siti che ottimizziamo ogni giorno.

Una tipica direttiva (tipica nel senso di molto diffusa) del robots.txt è fatta così, su vari siti in WordPress:

User-agent: *
Disallow: /wp-admin/

La buonafede è evidente perchè stiamo dicendo a Google di non indicizzare la parte amministrativa del nostro sito. Pero’ è inutile, perchè le pagine protette da password non possono essere visibili a Google, e questo molti SEO tendono a sottovalutarlo o addirittura ad ignorarlo. E cosa c’è di male, direte voi, nel ribadirlo in un file robots.txt? Se qualcuno scansiona il sito alla ricerca di falle informatiche, avrebbe la “prova” o comunque un indizio che state usando WordPress. E poi, in ogni caso, sono KB in più che non servono davvero a nessuno, alla fine.

Vale lo stesso discorso se scrivete nel file di cui sopra dei path di sistema, nero su bianco, nel vostro robots.txt, insomma: non state facendo altro che mettere nero su bianco a chiunque (compresi eventuali attaccanti informatici) la struttura delle cartelle del vostro sito. Questo può essere visto come un “indizio” per cui un eventuale attacco informatico potrebbe essere più facilmente condotto.

Cosa che è stata fatta sul serio: secondo un articolo del 2015 di Darren Pauli su The Register, infatti, i robots.txt hanno permesso di scovare rapidamente documenti riservati all’interno delle directory di vari siti. Per capirci, provate a dare uno sguardo a robots.txt famosi, ad esempio di Google, di Bing, di Wikipedia , del sito della Casa Bianca ed altri ancora. Vi renderete conto da soli, guardandoli, di quante informazioni “underground” potete ricavare da un file del genere.

Usare male le direttive Allow

Il robots.txt lavora in genere per sottrazione, nel senso che dice a Google cosa non deve scansionare, con l’unica eccezione sostanziale della sitemap XML che eventualmente indichiamo al suo interno. E allora perchè usare le direttive Allow? Ho sempre ritenuto che le direttive Allow abbiano poco senso, dato che si tratta di un file che si limita a suggerire (non obbliga di sicuro) ai crawler e ad altri servizi web cosa non dovrebbero necessario scansionare. Molto meglio, a quel punto, perdere qualche minuto in più sul file htaccess, che (lo ricordo) va editato da FTP e non è mai leggibile via browser (se provate ad aprirlo da browser restituisce un errore 403 forbidden).

Del resto, basta sbirciare un robots.txt impeccabile dal punto di vista SEO per capire ad esempio se un sito è fatto col CMS ABC che magari ha una brutta falla o, come nel caso dell’ultimo sito citato, in Drupal. Certo, non basta da solo per subire un attacco e (credo) nessuno memorizzerà mai delle password o dei dati sensibili in un file del genere, ma ero piuttosto sicuro che analizzandoli in massa ne sarebbero usciti risultati interessanti.

La logica secondo me preferibile del robots.txt dovrebbe, pertanto, per maggiore chiarezza, essere basata solo su Disallow: se il CMS è ben configurato, si potrà “proteggere da solo” oppure, al limite, si imposta un firewall.

Inserire aree riservate nel file robots.txt

Potrebbe davvero essere una cattiva idea coinvolgere il robots.txt , anche qui pensando di fare la cosa migliore: se ci sono file che fanno parte della sezione premium del nostro sito (ad esempio miosito.it/topsecret/file-a-pagamento.pdf), è chiaro che se Google li indicizzasse, sarebbe un problema. Ma se lo facciamo mediante il file robots.txt che è pubblicamente accessibile da chiunque, non solo da Google, scrivendo ad esempio che c’è roba segreta nella cartella:

User-agent: *
Disallow: /topsecret/

la gente potrebbe trovare il PDF e scaricarselo gratis a nostra insaputa da quella cartella. È un esempio molti importante perchè mostra come il robots.txt sia, nei fatti, usato spesso molto male, affibiandogli compiti che non può assolvere (per inciso: per proteggere un file si fa lato server, mediante codice PHP, htaccess o plugin di WordPress di vario genere).

A tale riguardo può essere formativo dare uno sguardo all’analisi (citata nell’articolo) dell’informatico francese Welmsteen, che ha mostrato alcuni casi critici sotto il punto di vista della sicurezza: tra le chicche, ha reperito dei documenti riservati che avrebbero dovuto essere deindicizzati, trovato parecchi robots.txt confusionari e/o inutili o errati, senza contare i due errori di fondo che riporto qui.

robots.txt non è un controllo, ma è un semplice file di testo (pubblico) opzionale

L’ennesimo errore consiste nel pensare che robots.txt agisca come meccanismo di controllo, quando in realtà è un semplice file di testo, non un eseguibile o un file contenente direttive vere e proprie. I motori di ricerca come Google, e lo scrivono chiaramente nella documentazione, non sono “obbligati” a seguire le indicazione come farebbero, ad esempio, nel caso di un redirect.

Nota: moltissimi, per inciso, sbagliano allo stesso modo nel considerare il file htaccess col mod_rewrite un file che redireziona le pagine (in realtà mette in condizione il server di poterlo fare).

Pensare che il robots.txt sia leggibile solo dai motori e non da eventuali malintenzionati

Il secondo errore, ancora più subdolo, consiste nel credere che un file creato per essere interpretato dai crawler motori di ricerca, per assurdo, non sia comunque leggibile dagli esseri umani.

Usarlo per impedire la scansione di pagine web che dovrebbero comparire nei risultati

Se inserite un

Disallow: /abc

subito dopo uno

User-agent: *

significa che state suggerendo (e non impedendo) a tutti i crawler di qualsiasi motore di ricerca di scaricare il contenuto della cartella /abc, quindi potenzialmente tutte queste pagine non saranno visibili o potrebbero apparire male in SERP (senza descrizione, nello specifico):

miosito.com/abc/prova/prova/ciao.html

miosito.com/abc/prova2.html

miosito.com/abc/category1

miosito.com/abc…

Fraintendere il significato del file robots.txt

Ricapitolo una serie di equivoci e verità su questo complicato e sottovalutato argomento:

  1. Un file robots.txt fa “intuire” (non obbliga, cosa che invece può fare il file .htaccess) ai crawler dei motori di ricerca quali pagine o file possono -o non possono – far scaricare dal tuo sito.
  2. Non serve propriamente alla parte di posizionamento, bensì solo a quella di indicizzazione;
  3. Spesso non basta da solo: oltre a mettere il Disallow, è spesso necessario confermare l’istanza di rimozione via escludi pagine della Search Console.
  4. Non bisogna mai usare il file robots.txt come mezzo per nascondere le pagine web dai risultati di ricerca di Google. Questo perché, se altre pagine rimandano a una pagina del tuo sito con testo descrittivo, la pagina del tuo sito potrebbe essere comunque indicizzata per altre vie (ad esempio, un backlink dall’esterno anche che non abbiamo messo noi)
  5. La configurazione del file robots.txt è spesso, alla prova dei fatti, non necessaria, a meno che tu non veda risultati di ricerca (SERP) del tuo sito con la scritta esplicita che testimonia un file robots.txt bloccante: ad esempio, “Non è disponibile una descrizione per questo risultato a causa del file robots.txt del sito“, oppure se un certo URL che ci interessa indicizzare non c’è o non si vede neanche usando l’operatore site:.
  6. Il Disallow potrebbe in alcuni casi bloccare gli aggiornamenti di contenuto di una pagina indicizzata, e comprometterne in modo indiretto il corretto posizionamento.
  7. Il file robots.txt deve essere sempre molto breve, e va salvato per righe: alcuni editor di Windows non lo salvano in modo corretto, per cui suggerisco di usare un buon editor di codice professionale come ad esempio Visual Studio di Microsoft.

Nota: cosa significa “Nessuna informazione disponibile per questa pagina”

Questo messaggio generico in alcuni risultati di ricerca di Google si presenta così:

e significa una cosa molto semplice: Google non è stato in grado di leggere informazioni utili sulla pagina, in particolare la meta-description, o al limite è riuscito a dedurre il title da quello della pagina o eventualmente dalle anchor text di altri backlink (esterni o interni al sito).

Da cosa dipende? Il file robots.txt potrebbe essere una causa, in teoria, anche se non certamente l’unica possibile. Ecco quali potrebbero essere i problemi annessi a questo errore, e come risolvere:

  • c’è una direttiva bloccante nel file robots.txt che, di fatto, impedisce a Google di scaricare il contenuto di quella pagina. Verificate se ci sia e, in caso, rimuovete la riga corrispondente alla direttiva in questione.
  • state usando la direttiva (poco nota, ma documentata da Google) max-snippet, che esplicita il numero di caratteri massimo che Google può usare (non è obbligato a seguire la direttiva, lo ribadisco) per limitare la lunghezza delle meta-description. Una ulteriore possibilità è che la pagina sia soggetta alla direttiva ulteriore nosnippet.

(fonte)

Nessun voto disponibile

Che te ne pare?

Articoli più letti su questi argomenti: