Il file robots.txt è un semplice documento di testo che comunica ai crawler quali aree di un sito possono essere scansionate e quali dovrebbero essere evitate. I crawler, chiamati anche bot o spider, sono programmi utilizzati dai motori di ricerca per visitare le pagine, seguire i collegamenti e raccogliere informazioni utili per l’indicizzazione.

Configurare correttamente questo file aiuta a ridurre le scansioni inutili, a proteggere sezioni tecniche dall’accesso casuale dei bot e a utilizzare meglio le risorse del server. Non è però uno strumento di sicurezza e non impedisce a un bot ostile di visitare una pagina. Inoltre, vietare la scansione non equivale automaticamente a rimuovere un contenuto dai risultati di ricerca.

Dove si trova il file robots.txt e come deve essere scritto

Il file deve essere salvato nella directory principale del sito e deve essere raggiungibile all’indirizzo https://www.esempio.it/robots.txt. Un file inserito in una sottocartella, come /blog/robots.txt, non controlla l’intero dominio: le regole vengono considerate in base all’origine e al percorso del sito a cui si riferiscono.

robots.txt è un file di testo semplice, senza formattazione HTML. Ogni direttiva deve essere scritta su una riga separata. È consigliabile utilizzare la codifica UTF-8, evitare caratteri estranei e verificare che il server restituisca il file con un normale codice di risposta HTTP, preferibilmente 200 OK. Un errore del server, un reindirizzamento inatteso o un file non accessibile possono rendere inefficaci le regole.

La struttura di base prevede un gruppo di istruzioni composto da un identificatore del crawler e da una o più regole. L’identificatore più generale è User-agent: *, che indica tutti i bot compatibili con lo standard:

User-agent: *Disallow: /area-privata/Disallow: /cart/Allow: /cart/guida.html

In questo esempio viene impedita la scansione delle directory /area-privata/ e /cart/, mentre la regola Allow autorizza esplicitamente una pagina all’interno della seconda area, se il crawler supporta la gestione della priorità tra regole applicabili.

Le direttive principali di robots.txt

User-agent indica a quale crawler si applica il gruppo di regole. Con l’asterisco si selezionano tutti i bot, mentre un nome specifico può indirizzare le istruzioni a un determinato crawler. Le direttive rivolte a un bot specifico vengono normalmente valutate separatamente rispetto al gruppo generico.

Disallow segnala un percorso che non dovrebbe essere scansionato. Per bloccare l’intero sito si può utilizzare Disallow: /, ma è una scelta rischiosa: impedisce ai motori di ricerca di esplorare le pagine e può compromettere la visibilità del sito. Per lasciare tutto accessibile si usa invece Disallow: senza alcun percorso dopo i due punti.

Allow consente l’accesso a un percorso anche quando una regola più ampia lo blocca. Il comportamento preciso può dipendere dal crawler; i principali motori di ricerca tengono generalmente conto della regola più specifica quando più direttive riguardano lo stesso URL. È quindi opportuno evitare configurazioni troppo intricate e verificare sempre il risultato.

Il simbolo # introduce un commento. Tutto ciò che segue sulla stessa riga viene ignorato dal crawler, ma può essere utile per documentare il motivo di una regola:

# Evita la scansione dei risultati interniDisallow: /ricerca/

Il carattere jolly * viene utilizzato dai crawler che supportano questa estensione per rappresentare una sequenza di caratteri. Il simbolo $ può indicare la fine dell’URL, ad esempio per bloccare determinati tipi di file. Poiché il supporto alle estensioni non è identico per tutti i bot, le regole essenziali dovrebbero restare semplici e basate su percorsi chiari.

Come bloccare le aree che generano scansioni inutili

Le aree più spesso escluse sono quelle che producono molte varianti dello stesso contenuto o che non offrono valore nei risultati di ricerca. Tra gli esempi rientrano pannelli amministrativi, carrelli, pagine di accesso, risultati di ricerca interni, directory utilizzate per file temporanei e alcune sezioni di test.

Una configurazione possibile è la seguente:

User-agent: *Disallow: /admin/Disallow: /loginDisallow: /carrello/Disallow: /ricerca?Disallow: /tmp/Sitemap: https://www.esempio.it/sitemap.xml

Il percorso da bloccare deve essere scelto con attenzione. Una regola come Disallow: /prodotto può coinvolgere più URL di quanto previsto, mentre una regola riferita a una directory, come Disallow: /admin/, è in genere più leggibile e prevedibile. Prima di pubblicare il file, è importante controllare maiuscole, minuscole, slash iniziali, parametri e differenze tra versione con e senza www.

La direttiva Sitemap comunica l’indirizzo della sitemap XML e può essere inserita anche se il file sitemap appartiene a un percorso diverso. Non sostituisce il robots.txt e non obbliga i motori di ricerca a indicizzare gli URL: serve a facilitare la scoperta delle pagine che il sito considera rilevanti.

Robots.txt, indicizzazione e sicurezza: cosa non può fare

Un errore frequente consiste nell’utilizzare robots.txt per nascondere dati riservati. Il file è pubblico: chiunque può aprirlo e vedere quali percorsi sono stati esclusi. Inoltre, la direttiva Disallow è una richiesta rivolta ai crawler rispettosi delle regole, non un sistema di autenticazione. Per proteggere un’area servono controlli di accesso, autenticazione, autorizzazioni lato server e, quando necessario, misure aggiuntive come una rete privata o restrizioni firewall.

Bloccare la scansione non garantisce neppure la rimozione di un URL dai risultati di ricerca. Un indirizzo non scansionabile può infatti essere conosciuto attraverso collegamenti esterni o altre fonti e comparire senza contenuto descrittivo. Se l’obiettivo è impedire l’indicizzazione di una pagina accessibile ai crawler, in genere si valutano strumenti come il meta tag noindex o l’omonima intestazione HTTP, senza bloccare contemporaneamente la scansione necessaria a leggerli. Per eliminare rapidamente contenuti già visibili possono essere necessari strumenti specifici del motore di ricerca o interventi sul server.

Controllo, test e manutenzione del file

Dopo aver creato robots.txt, bisogna verificare il file direttamente nel browser e controllare che non vi siano errori di sintassi, percorsi inesistenti o direttive duplicate. È utile testare gli URL più importanti: home page, pagine prodotto o articolo, fogli di stile, file JavaScript e risorse necessarie al corretto rendering. Bloccare CSS o JavaScript essenziali può impedire ai motori di comprendere correttamente la pagina.

I principali strumenti per webmaster offrono funzioni di controllo della copertura e della scansione, ma il comportamento può variare nel tempo e tra crawler diversi. I test non devono sostituire la verifica nei log del server, dove è possibile osservare quali bot visitano realmente il sito, con quale frequenza e quali risposte ricevono.

Direttive come Crawl-delay non sono supportate in modo uniforme e non vengono generalmente interpretate nello stesso modo dai principali motori di ricerca. Se il server è sovraccarico, è preferibile intervenire sulle prestazioni, sulla cache, sui limiti di richiesta e sulla configurazione del server, invece di affidarsi a una regola non universalmente riconosciuta.

Ogni modifica al file dovrebbe essere documentata e ricontrollata dopo interventi importanti sul CMS, migrazioni di dominio, cambiamenti nella struttura degli URL o installazione di plugin SEO. Un robots.txt efficace non deve bloccare indiscriminatamente il sito: deve concentrare l’attenzione dei crawler sulle pagine utili, lasciare accessibili le risorse necessarie e mantenere separati controllo della scansione, indicizzazione e sicurezza.