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 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:
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.
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:
In sintesi le direttive inserite in questo file robots.txt invitano tutti i motori di ricerca ad ignorare la directory /wp‑admin/.
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 sono regole che gli User-agent dichiarati devono seguire. Le più utilizzate sono:
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”.
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/”).
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.
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.
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;
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”.
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.
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 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/
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.
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.
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: /
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.
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 gestiscono 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.
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/.
In questa sezione mostrerò molteplici esempi pratici di file robots.txt.
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).
Ecco cosa scrivere nel file robots.txt per impedire la scansione a tutti i motori di ricerca:
User-agent: * Disallow: /
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).
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:
User-agent: googlebot User-agent: bingbot Disallow: /
In questo esempio tutti i motori di ricerca non possono eseguire la scansione della cartella “orologi”:
User-agent: * Disallow: /orologi/
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
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.
Ecco alcune domande frequenti relative al file robots.txt. Fammi sapere nei commenti se manca qualcosa e aggiornerò la sezione di conseguenza.
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.
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:
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.
I principali motori di ricerca elencati di seguito rispettano sicuramente 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.
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.
Ottieni l’accesso a guide, strategie e tutorial esclusivi che non condivido da nessun’altra parte.
Sottoscrivo la Privacy Policy di Valentino Mea. Sottoscrivendo acconsenti a ricevere informazioni e offerte riservate. Rispettiamo la tua privacy, i tuoi dati sono al sicuro e non saranno mai ceduti a terzi.
Vuoi sviluppare un business online di successo o vuoi essere formato anche tu ad alti livelli?
Copyright © 2013 - 2023 · Valentino Mea Srls rating 5.0/5 su 22 recensioni · C.F. / P.iva: 04373930611 · Privacy Policy · Cookie Policy · Sitemap · All rights reserved
Lascia un commento