Il file robots.txt gestisce le istruzione sul comportamento dei crawler all’interno delle pagine del sito.

Questo articolo approfondirà le linee guida che potete trovare sul sito dedicato.

Specifiche tecniche del file Robots.txt

Come norma, i crawler visitano la root principale del sito alla ricerca del file robots.

Il file deve essere codificato ASCII o UTF-8. Le regole inserite all’interno del documento sono case sensitive.

Le operazioni svolte per segnalare ai crawler come Googlebot i permessi alle directory e ai file rientrano nel Protocollo di esclusione robots (Robots Exclusion Protocol).

Le funzioni del file comprendono:

  • Accesso del sito (o parti di esso) ai crawler.
  • Prevenzione di inserimento sui motori di ricerca di contenuti duplicati.
  • Indica un delay di accesso ai crawler per evitare il sovraccarico dei server.
  • Evitano l’indicizzazione di documenti e immagini.
  • Si segnala la presenza di una sitemap

Variante: META tag robots

Un modo alternativo per segnalare le istruzioni comunemente inserite nel robots.txt è l’utilizzo di uno specifico tag all’interno delle pagine HTML.

Da un punto di vista di “credibilità”, il <meta> viene ignorato da molti bot e ha un numero di istruzioni ristrette al permesso di indicizzazione della pagina in cui è posto e all’assegnazione dell’attributo nofollow ai link presenti nello stesso file HTML.

In breve, ecco le combinazioni valide del meta (il valore base, se non segnalato, è follow, index):

<META NAME="ROBOTS" CONTENT="NOINDEX, FOLLOW"> 
<META NAME="ROBOTS" CONTENT="INDEX, NOFOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

Istruzioni standard

L’utilizzo basilare del robots.txt permette o revoca il permesso ai crawler, in tutto il sito o in parte di esso.

Per segnalare la presenza di una sitemap, bisogna inserire l’indicazione:

Sitemap: https://www.tuo-sito.com/sitemap.xml

Oltre alla sitemap, l’utilizzo più comune del file è quello di indicare che tutti o una parte dei bot possono accedere al sito:

User-agent:*
Disallow:

Se invece si vuole bloccare l’accesso ad alcuni bot, lo si deve segnalare:

User-agent: Baiduspider  
User-agent: Bingbot 
Disallow: /

Nel caso in cui si voglia negare l’accesso al tutto il sito, basta indicare la cartella della root (quindi “/“) e il simbolo * per segnalare che la scelta si applica a tutti i bot:

User-agent:*
Disallow:/

Per bloccare l’accesso solo ad alcune cartelle del sito, si può segnalare la directory a partire dalla quale non verrà indicizzato / percorso il sito.

Un esempio abbastanza comune è quello relativo alla cartella amministrativa di WordPress:

Istruzioni di disallow e allow
User-agent:*
Disallow: /wp-admin/

Istruzioni avanzate

Non è sempre possibile inserire un disallow che comprenda tutti i file di un’intera directory (e le eventuali sotto directory), come nel caso indicato poco sopra.

In altri casi potremmo essere interessati al passaggio di alcuni bot, ma non di tutti.

Come regola generale, una regola applicata ad una segnalazione più specifica / lunga di un’altra ha la priorità, come nel caso di una riga in cui si segnala una directory più profonda di un percorso , un file all’interno di una directory che ha un’istruzione differente.

Per spiegare facilmente un concetto altrimenti astruso, basta fare un paio di esempi:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Nonostante la cartella /wp-admin/ abbia un’istruzione di non permettere l’accesso, disallow, il file admin-ajax.php può essere scansionato.

User-agent: Googlebot 
Disallow: /directory/
Disallow: /directory-nuova/
Allow: /directory-nuova/subdirectory1/

In quest’ultimo esempio, a Googlebot è permesso l’accesso ad alcune directory, ma non a tutte. E per le directory in cui non ha accesso completo, può visionare una sua sotto sezione.

Immagine colorata con scritta robots.txt

Simboli * e $ in robots.txt

Con gli esempi fatti finora, si è introdotto il principio per cui un’istruzione più specifica (che significa invariabilmente più lunga) ha una validità maggiore di una più generica.

Ma se dovessimo indicare intere tipologie di file o evitare la scansione di alcune parole specifiche presenti nelle URL (come quelle che indicano una categoria) senza però bloccarle tutte, è necessario utilizzare due simboli che sovrascrivono le regole indicate sinora:

  • Il primo caso è quello del simbolo wildcard * che indica “una qualsiasi quantità di caratteri”.
  • Il simbolo $ indica che i caratteri segnalati prima sono quelli con cui l’istruzione deve finire.

In sintesi, $ viene utilizzato per segnalare la fine di un URL, la parte finale del percorso di un URL.

La wildcard invece viene utilizzata per completare i percorsi che possono avere più varianti.

Un paio di esempi per capire meglio:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Allow: /*.css$
Allow: /*.js$

Le ultime due righe indicano che tutti i file che finiscono con .css e .js, indipendentemente dal percorso di cui è composta la URL (basta che appartenga al nostro sito, sia chiaro!), sono scansionabili.

Un utilizzo poco applicato ma molto utile è quella di bloccare la scansione delle URL generate dalla ricerca interna del sito:

Disallow: *?*search=

Differenza tra disallow e noindex

Il modo più utilizzato per evitare l’indicizzazione di un sito è l’inserimento del tag noindex nella pagina.

Pochi però sanno che è possibile compiere la stessa operazione tramite il file robots.txt, in questo modo:

Noindex: /esempio-pagina-1/
Noindex: /esempio-pagina -2/

Ma qual’è la differenza tra il Disallow e il Noindex?

Quando si parla di disallow si segnala un blocco alla scansione, la prima fase che un motore di ricerca impiega per prendere informazioni sulle pagine del sito.

Successivamente il motore di ricerca sceglie se indicizzare la pagina e includerla tra i suoi risultati.

In questa seconda fase, un noindex, sottoforma di tag o indicazione su robots.txt segnala che le informazioni, sebbene in possesso dell’indice del motore di ricerca, non devono essere mostrate.

Di conseguenza, si dovrebbe usare un disallow in una prima fase, quando la pagina non è indicizzata, per evitare che successivamente la pagina rimanga ma non aggiornata, perché inizialmente visibile al motore di ricerca ma a cui successivamente viene bloccato l’accesso.

Il disallow serve per risparmiare crawl budget, che potrà essere allocato nella scansione di pagine che consideriamo più adatte.

Un’indicazione di tipo noindex può essere applicata anche in un secondo momento, e si potrà scegliere tra una soluzione che sovrascriva eventuali tag, come nel caso del tag noindex.

L’alternativa invece, il meta da inserire nelle pagine, permette la creazione di noindex condizionali, da applicare a determinate categorie di pagine, come per esempio quelle che riportano 0 risultati per una ricerca.

Strumenti per analizzare il file

Per informazioni sullo stato di indicizzazione del sito, è possibile verificare eventuali incongrunze tramite il tool di test di Google.

Se invece non si volesse perder tempo a comprendere la sintassi del file, è possibile generare delle istruzioni coerenti tramite questo file generator.

starstarstarstarstar5.00 / 1 voto / i

Related Posts

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.