Logo Valentino Mea Consulente SEO e SEM
  • File Robots.txt: cos’è, a cosa serve e come crearlo per la SEO
File Robots.txt

File Robots.txt: cos’è, a cosa serve e come crearlo per la SEO

Il robots.txt è un file che contiene direttive che indicano ai motori di ricerca quali parti del nostro sito possono scansionare e quali, invece, non devono scansionare. La bravura di un consulente SEO, consiste proprio nel compilare tale file in modo che i crawler possano accedere ai contenuti importanti del sito e, al tempo stesso, limitando la scansione dei contenuti meno importanti.

Indice dei contenuti:


Il file robots.txt in breve

Il file robots.txt contiene direttive destinate ai motori di ricerca. Puoi utilizzare tali direttive per impedire a quest’ultimi di eseguire la scansione di parti specifiche del tuo sito web.

Nello scrivere il file robots.txt occorre tenere presente le seguenti best practice:

  • inserisci il file robots.txt nella root del tuo sito (ad esempio https://www.tuosito.it/robots.txt);
  • presta attenzione quando apporti modifiche al file robots.txt, perché puoi impedire la scansione del tuo sito ai motori di ricerca;
  • ogni motore di ricerca interpreta le direttive del file robots.txt in modo diverso: per impostazione predefinita vince sempre la prima direttiva corrispondente, mentre per Google e Bing prevale la specificità;
  • evita il più possibile di utilizzare la direttiva crawl-delay.

Cos’è il file robots.txt

Il file robots.txt è l’implementazione dello standard per l’esclusione dei robot (chiamato anche Protocollo di esclusione robot). Indica ai crawler dei motori di ricerca di quali parti di un sito web è possibile eseguire la scansione.

I motori di ricerca verificano regolarmente il file robots.txt per verificare le istruzioni per la scansione. Queste istruzioni sono chiamate “direttive“.

Se un sito non presenta il file robots.txt oppure non contiene direttive applicabili, i crawler eseguiranno la scansione dell’intero sito.

Sintassi del file robots.txt

Vediamo un esempio di come potrebbe apparire il file robots.txt di un sito WordPress:

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

Spieghiamo la struttura di un file robots.txt in base all’esempio sopra:

  • user-agent: indica a quali motori di ricerca sono destinate le direttive che seguono;
  • * (asterisco): indica che le direttive sono rivolte a tutti i motori di ricerca;
  • Disallow: è una direttiva che indica quali contenuti non devono essere scansionati;
  • /wp‑admin/: è la cartella del nostro sito WordPress che non deve essere sottoposta a scansione.

In sintesi le direttive inserite in questo file robots.txt invitano tutti i motori di ricerca ad ignorare la directory /wp‑admin/.

User-agent

Ogni motore di ricerca dovrebbe identificarsi tramite uno user-agent, come fa ad esempio Googlebot di Google oppure Bingbot di Bing.

Il record user-agent individua l’inizio di un insieme di direttive. Tutte le direttive tra il primo user-agent e il successivo vengono considerate direttive per il primo user-agent.

Le direttive possono applicarsi sia a specifici user-agent, che a tutti gli user-agent. In questo secondo caso viene utilizzato il carattere jolly asterisco (user-agent: *).

Le Direttive

Le direttive sono regole che gli User-agent dichiarati devono seguire. Le più utilizzate sono:

Disallow

Puoi indicare ai motori di ricerca di non eseguire la scansione di determinate pagine, file o intere sezioni del tuo sito, tramite la direttiva Disallow seguita dal percorso che non si dovrebbe scansionare.

Se nessun percorso risulta definito, la direttiva viene ignorata. Esempio pratico:

User-agent: *
Disallow: /file-segreti/

In questo esempio viene indicato a tutti i motori di ricerca di non eseguire la scansione della cartella “file-segreti”.

Allow

La direttiva Allow, supportata da Google e Bing, viene utilizzata per contrastare una direttiva Disallow. La direttiva Allow è seguita dal percorso a cui è possibile accedere. Se nessun percorso risulta definito, la direttiva viene ignorata.

Utilizzando le direttive Allow e Disallow insieme, puoi indicare ai motori di ricerca di eseguire la scansione di file o pagine all’interno di una directory altrimenti non accessibile. Ad esempio:

User-agent: *
Disallow: /file-segreti/
Allow: /file-segreti/segreto-di-pulcinella.pdf

Nell’esempio sopra riportato nessun motore di ricerca può eseguire la scansione della cartella “/file-segreti/”, ma possono eseguire la scansione del file “segreto-di-pulcinella.pdf” che si trova al suo interno.

E’ inoltre facile confondersi e scrivere direttive contrastanti nel file robots.txt. Ecco un esempio di direttive contrastanti:

User-agent: *
Disallow: /file-segreti/
Allow: /file-segreti/

In questo esempio la scansione della cartella /file-segreti/ è sia bloccata che consentita. Per Google e Bing, essendo identico il percorso bloccato, in questo caso prevale la direttiva meno restrittiva (Allow: /file-segreti/). Per gli altri motori di ricerca, invece, prevale la direttiva più restrittiva (“Disallow: /file-segreti/”).

Sitemap

Anche se il file robots.txt è stato pensato per indicare ai crawler quali pagine non scansionare, può essere utilizzato anche per specificare la posizione delle Sitemap XML ai motori di ricerca tramite la direttiva Sitemap (questa funzione è supportata da Google, Bing, Yahoo e Ask).

Vediamo qualche esempio di come inserire la sitemap xml all’interno del file robots.txt:

User-agent: *
Disallow: /wp-admin/
Sitemap: https://www.miosito.it/sitemap.xml

In questo esempio si indica a tutti i motori di ricerca di non eseguire la scansione della cartella /wp‑admin/ e che la sitemap xml può essere trovata all’indirizzo https://www.miosito.it/sitemap.xml.

Ricorda sempre che il riferimento alle sitemap xml deve essere sempre indicato come URL assoluto e che è possibile fare riferimento a più sitemap xml.

User-agent: *
Disallow: /wp-admin/
Sitemap: https://www.miosito.it/sitemap-1.xml
Sitemap: https://www.miosito.it/sitemap-2.xml

L’esempio di sopra indica a tutti i motori di ricerca di non accedere alla cartella /wp‑admin/ e avvisa che ci sono due sitemap xml che possono essere trovate agli indirizzi https://www.miosito.it/sitemap-1.xml e https://www.miosito.it/sitemap-2.xml.

Ti consiglio, infine, di inserire un riferimento nel file robots.txt anche quando hai già inviato la sitemap xml a Google Search Console o Bing Webmaster Tools.

Crawl-delay

La direttiva crawl-delay nasce per prevenire il sovraccarico dei server dovuto alle troppe richieste dei crawler. I motori di ricerca, infatti, durante la scansione di un sito possono sovraccaricare il server.

Attraverso la direttiva crawl-delay è possibile specificare un ritardo di scansione in secondi per evitare tale sovraccarico. Ad esempio, se desideri che Googlebot attenda cinque secondi dopo ogni richiesta di scansione, puoi impostare il ​​crawl-delay in questo modo:

User-agent: Googlebot
Crawl-delay: 5

Tuttavia l’aggiunta della direttiva crawl-delay al file robots.txt è solo una soluzione temporanea e se il tuo sito è ospitato su un server scadente dovresti piuttosto risolvere questo problema, prima di pensare al posizionamento su Google.

Inoltre, non tutti i motori di ricerca gestiscono le direttive crawl-delay. Bing e Yahoo le supportano ufficialmente, mentre Google solo ufficiosamente.

Noindex

La direttiva Noindex nel file robots.txt non è supportata ufficialmente da Google, il quale raccomanda esplicitamente di non farne uso. Esempio pratico:

User-agent: Googlebot
Noindex: /camicie/

In questo esempio stiamo chiedendo a Google di non indicizzare la cartella /camicie/.

Vi consiglio di non utilizzare la direttiva Noindex nel file robots.txt perché non è supportata da Google e se desideri escludere una pagina dai risultati dei motori di ricerca occorre utilizzare il meta tag robots o l’intestazione HTTP X-Robots-Tag;

Nofollow

Questa è un’altra direttiva che Google non ha mai supportato ufficialmente, ma ancora qualcuno la utilizza per indicare ai motori di ricerca di non seguire i link su pagine o file. Ad esempio, se desideri impedire a Google di seguire tutti i link sul tuo blog, puoi utilizzare la seguente direttiva:

User-agent: Googlebot
Nofollow: /blog/

Google ha annunciato ufficialmente il 1° Settembre 2019 che la direttiva Nofollow nel file robots.txt non è supportata. Se desideri non far seguire i link su una pagina dovresti utilizzare il meta tag robots o l’intestazione HTTP X-Robots-Tag. Se, invece, vuoi indicare a Google di non seguire link specifici su una pagina, usa l’attributo del link rel = “nofollow”.

Perché bisogna ottimizzare il file robots.txt?

Il file robots.txt svolge un ruolo essenziale nella SEO, poiché indica ai crawler come possono eseguire la scansione di un sito nel miglior modo possibile.

Attraverso il file robots.txt possiamo impedire ai motori di ricerca di accedere ad alcune sezioni del nostro sito, prevenire contenuti duplicati e fornire loro indicazioni utili su come eseguire la scansione in modo più efficiente.

Ad esempio, se stai gestendo un sito e-commerce e gli utenti possono utilizzare un filtro per cercare rapidamente tra i tuoi prodotti, questo filtro genera pagine che mostrano sostanzialmente lo stesso contenuto di altre pagine. Funziona benissimo per gli utenti, ma confonde i motori di ricerca perché crea contenuti duplicati.

Naturalmente, non vogliamo che i motori di ricerca eseguano la scansione di queste pagine duplicate generate dai filtri e pertanto è necessario impostare regole Disallow nel file robots.txt in modo che i crawler non accedano a queste pagine.

La prevenzione di contenuti duplicati può anche essere gestita utilizzando il rel canonical, tuttavia questa soluzione non preclude la scansione delle pagine duplicate e dunque non sempre risolve completamente il problema.

I motori di ricerca hanno un tempo limitato per scansionare il nostro sito (crawl budget) e questo tempo dovrebbe essere speso solo per le pagine strategiche che vogliamo posizionare.

Come creare un file robots.txt

Se il tuo sito non dispone già di un file robots.txt, è piuttosto semplice crearne uno. Basta aprire un documento .txt vuoto e iniziare a digitare le direttive.

Ad esempio, se si desidera impedire a tutti i motori di ricerca di eseguire la scansione della cartella /orologi/, puoi scrivere così:

User-agent: *
Disallow: /orologi/

Una volta terminato l’inserimento delle direttive, dovrai rinominare il file con il nome “robots.txt” e inserirlo nella root del tuo sito (vale a dire nella directory principale del server).

In alternativa, puoi anche usare un generatore di file robots.txt, come http://tools.seobook.com/robots-txt/generator/, per ridurre le probabilità di commettere errori sintattici.

Seguono le indicazioni per scrivere correttamente il file robots.txt e ottimizzarlo per i motori di ricerca:

Ogni direttiva su una riga

Ogni direttiva dovrebbe risiedere in una riga a sé stante, altrimenti i motori di ricerca potrebbero confondersi durante l’analisi del file robots.txt. Ecco un esempio di file robots.txt errato:

User-agent: * Disallow: /cartella-1/ Disallow: /cartella-2/ Disallow: /cartella-3/

Uso del carattere jolly (asterisco)

Il carattere jolly asterisco (*) può essere utilizzato per assegnare le direttive a tutti gli user-agent, ma anche per individuare URL con precisi caratteri al loro interno. Ad esempio:

User-agent: *
Disallow: /vestiti/*?

In questo esempio nessun motore di ricerca deve eseguire la scansione degli URL della cartella /vestiti/ che contengono un punto interrogativo.

Uso del carattere “$”

Per indicare la fine di un URL è possibile utilizzare il simbolo del dollaro ($). Ad esempio, se vuoi impedire ai crawler di eseguire la scansione dei file immagine in formato jpg, il tuo file robots.txt potrebbe apparire così:

User-agent: *
Disallow: /*.jpg$

In questo esempio nessun motore di ricerca è autorizzato ad eseguire la scansione degli URL che terminano con l’estensione jpg.

Utilizzare i commenti

I commenti sono utili per spiegare il tuo file robots.txt agli sviluppatori o al consulente SEO. I commenti sono preceduti dal simbolo cancelletto (#) e possono essere inseriti all’inizio di una riga o dopo una direttiva sulla stessa riga. Tutto ciò che segue il carattere # sarà ignorato dai crawler.

# Questa direttiva indica a Bing di non scansionare il sito.
User-agent: Bingbot
Disallow: /

Un file robots.txt separato per ciascun (sotto)dominio

Le direttive del file robots.txt si applicano solo al dominio/sottodominio su cui è ospitato il file.

Ad esempio, se il tuo sito principale è miosito.it e il tuo blog è blog.miosito.it, in questo caso dovrai inserire due file robots.txt differenti. Uno dovrebbe andare nella directory principale del sito principale e l’altro nella directory principale del blog.

Evitare il Caching

Google ha reso noto che il file robots.txt viene generalmente memorizzato nella cache per un massimo di ventiquattro ore. È importante tenerne conto quando si apportano modifiche al proprio file robots.txt.

Non è chiaro come gli altri motori di ricerca gestiscano la memorizzazione del file robots.txt nella cache ma, in generale, è meglio evitare tale pratica, affinché i motori di ricerca non impieghino più tempo del necessario nel rilevare eventuali modifiche effettuate al file.

Solo un gruppo di direttive per ciascun motore di ricerca

Puoi definire un solo gruppo di direttive per ciascun motore di ricerca (ovvero per il suo user-agent), in quanto avere più gruppi di direttive per lo stesso user-agent potrebbe confonderli.

Nel caso in cui le direttive destinate a tutti i motori di ricerca siano seguite da direttive dedicate a un motore di ricerca specifico, verranno prese in considerazione solo queste ultime.

Affinché il motore di ricerca specifico segua anche le direttive generali, è necessario ripetere queste direttive anche per il motore specifico. Diamo un’occhiata a un esempio che chiarirà meglio:

User-agent: *
Disallow: /camicie/
Disallow: /t-shirt/
Disallow: /giacche/

User-agent: googlebot
Disallow: /giacche/

In questo esempio, nessun motore di ricerca può eseguire la scansione delle cartelle /camicie/, /t-shirt/ e /giacche/, mentre solo Google può eseguire la scansione delle /camicie/ e /t-shirt/, ma non delle cartella /giacche/.

Esempi di file robots.txt

In questo sezione mostrerò molteplici esempi pratici di file robots.txt.

Esempio 1: i motori di ricerca possono scansionare tutto il sito

Esistono diversi modi per indicare ai motori di ricerca che possono scansionare tutto il sito. Puoi utilizzare questa sintassi:

User-agent: *
Disallow:

Oppure puoi lasciare il file robots.txt vuoto (o non averlo affatto).

Esempio 2: impedire la scansione del sito ai motori di ricerca

Ecco cosa scrivere nel file robots.txt per impedire la scansione a tutti i motori di ricerca:

User-agent: *
Disallow: /

Esempio 3: impedire la scansione del sito a Google

In questo esempio solo Google non potrà scansionare il sito, mentre tutti gli altri motori di ricerca potranno farlo:

User-agent: googlebot
Disallow: /

Tieni presente che se non autorizzi Googlebot, lo stesso impedimento varrà per tutti i bot di Google. Ad esempio anche per il crawler di Google News (googlebot‑news) o Google Images (googlebot‑images).

Esempio 4: consentire la scansione del sito solo a Google News

In questo esempio nessun crawler di Google ha accesso al sito, ad eccezione di Google News:

User-agent: googlebot
Disallow: /
User-agent: googlebot-news
Disallow:

Esempio 5: impedire la scansione del sito a Google e Bing

User-agent: googlebot
User-agent: bingbot
Disallow: /

Esempio 6: impedire la scansione di una cartella specifica

In questo esempio tutti i motori di ricerca non possono eseguire la scansione della cartella “orologi”:

User-agent: *
Disallow: /orologi/

Esempio 7: impedire la scansione di un file specifico

In questo esempio nessun motori di ricerca può eseguire la scansione del file pdf “guida-robotstxt.pdf” contenuto nella cartella “pdf”:

User-agent: *
Disallow: /pdf/guida-robotstxt.pdf

Esempio 8: file robots.txt per WordPress

Il seguente file robots.txt è specificamente ottimizzato per WordPress:

User-agent: *
Disallow:

Sitemap: https://www.miosito.it/sitemap_index.xml

Questo file robots.txt funzionerà nella maggior parte dei casi, ma dovresti sempre modificarlo e testarlo per assicurarti che vada bene anche per la tua situazione specifica.

Domande frequenti sul file robots.txt

Ecco alcune domande frequenti relative al file robots.txt. Fammi sapere nei commenti se manca qualcosa e aggiornerò la sezione di conseguenza.

Qual è la dimensione massima di un file robots.txt?

Google attualmente supporta per la dimensione del file robots.txt un limite massimo di 500 KB e qualsiasi contenuto che ecceda questa dimensione massima può essere ignorato.

Non è chiaro, invece, se altri motori di ricerca prevedano una dimensione massima per il file robots.txt.

Bloccare la scansione di una pagina, impedirà la sua indicizzazione?

Questo un errore tipico che fanno i webmaster che hanno poche competenze SEO, i quali credono che sia sufficiente bloccare la scansione di una pagina per evitare la sua indicizzazione su Google.

In realtà scansione e indicizzazione sono due concetti diversi (per maggiori informazioni di consiglio di leggere “Come funziona Google: Scansione, Indicizzazione e Posizionamento“).

Le pagine che il file robots.txt rende inaccessibili ai crawler possono apparire ugualmente nei risultati di ricerca se sono linkate da pagine che, al contrario, sono scansionabili. Come in questo esempio:

Esempio pagina bloccata da Disallow nel file robots.txt

Inoltre se una pagina contiene la direttiva “noindex” erogata tramite meta tag robots o l’intestazione HTTP X-Robots-Tag, ma allo stesso tempo la sua scansione è bloccata da una direttiva Disallow, i bot dei motori di ricerca manterranno comunque la pagina nell’indice poiché, non potendo accedervi, non percepiranno mai il noindex.

Quali motori di ricerca rispettano il file robots.txt?

I principali motori di ricerca elencati di seguito rispettano sicuramente il file robots.txt:

Come posso modificare il file robots.txt?

Manualmente o utilizzando uno dei tanti plugin SEO, come Yoast che consente di modificare il file robots.txt direttamente dal backend di WordPress.

Conclusioni sul file robots.txt

Il Robots.txt è un file semplice, ma molto potente. Ritengo che ogni sito dovrebbe sempre presentare un file robots.txt per aiutare i motori di ricerca ad eseguire la sua scansione correttamente.

Utilizzarlo con consapevolezza significa migliorare l’ottimizzazione e il posizionamento sui motori di ricerca. Usarlo senza sapere ciò che si sta facendo, invece, può comportare seri danni alla visibilità organica di un sito.

Se vuoi un supporto professionale per il tuo progetto e ottenere risultati determinanti, visita la pagina dedicata ai servizi SEO.

Lascia un commento

Categorie del Blog

Telefona 02 8718 8516
preventivo@valentinomea.it