Il file robots.txt è un file testuale con cui poter controllare ciò a cui a gli spider possono accedere quando effettuano la scansione del vostro sito web. Esso deve obbligatoriamente trovarsi al livello root del vostro dominio ed è consultabile aggiungendo la stringa /robots.txt alla home page (ad esempio, https://vostrodominio.com/robots.txt). È assimilabile a un mezzo di comunicazione tra il sito e lo spider.
Quando il crawler arriva in un dominio web per effettuarne la scansione legge vari elementi, tra cui il robots.txt come primo file. Esso viene indicato come Protocollo di Esclusione Robot, dall’inglese Robot Exclusion Standard, comparso per la prima volta nel 1994. Ad oggi, non esiste uno standard univoco e da seguire per quel che concerne l’utilizzo del file.
Ogni sito può disporre al massimo di un solo file robots.txt. Inoltre, ciascuno dei sottodomini o dei file che risiedono nei server https deve possedere il proprio file. Se il crawler non lo trova, gli verrà mostrata una pagina 404 che indica che esso non è stato creato oppure non è stato generato correttamente e procederà a scansionare l’intero dominio web.
I documenti che vengono sottratti al crawling da parte dello spider non sono in grado di trasferire link authority ad altre pagine presenti all’interno del sito web o in domini esterni.
È giusto sottolineare, però, che le pagine non oggetto di scansione potrebbe essere ugualmente indicizzate dal motore di ricerca e, quindi, apparire nelle SERP. Tale situazione si verifica principalmente quando altre risorse web interne contengono link che reindirizzano verso la pagina nascosta al crawler. Il contenuto web sarà presente nei risultati di ricerca con l’indicazione che al search engine non è stata consentita la scansione del documento. D’altronde, lo spider dispone di poche informazioni sulla pagina a cui non può accedere e si baserà principalmente sul testo degli anchor text e su altri segnali provenienti dalle risorse che si collegano ad essa per inserirla nelle pagine dei risultati.
Indice dei contenuti
File robots.txt: a cosa serve
È possibile utilizzare questo strumento per varie operazioni, le principali sono:
- evitare che i crawler abbiano accesso a sezioni non pubbliche del vostro dominio;
- impedire l’accesso ai motori di ricerca a script index, utility o altre tipologie di codice;
- bloccare l’indicizzazione di contenuti duplicati presenti all’interno del dominio;
- facilitare la scoperta della sitemap XML.
Non è obbligatorio implementare tale file nel proprio sito, ma dalla sua creazione ne possono derivare dei vantaggi evidenti in termini SEO. Infatti, oltre alle funzioni già citate, il robots.txt consente di agevolare il compito degli spider.
Il bot di Google, ad esempio, atterra sul sito già dotato di un budget (denominato appunto crawl budget), ossia il numero di URL che è in grado di analizzare e, soprattutto, che ha intenzione di scansionare. Scegliere le pagine da sottoporre all’analisi dello spider e quelle da escludere, insieme alle decisioni relative a quali bot degli altri motori di ricerca “accogliere” nel proprio sito, consente allo spider di impiegare il crawl budget solo per le pagine di maggiore interesse per il business aziendale.
Come si scrive
La prima considerazione da fare è che il nome del file deve essere tutto in minuscolo. Dunque, varianti come Robots.txt o ROBOTS.TXT non potranno essere lette dagli spider. Inoltre, il suo formato deve essere testuale e non HTML, affinché i bot dei motori di ricerca possano accedervi.
Particolare attenzione va riservata alla scrittura delle directory e dei nomi dei file. Per gli spider e, più in generale, per i motori di ricerca c’è differenza tra il maiuscolo e il minuscolo. Quindi, la directory /tag/ è diversa da /Tag/. Sbagliare nel digitare la giusta cartella può avere delle conseguenze disastrose per un sito web. Questo aspetto rappresenta un punto focale nella scrittura di un file robots.txt. Per questa ragione, è bene affidarsi a un’agenzia web come Vanilla Marketing per configurarlo alla perfezione.
Sintassi del file robots.txt
La sua grammatica non è particolarmente complessa ed è accessibile anche a chi non ha particolari competenze informatiche.
Nella prima riga, con la dicitura User-agent viene specificato il nome di un robot verso cui sono rivolte le indicazioni. Ad esempio:
User-agent: Googlebot |
Inserendo l’asterisco dopo questa stringa si comunica che le varie indicazioni sono rivolte a tutti i motori di ricerca.
User-agent: * |
Disallow: sbarrare le porte al crawler
Nella riga successiva vengono riportati i diversi comandi. La principale direttiva da utilizzare nei confronti dei motori di ricerca è Disallow. Con questa indicazione si impedisce allo spider di accedere a una determinata pagina o directory. Non esiste un limite alle linee Disallow, potete utilizzarne quante volete. Non scrivendo nulla dopo il comando Disallow il crawler analizzerà tutte le pagine del vostro sito. Ciò equivale a non impostare un file robots.txt
Disallow: |
Per bloccare l’intero dominio dalla scansione dei motori di ricerca occorre aggiungere il simbolo /.
Disallow: / |
Nel blocco di testo contenente le istruzioni per un bot di uno specifico motore di ricerca e i comandi non vanno inserite righe vuote. Al contrario, va lasciata una riga vuota quando si iniziano riportare le istruzioni per un ulteriore spider (dunque, un altro pezzo di testo che inizia con User-agent e finisce con l’ultimo comando), appartenente a un’altro search engine. Per fare un esempio:
User-agent: Google Disallow:
User-agent: Bingbot Disallow: / |
Simboli
Nella scrittura del robots. txt i simboli hanno funzioni diverse e permettono di chiarire ancora di più come deve muoversi lo spider tra le pagine del dominio.
Il simbolo # (hash) viene impiegato per riportare delle note nel file e serve a far ignorare tutto ciò che è trascritto dopo di esso.
Disallow: /member # for directories and files called member |
Utilizzando il carattere * (asterisco) si è in grado di vietare l’accesso alle sottodirectory che iniziano con un particolare termine. Ad esempio, con il comando che riportiamo di seguito si impedirà il crawling delle sottocartelle public1, public2, public3 e seguenti.
Disallow: /public*/ |
Con il segno del dollaro $, posizionato alla fine di una stringa, è possibile impedire la scansione degli URL che finiscono con quella specifica estensione. Facendo un esempio, per bloccare le pagine con l’estensione .pdf si dovrà inserire nel file robots.txt:
Disallow: /*.pdf$ |
Se si ha intenzione di non far accedere gli spider a delle pagine contenenti determinati parametri, è necessario includere quel parametro (ad esempio, un punto interrogativo) tra due asterischi.
Disallow: /*?* |
È bene tenere presente che l’uso di questi caratteri non è esteso a tutti i motori di ricerca. Infatti, solo Google e Bing sono capaci di attuare queste direttive.
Il comando Allow
Per annullare parzialmente un precedente comando Disallow viene utilizzata l’indicazione Allow. Tale direttiva agisce all’opposto del Disallow e ha il fine di permettere agli spider dei motori di ricerca l’accesso alle cartelle e alle pagine per le quali si intende ricevere la scansione.
Di seguito un esempio di come utilizzare il comando Allow per consentire l’accesso a una sola directory, avendo proibito al crawler di Google di scansionare l’intero sito:
User-agent: Googlebot Disallow: / Allow: /assets/ |
La direttiva Noindex
Come detto nelle righe precedenti, il comando Disallow non impedisce gli spider di indicizzare le pagine che sono state analizzate. Per questo motivo, è possibile ricorrere alla disposizione Noindex. Così facendo, le pagine selezionate non verranno incluse nelle SERP del search engine.
Google non ha confermato l’efficacia di questo comando inserito nel robots.txt. Perciò, molti publisher preferiscono impiegare il meta robots noindex nelle pagine che non desiderano vengano inserite nei risultati di ricerca.
Crawl delay
Un ulteriore comando che indica al bot del motore di ricerca quanto tempo aspettare tra la scansione di una pagina e quella successiva è il crawl delay. Ad oggi, la direttiva è supportata e recepita da Google, Bing e Ask.
Il crawl delay è particolarmente funzionale a non sovraccaricare il server dell’editore, evitando così dei rallentamenti nel sito. Per utilizzare tale comando bisogna scrivere crawl delay e specificare il numero di secondi, come nell’esempio qui riportato.
Crawl delay: 3 |
Inserire la sitemap nel file robots.txt
Per far sì che i crawler leggano la sitemap direttamente dal robots.txt e siano facilitati nella scansione del sito, è buona cosa inserire la mappa del dominio nel file.
L’URL indicato nella sitemap deve essere completo e può essere posizionato in ogni posto del robots.txt. Ad esempio,
Sitemap: http://www.miosito.com/sitemap_index.xml |
Esempi
Non ci sono regole auree e che funzionino in ogni caso per quel che concerne il robots.txt. Esso va personalizzato in base alle proprie esigenze e obiettivi.
Alla luce di quanto abbiamo visto nei precedenti paragrafi, un esempio di file robots.txt, che si rivolge a tutti gli spider dei motori di ricerca, potrebbe essere:
User-agent: * Disallow: /wp-admin/ Disallow: /*.pdf$ # for files ending in pdf Allow: /wp-content/uploads/
Sitemap: http://www.miosito.com/sitemap_index.xml |
Come modificarlo
Nella maggior parte dei casi, il robots.txt è modificabile dalla root. Ci si può aiutare con un editor di testo nella scrittura del file. Se avete installato WordPress nel vostro sito potete personalizzarlo grazie al famoso plug-in Yoast SEO.
Recandovi nella finestra del plug-in, per poi cliccare su Strumenti e continuare in Modifica File sarete in grado di personalizzare il vostro file robots.txt in WordPress.
Ulteriori precisazioni
Uno degli errori più comuni quando si è alle prese con il file robots.txt è non considerare la presenza o meno del certificato SSL. Le indicazioni presenti nel file robots.txt della versione http del sito non vengono interpretate dai motori di ricerca come valide anche per la versione https. Quindi, si rende necessario creare due file diversi per ciascuna delle versioni.
Un altro aspetto da prendere in considerazione è il fatto che il bot di Google non viene influenzato da istruzioni come Disallow: /. Infatti, esso si disinteressa delle direttive rivolte a tutti i motori di ricerca poiché ha delle istruzioni proprie da robots.txt.
Testare il robots.txt
Controllare che il robots.txt non presenti errori o che escluda solo le pagine da noi effettivamente bloccate agli spider è un’operazione fondamentale per assicurare la visibilità del nostro sito web.
Google Search Console offre la possibilità di testare il robots.txt. Sarà sufficiente recarsi all’interno del servizio e cliccare su Testa per avere la certezza che esso funzioni correttamente.
L’unica limitazione riguarda il fatto che tale strumento è in grado di verificare esclusivamente il funzionamento del Googlebot e non degli altri spider.
Conclusioni
Abbiamo visto cos’è il file robots.txt e come settarlo per garantire che le pagine di interesse vengano scansionate e che quelle che si vogliono nascondere ai bot siano effettivamente sottratte al crawling.
Il robots.txt è pubblico e tutti i navigatori del Web possono consultarlo. I programmatori più fantasiosi usano questo spazio per personalizzare al massimo il loro file robots.txt. Visitate quello di Nike, ad esempio, e divertitevi a scoprire come gli altri siti web impostano il loro.