La configurazione del file robots.txt crea spesso confusione anche ai SEO più navigati – e mai parola fu più adeguata: navigati, navigare sul web, piccola battuta da nerd che potevo risparmiarmi, ovviamente. Ma restiamo seri per un attimo: la questione del robots.txt è ampiamente dibattuta da quando la SEO ha questo nome, e rimane per molti un qualcosa di difficile da decifrare nel suo corretto funzionamento.
Ricordo che il robots.txt è un tool di gestione degli URL del sito dal punto di vista del crawl (la fase di scansione delle pagine web del sito da parte di Google), non da quello dell’indicizzazione (cioè dell’inserimento delle pagine dentro Google, ammesso che rispettino certi requisiti). Le due cose sono ben distinte tra di loro, ed è importante ricordarlo sempre.
Di recente un utente ha chiesto delucidazioni a John Mueller di Google, il nostro Senior Webmaster Trends Analyst preferito, su un argomento importante per la corretta rilevazione di un sito appena nato da parte di Google. Cory, il webmaster in questione, si chiede se Google abbia smesso di seguire le direttive nel robots.txt, cosa che non sarebbe neanche impossibile – visto che di recente ha confermato ufficialmente di ignorare gli attributi dei tag di paginazione.
Il webmaster in questione si è visto rispondere direttamente da Mueller, che ha affermato che anche gli URL che non sono scansionati via crawler potrebbero essere indicizzati: questo perchè, ad esempio, c’è un link – esterno o interno che sia – che punta a quella pagina.
In quel caso le direttive del robots.txt vengono ignorate di default (infatti il nostro John risponde “that’s by design“).
URLs can be indexed without being crawled, if they're blocked by robots.txt – that's by design. Usually that comes from links from somewhere, judging from that number, I'd imagine from within your site somewhere.
— ❄️ John ❄️ (@JohnMu) March 26, 2019
Il modo corretto per evitare la scansione della pagina al 100%, in effetti, non è quello di metterlo nel robots.txt , bensì quello di bloccarli lato codice PHP oppure, meglio ancora, mediante direttive HTACCESS. Non come fanno alcuni, per inciso e a mio avviso sbagliando, che inseriscono nel robots.txt anche le sezioni amministrative – che non devono essere viste da Google, ed è corretto, ma il punto chiave è che:
- quegli URL di login sono standard, e per i CMS open source sembrano solitamente ignorati di default (quindi è inutile metterle lì), ma soprattutto
- il file robots.txt è in chiaro, quindi se mettete un URL di login al suo interno state svelando pubblicamente come accedere alla sezione amministrativa del vostro sito.
Questo ci riporta al succo del discorso, in conclusione: il robots.txt blocca il crawler, per definizione, ma non blocca per forza l’indicizzazione – infatti sono sufficenti uno o più link in ingresso alla pagina perchè venga indicizzata lo stesso. In questo senso, Google può rispettare o meno la direttiva, e tendenzialmente la rispetta – ma se trova dei backlink, come nel caso in questione, che puntano alla pagina che non andrebbe indicizzata, finirà per metterla comunque nel proprio catalogo.