Voglio farti una domanda:
Hai mai avuto a che fare con il file robots.txt?
Beh, se hai un sito e lavori con la SEO, questa piccola voce di testo potrebbe diventare il tuo migliore amico… o il tuo peggior incubo.
Perché?
Perché un errore sul file robots.txt può costarti caro: Google potrebbe iniziare a ignorare il tuo sito, a perdere le tue pagine più preziose tra i meandri del web, o a sprecare risorse su cose inutili.
Ma non temere, sono qui per spiegarti meglio come configurarlo.
Oggi, ti dirò esattamente cosa è il robots.txt e come usarlo per migliorare la tua strategia SEO.
Scopriremo ogni trucco, ogni dettaglio, e ogni singolo errore che potresti fare (e come evitarlo).
Sei pronto?
Allora immergiamoci nella guida definitiva al robots.txt!
Cos’è il robots.txt?
Il robots.txt è un semplice file di testo che si trova nella directory principale del tuo sito web e dice ai crawler (come Googlebot) cosa possono e non possono fare.
Tipo come una mappa con i cartelli che indicano dove si può andare e dove non si può circolare.
Ma perché dovresti voler dare ordini così precisi ai motori di ricerca?
Perché certe pagine del tuo sito non sono affatto rilevanti per Google.
Pensa alle pagine di login, alla pagina di checkout, o alle pagine per aggiungere un prodotto al carrello.
Google non deve sprecare energie preziose su di loro.
Vediamo insieme i comandi più importanti:
- User-agent: specifica a quale crawler è rivolta la regola. Puoi usare
*
per rivolgerti a tutti. - Disallow: impedisce la scansione di specifici URL.
- Allow: permette la scansione di determinati URL anche se una directory è disabilitata.
- Sitemap: indica la posizione della tua XML Sitemap.
Ti faccio un esempio pratico con un estratto dal file robots.txt di Zalando (sì, proprio quello dell’abbigliamento). Hanno regole ben definite per garantire che solo le pagine più rilevanti vengano scansionate e indicizzate. E ricorda, il robots.txt è case-sensitive: “filter=” è diverso da “Filter=”. Non sbagliare.
Questo è il loro file robots.txt:
User-agent: *
Disallow: /&&&
Disallow: /cart/*
Disallow: /wardrobe/*
Disallow: /myaccount/*
Disallow: /opinions*
Disallow: /streetwear-*
Allow: /api/navigation
Allow: /api/graphql/
Disallow: /api/navigation/*
Disallow: /api/*
Disallow: /consent/api/ucversion
User-agent: Screaming Frog SEO Spider
Disallow: /
Bloccano anche lo strumento SEO Screaming Frog. Probabilmente per evitare sovraccaricamenti del server o per bloccare analisi di competitor.
Ordine di precedenza nel robots.txt
Le regole nel robots.txt non sono tutte uguali.
Google deve capire quale regola seguire se ne trova 2 che potrebbero essere in conflitto.
Come fa a decidere?
Beh, segue due principi:
- La regola più specifica vince: se una regola si applica solo a un determinato sotto-percorso, avrà la precedenza su una più generale. Esempio:
User-agent: *
Disallow: /downloads/
Allow: /downloads/free/
In questo caso, Google permetterà la scansione di /downloads/free/
ma bloccherà tutto il resto sotto /downloads/
.
- La regola meno restrittiva vince: quando due regole sono ugualmente specifiche, Google sceglierà quella meno restrittiva. Esempio:
User-agent: *
Disallow: /downloads/
Allow: /downloads/
Qui Google permetterà l’accesso a /downloads/
.
Perché robots.txt è importante per la SEO?
Pensa di avere un negozio online con centinaia di migliaia di pagine.
Hai sezioni del sito che possono avere infinite versioni.
Google non vuole (e non deve) sprecare il suo tempo a scansionare pagine duplicate o inutili.
Ed è qui che serve il robots.txt, che evita a Google di esplorare pagine senza valore del tuo sito.
Se lasci fare a Google, potresti ritrovarti con migliaia di parametri di ricerca indicizzati.
Questo sprecherebbe risorse del server e il crawl budget di Google, causando problemi di indicizzazione e rendendo il tuo sito meno efficace.
Quando usare il file robots.txt?
Quando dovresti usare il file robots.txt per bloccare delle pagine?
Prima di tutto, chiediti: questa pagina serve davvero a Google? Ha valore per gli utenti?
Se la risposta è no, probabilmente è meglio bloccarla.
Dovresti sempre bloccare:
- URL con parametri di ricerca, come la navigazione interna di ricerca, filtri o opzioni di ordinamento;
- Pagine d’azione, tipo “aggiungi alla lista dei desideri” o “aggiungi al carrello”;
- Pagine private, come quelle di login;
- File JavaScript non rilevanti, come script di tracciamento.
Ecco alcuni esempi di come usare robots.txt per ciascun caso:
1. Blocca le pagine di ricerca interna
Ogni sito ha una funzione di ricerca interna, ma queste pagine non devono essere scansionate da Google.
Su WordPress, di solito hanno un parametro “s”, e l’URL appare così:
https://www.esempio.com/?s=google.
Per evitare che vengano scansionate, puoi usare questa regola nel robots.txt:
User-agent: *
Disallow: *s=*
Facile, vero?
2. Blocca URL di navigazione
Su un e-commerce, le pagine con filtri (come colore, prezzo, ecc.) possono generare decine di pagine duplicate.
Questo può creare un problema di contenuti duplicati e influire negativamente sull’indicizzazione.
Vuoi bloccarle?
Ecco come fare, passo dopo passo:
- Identifica i parametri di filtro: questi parametri di solito si trovano negli URL dopo il simbolo
?
. Ad esempio, potresti avere URL comehttps://www.esempio.com/prodotti?sortby=prezzo&color=rosso
. Prendi nota di quali parametri vengono utilizzati per filtrare i prodotti. - Modifica il file robots.txt: Apri il file robots.txt nella directory principale del tuo sito (o creane uno nuovo se non esiste). Aggiungi le seguenti righe per bloccare i parametri specifici:
User-agent: *
Disallow: *sortby=*
Disallow: *color=*
Disallow: *price=*
Queste regole diranno a tutti i crawler di non scansionare gli URL che contengono questi parametri. Questo ridurrà la quantità di pagine duplicate scansionate.
- Verifica l’efficacia: usa Google Search Console per controllare se gli URL con i parametri vengono ancora scansionati. Puoi anche fare un test usando lo strumento di testing del robots.txt per assicurarti che le regole funzionino come previsto.
3. Blocca i PDF
Hai molti documenti PDF che non vuoi siano indicizzati?
- Identifica la posizione dei PDF: normalmente, i PDF si trovano in una directory specifica del tuo sito, ad esempio
/uploads/documents/
. Fai una lista di dove sono situati i tuoi PDF. - Apri o crea il file robots.txt: vai alla directory principale del tuo sito web e cerca il file
robots.txt
. Se non esiste, creane uno nuovo utilizzando un editor di testo. - Aggiungi la regola per bloccare i PDF: inserisci le seguenti righe per evitare che i motori di ricerca indicizzino i tuoi file PDF:
User-agent: *
Disallow: /*.pdf$
Questa regola dice a tutti i crawler di non scansionare gli URL che terminano con .pdf
.
In questo modo, tutti i documenti PDF del tuo sito saranno bloccati dall’indicizzazione.
- Verifica l’efficacia.
4. Blocca una directory
Supponiamo che tu abbia un endpoint API in cui invii i tuoi dati dal form.
È probabile che il tuo modulo abbia un attributo action come action=”/form/submissions/”.
Il problema è che Google cercherà di scansionare quell’URL, /form/submissions/
, cosa che probabilmente non vuoi.
Puoi bloccare la scansione di questi URL con questa regola:
User-agent: *
Disallow: /form/
Specificando una directory nella regola Disallow, stai comunicando ai crawler di evitare di analizzare tutte le pagine in quella directory e non hai più bisogno di usare il carattere jolly (), come “/form/“.
Tieni presente che devi sempre specificare percorsi relativi e mai URL assoluti, come “https://www.example.com/form/” per le direttive Disallow e Allow.
Fai attenzione a evitare regole malformate.
Ad esempio, usare /form
senza una barra finale corrisponderà anche a una pagina /form-design-examples/
, che potrebbe essere una pagina del tuo blog che vuoi indicizzare.
5. Bloccare gli URL degli account utente
Se hai un sito di e-commerce, probabilmente hai delle directory che iniziano con /myaccount/
, come /myaccount/orders/
o /myaccount/profile/
.
Poiché la pagina principale /myaccount/
è una pagina di accesso che vuoi che venga indicizzata e trovata dagli utenti nella ricerca, potresti voler impedire che le sottopagine vengano scansionate da Googlebot.
Puoi usare la regola Disallow insieme alla regola Allow per bloccare tutto ciò che si trova nella directory /myaccount/
(tranne la pagina /myaccount/
).
User-agent: *
Disallow: /myaccount/
Allow: /myaccount/$
E ancora, poiché Google utilizza la regola più specifica, non consentirà la scansione di voci nella directory /myaccount/
, ma consentirà solo la scansione della pagina /myaccount/
.
Ecco un altro caso d’uso della combinazione delle regole Disallow e Allow: nel caso in cui la ricerca si trovi nella directory /search/
e si desideri che venga trovata e indicizzata, ma si blocchino gli URL di ricerca effettivi:
User-agent: *
Disallow: /search/
Allow: /search/$
6. Blocca i file JavaScript non correlati al rendering
Ogni sito web utilizza JavaScript per diverse funzioni, ma non tutti questi script sono necessari per la visualizzazione del contenuto del sito.
Alcuni script, come quelli di tracciamento o per caricare AdSense, non influiscono sul rendering effettivo del sito.
Quindi possono essere tranquillamente bloccati per risparmiare risorse e ridurre il carico del server.
Ecco come fare:
- Identifica gli script non necessari: questi sono situati nelle directory
/assets/js/
o/scripts/
. Trova gli script che non sono strettamente necessari per il funzionamento visivo del sito. - Apri o crea il file robots.txt: vai alla directory principale del tuo sito e modifica il file
robots.txt
. Se non esiste, creane uno nuovo. - Aggiungi la regola per bloccare questi script: usa il seguente esempio per bloccare gli script di tracciamento:
User-agent: *
Disallow: /assets/js/pixels.js
Questa regola dice ai motori di ricerca di non scansionare il file JavaScript situato in /assets/js/pixels.js
. Questo può ridurre il carico sul server e migliorare la velocità di scansione delle parti importanti del sito.
- Verifica l’efficacia.
7. Bloccare i chatbot e gli scraper AI
Molti editori sono preoccupati che i loro contenuti vengano utilizzati per addestrare modelli di intelligenza artificiale senza il loro consenso.
Se vuoi impedire che i bot di scraping e i chatbot AI accedano al tuo sito, puoi farlo facilmente con delle regole nel file robots.txt.
Ecco come fare:
- Identifica i bot da bloccare: potresti voler bloccare bot come GPTBot, ChatGPT-User, ClaudeBot.
- Apri o crea il file robots.txt.
- Aggiungi la regola per bloccare i bot: inserisci le seguenti righe per bloccare i bot AI:
#ai chatbots
User-agent: GPTBot
User-agent: ChatGPT-User
User-agent: Claude-Web
User-agent: ClaudeBot
User-agent: anthropic-ai
User-agent: cohere-ai
User-agent: Bytespider
User-agent: Google-Extended
User-Agent: PerplexityBot
User-agent: Applebot-Extended
User-agent: Diffbot
Disallow: /
#scrapers
User-agent: Scrapy
User-agent: magpie-crawler
User-agent: CCBot
User-Agent: omgili
User-Agent: omgilibot
User-agent: Node/simplecrawler
Disallow: /
Questa configurazione dirà a tutti questi bot di non scansionare nessuna parte del tuo sito. Anche se non tutti i bot rispetteranno il file robots.txt, questo è un primo passo per ridurre il carico inutile sul tuo server.
- Verifica l’efficacia.
8. Specificare gli URL delle Sitemap
Inserire l’URL della tua sitemap nel file robots.txt aiuta i motori di ricerca a scoprire facilmente tutte le pagine importanti del tuo sito web.
Ecco come fare:
- Trova la tua Sitemap: generalmente, le sitemap si trovano in
/sitemap.xml
o in altre posizioni specifiche come/sitemap/news.xml
. - Aggiungi l’URL della sitemap al file robots.txt: apri il tuo file robots.txt e aggiungi la seguente riga per indicare la posizione della tua sitemap:
Sitemap: https://www.example.com/sitemap.xml.
Sitemap: https://www.example.com/sitemap/news.xml.
Sitemap: https://www.example.com/sitemap/video.xml.
Questa indicazione aiuta i motori di ricerca a trovare più facilmente i tuoi contenuti e ad effettuare una scansione più efficace del tuo sito.
- Verifica l’accessibilità della Sitemap in Search Console.
Quando utilizzare il Crawl-Delay?
La direttiva crawl-delay
in robots.txt specifica il numero di secondi che un bot deve attendere prima di scansionare la pagina successiva.
Anche se Googlebot non riconosce questa direttiva, altri bot la rispettano, il che può prevenire il sovraccarico del server.
Ecco come puoi impostarla:
- Valuta la necessità di crawl-delay: se il tuo server ha risorse limitate e sta subendo troppe richieste da parte dei bot, potresti voler usare un
crawl-delay
. - Aggiungi la direttiva crawl-delay nel file robots.txt: apri il file robots.txt e aggiungi una riga come questa per specificare il ritardo tra le richieste:
User-agent: ClaudeBot
Crawl-delay: 60
Questa regola dice a ClaudeBot di aspettare 60 secondi tra una richiesta e l’altra.
- Controlla l’efficacia: osserva i log del server per vedere se il traffico è diminuito. Se il
crawl-delay
non è sufficiente, potresti dover implementare altre soluzioni come rate limiting tramite il tuo server o un web application firewall.
Con queste istruzioni, dovresti essere in grado di configurare correttamente il file robots.txt per proteggere le risorse del tuo sito e migliorare la sua efficienza.
Risoluzione dei problemi Robots.txt
Una volta che hai creato il file robots.txt, puoi utilizzare questi strumenti per verificare se la sintassi è corretta o se hai bloccato accidentalmente un URL importante.
1. Validatore Robots.txt di Google Search Console
Dopo aver aggiornato il file robots.txt, devi controllare se contiene errori o se blocca accidentalmente URL che desideri vengano scansionati, come risorse importanti, immagini, o sezioni del sito web.
Vai su Impostazioni > robots.txt in Google Search Console per trovare il validatore robots.txt integrato. Questo strumento ti aiuterà a verificare se il file è configurato correttamente e se ci sono errori di sintassi o URL importanti bloccati per sbaglio.
2. Gestione centralizzata di Robots.txt
Ogni dominio e sottodominio deve avere il proprio file robots.txt, poiché Googlebot non riconosce il file robots.txt del dominio principale per un sottodominio.
Questo può diventare problematico quando gestisci un sito web con molteplici sottodomini, poiché significa che dovresti mantenere separatamente vari file robots.txt.
Dovresti centralizzare la gestione del file robots.txt seguendo questo approccio:
- Ospitare un file robots.txt su un sottodominio: ad esempio, puoi ospitare il file su
https://cdn.example.com/robots.txt
e impostare un reindirizzamento dahttps://www.example.com/robots.txt
verso questo file. - Reindirizzare dai sottodomini al dominio principale: puoi fare il contrario, ospitare il file solo sotto il dominio principale e impostare un reindirizzamento dai sottodomini al dominio principale.
I motori di ricerca tratteranno il file reindirizzato come se fosse situato nel dominio principale.
Questo può migliorare la gestione delle regole robots.txt sia per il dominio principale che per i sottodomini.
Semplifica anche gli aggiornamenti e la manutenzione; altrimenti, avresti bisogno di un file robots.txt separato per ogni sottodominio.
Conclusione
Come abbiamo visto… Un file robots.txt opportunamente ottimizzato è fondamentale per la gestione del budget di scansione di un sito web.
Garantisce che i motori di ricerca come Googlebot spendano il loro tempo su pagine preziose, anziché sprecare risorse su pagine non necessarie.
Bloccare i bot e gli scraper AI tramite robots.txt può ridurre significativamente il carico del server e risparmiare risorse.
Assicurati sempre di convalidare le modifiche per evitare problemi di crawling imprevisti.
Se vuoi approfondire l’argomento, puoi leggere anche:
parametri URL e SEO;
come impedire a ChatGPT di utilizzare i contenuti del tuo sito;
i parametri URL creano problemi di scansione;
quanto costa indicizzare un sito;
Il file robots non va inserito nel dominio radice.