Il robots.txt è un file di testo in formato txt che viene inserito nella radice di un sito web (ad esempio https://www.esempio.com/robots.txt) e specifica ai crawler se è consentito o meno l’accesso a un intero sito web o a risorse specifiche. In parole semplici, il robots.txt permette di dire al motore di ricerca quali pagine visitare o non visitare.
Come funziona e come impostare il robots.txt
Come detto sopra il robots.txt è un semplice file di testo in cui possono essere inserite delle indicazioni di indicizzazione per i motori di ricerca. Questo è molto utile perché possiamo evitare che il bot di Google che scansiona i siti web, o qualsiasi altro bot, visiti delle pagine inutili per l’indicizzazione e sprechi crowl budget.
Dove mettere il file robots?
Il file robots.txt deve essere inserito nella root principale del sito. Generalmente, dopo aver acquistato un hosting, che tu abbia installato un CMS come WordPress oppure no, dal file manager vedrai la cartella public_html. Ecco, quella è la root folder del sito. Il robots.txt deve essere messo li dentro.
La sitemap nel file robots.txt
Un’altra cosa molto utile è l’indicazione dell’indirizzo della sitemap. La sitemap è un elenco di tutti gli URL presenti all’interno di un sito, e aiuta i motori di ricerca a vedere anche le pagine più nascoste o difficili da raggiungere.
Nel robots.txt è importante dare indicazione di dove si trova la sitemap e si indica in questo modo:
Sitemap: https://www.tuosito.it/sitemap.xmlCome è fatto il file robots.txt
Nel file robots.txt vanno inserite le direttive. Vedilo come dei comandi specifici che permettono di costruire il file robots.txt. Ti faccio vedere anche un esempio del file robots del mio sito web, che trovi all’indirizzo https://www.matteotartero.it/robots.txt.
User-agent: *
Disallow:
Allow:
Sitemap: https://www.matteotartero.it/sitemap_index.xmlLo so, ti spettavi qualcosa di più complicato, vero? La verità è che questo file è tanto semplice quanto è facile rischiare di fare disastri. Basta la direttiva sbagliata per bloccare l’intero sito.
Direttive standard
Le direttive standard sono tutti i “comandi” formattati in una maniera specifica, che permettono al bot di leggere correttamente la sitemap. Le direttive standard sono riconosciute da tutti i bot:
User-agent — Specifica a quale crawler si applicano le regole successive. Si usa * per indicare tutti i bot, oppure un nome specifico (es. Googlebot, Bingbot). È l’unica direttiva obbligatoria per definire un gruppo di regole.
Disallow — Indica un percorso che il crawler non deve scansionare. Un valore vuoto (Disallow:) significa che non c’è nessuna restrizione, mentre Disallow: / blocca l’intero sito.
Allow — Consente esplicitamente l’accesso a un percorso, anche se rientra in una regola Disallow più ampia. Utile per creare eccezioni (come nel caso di admin-ajax.php). Riconosciuta ufficialmente da Google e Bing.
Sitemap — Dichiara la posizione assoluta del file sitemap XML. È indipendente dallo User-agent e può comparire ovunque nel file. Se ne possono indicare più di una.
Direttive non standard
Le direttive non standard sono i comandi con supporto limitato o deprecato. Significa che non tutti i bot potrebbero leggerle, per questo il loro uso non è particolarmente diffuso.
Crawl-delay — Indica il numero di secondi che il crawler dovrebbe attendere tra una richiesta e l’altra. Supportata da Bing e altri, ma ignorata da Google, che gestisce la frequenza di scansione tramite Search Console.
Host — Era usata (principalmente da Yandex) per indicare il dominio preferito tra varianti con e senza www. Oggi è sostanzialmente deprecata; si gestisce meglio con i redirect 301 e i canonical.
Clean-param — Specifica di Yandex, serve a indicare parametri URL dinamici da ignorare per evitare contenuti duplicati.
Request-rate e Visit-time — Direttive storiche per regolare frequenza e orari di scansione, oggi praticamente non supportate da nessun crawler rilevante.
Note operative
Vale la pena ricordare un paio di cose che spesso generano confusione. Il commento si inserisce con # a inizio riga e viene ignorato dai crawler. Inoltre il robots.txt non controlla l’indicizzazione, controlla la scansione delle pagine. Una pagina inserita nella direttiva Disallow può comunque finire nell’indice se riceve link esterni. Per impedire davvero l’indicizzazione serve il meta tag noindex.

