Il robots.txt Esempio pratico


Diamo un occhiata pratica al robots.txt con un esempio visto dai Crawler.

Con il "cancelletto" # all'inizio, si possono scrivere dei commenti che non vengono presi in considerazione dal Motore di ricerca.

L'asterisco “ * ” (Wildchar) sta a significare "tutti i robots".

 

Esempio grafico del robots.txt

Chiaramente le indicazioni tra le parentesi "<--(a tutti i robots)" non devono essere inserite nel vostro file. Qui spiegano solo cosa fa quell'elemento a cui puntano.



Il robots.txt e le sue varianti

# robots.txt for http://www.esempio.it/
# Permesso di indicizzazione (lettura e registrazione nel database) per tutti i dati.

User-agent: *
Disallow:

Nel caso dell'esempio qui sopra, viene indicato che tutti gli "User-agent" (ad esempio il Googlebot) hanno il permesso a indicizzare le pagine e seguirne i link. Questo è il famoso (Index,Follow) consigliato come Standard.

Aggiungendo una / Slash subito dopo il Disallow: / si ottiene l'esatto contrario che rappresenta, qualora il file non fosse mai stato indicizzato prima, lo standard noindex,nofollow che andremo a vedere più avanti.

Esempio

Nel prossimo esempio indichiamo che tutti i Robots potranno indicizzare l'intero dominio escludendo il Motore di ricerca Altavista dalla lettura dei file contenuti nella cartella "Temp".

User-agent: scooter
Disallow: /temp/

User-agent: *
Disallow:

Si potrebbe aggiungere che per uno specifico file temp gli viene ammessa la lettura.

User-agent: scooter
Allow: /temp/esempio2.html
Disallow: /temp/

Nota: Per assolvere alle direttive standard dei Crawler che riconoscono l'attributo Allow:, che comprendono l'esclusione di un file dal blocco generale della cartella, la direttiva Allow:/ deve essere posta al di sopra della Disallow: in coppia.

Un esempio non conforme alle direttive standard potrebbe essere simile al seguente. La pagina esempio.html nella directory "privato" è abilitata alla scansione, ma in modo non conforme allo standard dei bot.

User-agent: Googlebot
Disallow: /privato/
Disallow: /admin/
Allow: /privato/esempio.html

Qui sopra notiamo che la direttiva Allow: per il file esempio.html é stata posta erroneamente senza rispettare la coppia delle direttive da utilizzare nel caso uno o più file di una cartella bloccata debbano essere ammessi alla scansione.
Quindi correttamente, prima: Allow: /cartella/file e subito dopo Disallow: /cartella/.
Chiaramente qui noi stiamo parlando dello Standard di questo file, l'uso fuori norma ad esempio invertendo gli operatori o utilzzando l'operatore Allow: da solo non esclude il funzionamento corretto del robots.txt ma non lo potrà garantire. Impariamo quindi ad attenerci alle norme standard.

Blocco delle immagini

Bloccare l'indicizzazione delle immagini a tutti i robots o solo al Googlebot-Image

User-agent: Googlebot-Image
Disallow: /

Qui sopra stiamo indicando al Crawler delle immagini di Google che non desideriamo che le nostre immagini vengano inserite nel suo indice.

Per estendere il blocco dell'indicizzazione a tutti gli Spider, inseriremo l'asterisco " * " al posto del nome dell'User-agent.

Rimozione di uno specifico file immagini

Per rimuovere o bloccare un file specifico, per esempio un immagine di tipo .PNG indicheremo al Crawler i seguenti parametri:

User-agent: Googlebot
Disallow: /*.png$

L'esempio qui sopra mostra come si possono gestire le restrizioni di alcuni file, indicando allo Spider attraverso l'asterisco che tutti i file che terminano con quell'estensione non devono essere indicizzati. Il segno del dollaro " $ " sta a significare che la regola termina lì.

Esempio con i pattern

Molto spesso dopo aver per esempio usato il mod_rewrite per rendere gli indirizzi search engine friendly, ci ritroviamo con due indirizzi URL che ci portano sulla stessa pagina, creando quindi dei duplicati.
Ad esempio, dopo aver riscritto l'indirizzo: ...dominio.it/index.php?id=123&num=42 in qualcosa di più comprensibile come: ...dominio.it/scarpe-numero-42, richiamando sia uno che l'altro, il browser ci mostrerebbe la stessa pagina.

Non stiamo qui a spiegare che si potrebbero utilizzare tecniche di reindirizzamento per evitare il problema dei duplicati a monte, ma ci limiteremo a utilizzare una scappatoia che ci viene offerta dal robots.txt, impedendo la scansione dei file contenenti il punto interrogativo ? che rappresentano l'indirizzo URL dinamico della pagina.
Vediamo come:

User-agent: *
Disallow: /*?

Qui sopra con l'asterisco dopo la slash /, stiamo indicando a tutti i robots (ma potremmo scegliere anche solo il Crawler Slurp di Yahoo per esempio) che: "tutto" ciò che segue il punto interrogativo ? non deve essere indicizzato. Abbiamo così evitato quindi che il Googlebot, per esempio, seguendo i due indirizzi e trovandoli terminanti sulla stessa pagina debba perdere tempo con la scansione di un URL che può fare a meno di scansionare in quanto duplicato..

Differenze tra indicizzazione e scansione

Quando si parla di motori di ricerca la scansione e indicizzazione hanno un significato ben preciso che è bene tenere a mente per comprendere meglio come funzionano i processi di un motore di ricerca.

Indicizzazione: nel nostro caso significa alla lettera: inserire dei dati nell'indice di un motore di ricerca, per esempio una pagina web.

Scansione: sempre nel nostro caso, sifgnifica alla lettera: processare dei dati informatici (per esempio la pagina web) per inserirli successivamente in un indice.

Quindi, quando impediamo qualcosa nel robots.txt, stiamo dicendo al Crawler: non fare la scansione, cioè, non entrare in questo file per aggiornare le informazioni e/o inserirlo nell'indice della ricerca organica.

Non fare la scansione però non significa "non indicizzare", e quindi per questo motivo potremmo sempre trovare dei file nell'indice di Google ma sottoforma di dati elencati "per conoscenza" privi dello snippet di descrizione. Cioè accade perchè vengono trovati lincati, per esempio nel web attraverso altre risorse, o perchè erano stati inizialmente indicizzati e successivamente è apparsa nel robots.txt l'informazione di non farne più la scansione.

Se il Cralwer Googlebot trova in un altro sito l'indirizzo del nostro file bloccato, o lo trova lincato nel nostro sito in qualche pagina, è costretto a entrarci e a farne la scansione, ma, una volta processati nuovamente i dati, prima di indicizzarlo chiederà al robots.txt del nostro sito se questo file è libero da restrizioni, e, trovandolo bloccato, lo inserirà nell'indice supplementare senza uno snippet di descrizione (con il solo titolo della pagina).

Motivo di questa apparente incongruenza

Questo accade quando il Googlebot trova questo file prima del suo blocco e lo indicizza. Una volta bloccato nel robots.txt, gli viene impedito di farne la scansione e quindi l'aggiornamento regolare delle informazioni che potrebbero essere state modificate, ma, pur non potendo fare la scansione, attraverso questa direttiva non gli viene richiesta la rimozione dall'indice. Per questo motivo lo trasferisce in un indice supplementare dal quale verrà generalmente fuori solo se richiamato attraverso l'operatore site: e apparirà senza lo snippet (la descrizione sotto il titolo) con un messaggio che avvisa della sua restrizione dalle scansioni.

Rimozione di una pagina indicizzata

Per poter richiedere la rimozione dall'indice della pagina bloccata dal robots.txt ma ancora presente per conoscenza nell'indice supplementare, bisogna seguire una prassi molto semplice:

La prima operazione da fare è quella di inserire nella pagina in questione una meta tag robots impostata su noindex,nofollow.

La seconda operazione è quella di togliere il blocco del file dal robots.txt, altrimenti il Googlebot non potrà sapere che lì dentro c'è la meta robots impostata su noindex.

Una volta che il blocco della scansione della pagina viene tolto, si passa avanti con la terza e ultima operazione:

Aprire gli strumenti per i webmaster di Google, entrare nella sezione Scansione --> Visualizza come Google, richiedere il recupero della pagina in questione e una volta avvenuto, cliccare su Invia all'indice come URL. A questo punto il Googlebot passerà da quella pagina trovando la meta tag robots impostata su noindex e la rimuoverà definitivamente dal suo indice.

Per i file di natura dinamica dove non è possibile o complicato inserire una meta tag robots esclusiva per loro, si dovrà ripiegare sulla richiesta di rimozione attraverso gli strumenti per i webmaster, dopo che il file, se richiamato, risponde con un errore 404 o 410.

Una volta fatte queste operazioni nei casi in cui il file rimane nella root del dominio ed è nuovamente scansibile e indicizzabile, è bene reimpostare il blocco nel robots.txt per evitare che il Googlebot rientri su quella pagina e la reindicizzi.

Nota: Google sconsiglia di usare il Tool "Rimuovi URL" per le regolari pagine che vengono rimosse dal sito. Il Crawler Googlebot quando sarà passato un paio di volte da quelle pagine non trovandole le rimuoverà automaticamente. In situazioni eccezionali, o quando si ha urgenza per qualunque motivo, é concesso però farlo.

Eccezioni:

Vietiamo a tutti i Robots l'indicizzazione del sito.

User-agent: *
Disallow: /

Con la Slash subito dopo Disallow:, indichiamo che l'indicizzazione dell'intero sito è vietata a tutti i Browser. (nel meta tag robots della pagina Html il corrispondente è il: "noindex,nofollow")

La meta tag Robots

Si tenga presente che se usiamo il robots.txt non è necessario inserire la meta robots avente nel suo contenuto index,follow se la pagina non ha particolari restrizioni.

Fate attenzione! Se l'indicizzazione della pagina in questione viene bloccata dal robots.txt, una meta robots aggiunta successivamente in essa diventa praticamente inutile, in quanto il Crawler prima di fare la scansione di un file, controlla generalmente prima di ogni ingresso e, in ogni caso, almeno una volta giornalmente il robots.txt per accertarsi che il file da indicizzare non sia bloccato. Quindi se fosse già a conoscenza che il file è bloccato non entrerebbe nella pagina e di conseguenza non riuscirebbe a scoprire quella meta.

Se la pagina deve essere esclusa dalle indicizazzioni e cancellata dall'indice, si inserirà una meta robots noindex,nofollow senza fare menzione di essa nel robots.txt!

La meta robots nell'Header della pagina sarà simile alla seguente:

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


Per i più smanettoni, Apache offre attraverso il file .htaccess la via migliore per indicare al robot che la pagina può essere cancellata, facendo rispondere il server alla richiesta del Crawler di scaricarla, con un errore 410 (Gone).

Il messaggio inviato in risposta dal server indica:
Il file è assente, non ci sono redirect a un altro indirizzo e la sua assenza è permanente!
Generalmente questo fa si che il Googlebot o altri Spider rimuovano immediatamente l'indirizzo del file dal loro indice.

Combinazioni parametri nella meta robots

Nella meta tag robots, possono essere utilizzate le seguenti combinazioni per informarlo su cosa deve fare:

  • index,follow = Indicizza la pagina e segui i link
  • noindex,nofollow = Non indicizzarla e non seguire i link (rimuovila dall'indice)
  • index,nofollow = Indicizzala ma non seguire i link
  • noindex,follow = Non indicizzarla ma segui i link
  • all = index,follow
  • none = noindex,nofollow

Come esposto qui sopra, si possono anche usare gli standard All o None, rispettivamente indicanti gli operatori: index,follow, e noindex,nofollow.

Delle eccezioni (nel proibire l'indicizzazione), si possono raggiungere inserendo delle Passwords o indicando dei diritti di ingresso CHMOD attraverso il tuo software FTP, in base alle restrizioni della pagina.

Mentre invece nella pagina Html per evitare che il robot segua un particolare link, si usa l'attributo rel="nofollow", inserendolo come segue nell'esempio:

<a rel="nofollow" href="http://www.esempio.it/"> Questo link non verrà preso in considerazione per i calcoli del pagerank </a>.

Si tenga presente che l'attributo "rel="nofollow"" viene riconosciuto ufficialmente solo da Google, Bing e Yahoo. Per gli altri Spider non ci sono notizie ufficiali sul riconoscimento di questo elemento.

Controllo online del robots.txt

Controllate direttamente dopo aver compilato il testo, la sua funzionalità e l'eventuale presenza di errori, dopo averlo inserito online nella Root del vostro sito.(Root è la radice, la directory principale sul server dove trovate per esempio la pagina index del sito) Per inserire online nella Root, il robots.txt, basta compilare il testo come da esempio qui sopra, nominarlo "robots.txt" facendo attenzione al carattere usato, che deve essere tutto minuscolo, e inserirlo infine come un qualsiasi documento html nella Root.

L'indirizzo del vostro robots.txt sarà quindi: https://www.iltuodominio.it/robots.txt

 

Questo è l'indirizzo dove potrete fare il test: Test online robots.txt

Il sito ufficiale dove potrete trovare maggiori informazioni:www.robotstxt.org

Altre informazioni su Googlebot potrai trovarle cliccando su: GoogleBot Info Site

 

Autore: Angelo Palma