Il robots.txt è un semplice file di testo nella cartella principale del tuo sito che dice ai crawler quali parti del sito possono visitare. È semplice, potente e facile da sbagliare – una sola riga può impedire ai motori di ricerca di scansionare l'intero sito.
Questa guida spiega come funziona, come scriverlo in sicurezza e come gestire il numero crescente di crawler IA.
Dove si trova il robots.txt
Il file deve trovarsi nella radice di ogni host:
https://example.com/robots.txt
Vale solo per quell'host e quel protocollo esatti. blog.example.com ha bisogno del proprio file, e lo stesso vale per http:// se serve contenuti (che comunque dovrebbe reindirizzare a HTTPS).
Se il robots.txt non esiste (il server restituisce 404), i crawler presumono di poter scansionare tutto.
La sintassi di base
User-agent: *
Disallow: /admin/
Disallow: /cart
Allow: /admin/public-help/
Sitemap: https://example.com/sitemap.xml
- User-agent indica il crawler a cui si applica un gruppo di regole.
*significa tutti i crawler. - Disallow indica un prefisso di percorso che il crawler non deve recuperare.
- Allow crea un'eccezione all'interno di un'area bloccata.
- Sitemap fornisce l'URL completa di una sitemap XML. Può comparire in qualsiasi punto del file e vale per tutti i crawler.
Le righe che iniziano con # sono commenti.
Caratteri jolly
Google, Bing e la maggior parte dei grandi crawler supportano due caratteri speciali:
*corrisponde a qualsiasi sequenza di caratteri:Disallow: /*?sort=blocca qualsiasi URL che contenga?sort=$indica la fine dell'URL:Disallow: /*.pdf$blocca le URL che terminano con.pdf
Come vengono applicate le regole
Il robots.txt oggi è uno standard ufficiale di internet (RFC 9309, pubblicato nel 2022), basato sul modo in cui Google lo gestiva da tempo:
- Un crawler usa il gruppo il cui
User-agentgli corrisponde in modo più specifico. Googlebot segue un gruppoUser-agent: Googlebotse esiste, e ignora il gruppo*. - All'interno di quel gruppo, vince la regola corrispondente più specifica (la più lunga).
- Se una regola Allow e una Disallow sono ugualmente specifiche, vince Allow.
Esempio:
User-agent: *
Disallow: /shop/
Allow: /shop/sale/
/shop/sale/shoes è consentita (la regola Allow è più lunga), mentre /shop/new/shoes è bloccata.
Recupera e valida il robots.txt e verifica se un URL è bloccato per Googlebot o per i bot IA.
Cosa fa il robots.txt – e cosa non fa
Controlla la scansione, non l'indicizzazione. Un'URL bloccata può comunque comparire nei risultati di ricerca se altre pagine la linkano, di solito senza descrizione. Per tenere una pagina fuori dai risultati, consenti la scansione e usa un meta tag robots noindex o un'intestazione X-Robots-Tag.
È pubblico. Chiunque può leggere il tuo robots.txt. Non usarlo mai per nascondere aree private – di fatto le pubblicizza. Proteggi i contenuti privati con l'autenticazione.
È volontario. I crawler affidabili lo rispettano; i bot malevoli lo ignorano.
Esempi sicuri
Consentire tutto (e indicare la sitemap)
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
WordPress
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Sitemap: https://example.com/wp-sitemap.xml
Negozio online
User-agent: *
Disallow: /cart
Disallow: /checkout
Disallow: /account
Disallow: /*?*sort=
Disallow: /*?*filter=
Sitemap: https://example.com/sitemap.xml
Bloccare i parametri di ordinamento e filtro evita che i crawler perdano tempo su migliaia di URL quasi duplicate.
Sito di staging (bloccare tutto)
User-agent: *
Disallow: /
Usalo solo sui siti di staging o di sviluppo – e, ancora meglio, proteggili con una password. Dimenticarsi di rimuoverlo al lancio è una delle cause più comuni della scomparsa di un sito dalla ricerca.
Crea un file robots.txt con sitemap, cartelle bloccate e controllo dei crawler IA.
Gestire i crawler IA
Le aziende di IA usano diversi tipi di crawler, e conviene trattarli in modo diverso:
| Scopo | Esempi | Effetto del blocco |
|---|---|---|
| Addestramento – raccogliere contenuti per addestrare i modelli | GPTBot (OpenAI), ClaudeBot (Anthropic), Google-Extended (controllo per l'addestramento di Gemini di Google), CCBot (Common Crawl), Applebot-Extended | I tuoi contenuti non vengono usati per gli addestramenti futuri. Nessun effetto sulla visibilità nella ricerca. |
| Ricerca IA – recuperare pagine per rispondere e citarle nella ricerca con IA | OAI-SearchBot, Claude-SearchBot, PerplexityBot | Le tue pagine potrebbero non comparire come fonti in quei motori di ricerca IA. |
| Recuperi richiesti dall'utente – quando una persona chiede a un assistente di leggere una pagina | ChatGPT-User, Claude-User, Perplexity-User | L'assistente potrebbe non riuscire a leggere la tua pagina quando gli utenti lo chiedono. |
Google-Extended è un token di controllo, non un crawler separato: bloccarlo impedisce che i contenuti vengano usati per l'addestramento dei modelli Gemini, ma non influisce sulla Ricerca Google né sulle AI Overview, che si basano su Googlebot.
Una configurazione di compromesso molto diffusa blocca l'addestramento restando visibile nella ricerca con IA:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Controlla periodicamente la documentazione dei fornitori, perché nomi e scopi dei crawler cambiano.
Verifica se ChatGPT, Claude, Perplexity e Google AI possono accedere alla tua pagina, leggerla e citarla.
Errori comuni
- Lasciare il
Disallow: /dello staging. Controlla sempre il robots.txt dopo un lancio o una migrazione. - Bloccare CSS e JavaScript. Google ne ha bisogno per eseguire il rendering delle pagine; bloccarli può far sembrare le pagine rotte a Googlebot.
- Usare il robots.txt per rimuovere pagine da Google. Sulle pagine bloccate il noindex non può essere visto. Usa il noindex.
- Bloccare pagine che hanno un canonical o un redirect che vuoi far vedere ai motori di ricerca.
- Errori di battitura e di maiuscole. I percorsi distinguono tra maiuscole e minuscole:
/Admin/e/admin/sono diversi. - Un file enorme. Google legge solo i primi 500 KiB.
- Servire il robots.txt con errori. Se il robots.txt restituisce un errore 5xx, Google può interrompere temporaneamente la scansione del sito.
Testare le modifiche
Prima di pubblicare un nuovo robots.txt, verifica le URL più importanti – la homepage, le categorie e le pagine prodotto principali, e i file CSS e JavaScript. Il report robots.txt di Search Console mostra l'ultima versione recuperata da Google ed eventuali problemi riscontrati.
robots.txt vs noindex vs protezione con password
Questi tre strumenti risolvono problemi diversi, e confonderli è una fonte frequente di problemi di indicizzazione:
| Obiettivo | Strumento giusto | Perché |
|---|---|---|
| Risparmiare tempo di scansione su URL di scarso valore (filtri, ricerca interna) | Disallow nel robots.txt | Impedisce del tutto ai crawler di recuperarle |
| Tenere una pagina fuori dai risultati di ricerca | Meta tag noindex o X-Robots-Tag | I crawler devono poter recuperare la pagina per vederlo |
| Mantenere privati i contenuti | Password o login | Solo l'autenticazione impedisce davvero l'accesso |
| Rimuovere rapidamente una pagina da Google | noindex più lo strumento Rimozioni di Search Console | Lo strumento la nasconde temporaneamente mentre il noindex fa effetto |
Gestire parametri e navigazione a faccette
I siti di e-commerce e di annunci generano spesso URL come queste per ogni combinazione di filtri:
/shoes?colour=red
/shoes?colour=red&size=8
/shoes?colour=red&size=8&sort=price
Se queste pagine non aggiungono valore unico per chi cerca, blocca i parametri che creano combinazioni infinite, come l'ordinamento:
User-agent: *
Disallow: /*?*sort=
Disallow: /*?*sessionid=
Fai attenzione a non bloccare le pagine di filtro che vuoi posizionare – per esempio, una pagina “scarpe da corsa rosse” con una reale domanda di ricerca deve essere un'URL scansionabile e indicizzabile, con contenuti propri.
Leggere il robots.txt di qualsiasi sito
Guardare i file robots.txt dei concorrenti può essere istruttivo. Puoi vedere da quali sezioni tengono lontani i crawler, dove si trovano le loro sitemap e come gestiscono i crawler IA. Dato che il file è pubblico, è anche la prima cosa da controllare quando un sito che gestisci perde visibilità all'improvviso.
Test e monitoraggio
Le modifiche al robots.txt sono ad alto rischio, quindi trattale come codice:
- Conserva una copia della versione precedente prima di modificarlo
- Prima di pubblicare, verifica con le nuove regole le URL importanti – homepage, categorie e prodotti principali, file CSS e JavaScript
- Dopo la pubblicazione, controlla che il file restituisca lo stato 200 e testo semplice, non una pagina di errore HTML
- Monitora nei giorni successivi il report robots.txt e il report Indicizzazione delle pagine di Search Console
Alcuni CMS e plugin SEO generano il robots.txt in modo dinamico. Se carichi un file robots.txt fisico, di solito sostituisce quello virtuale – assicurati di modificare la versione che viene effettivamente servita.
Punti chiave
- Il robots.txt controlla la scansione, non l'indicizzazione – usa il noindex per tenere le pagine fuori dai risultati di ricerca.
- Vince la regola corrispondente più specifica, e in caso di parità Allow batte Disallow.
- Non bloccare mai i file CSS o JavaScript di cui le pagine hanno bisogno per il rendering.
- Distingui i crawler di addestramento IA dai crawler di ricerca IA; bloccare l'addestramento non influisce sulla ricerca.
- Controlla sempre il robots.txt dopo lanci e migrazioni per individuare regole Disallow: / dimenticate.
- Verifica le URL importanti con ogni modifica prima di pubblicarla.
Domande frequenti
Mi serve un file robots.txt?
Non è indispensabile. Senza il file, i crawler accedono a tutto. Ma il robots.txt è il posto standard dove indicare la sitemap e tenere i crawler lontani dalle aree di scarso valore, quindi la maggior parte dei siti dovrebbe averne uno.
Google supporta il crawl-delay?
No. Googlebot ignora il Crawl-delay. Bing e alcuni altri crawler lo rispettano.
Quanto tempo ci vuole perché le modifiche abbiano effetto?
In genere Google memorizza il robots.txt nella cache fino a 24 ore, quindi le modifiche possono richiedere un giorno per essere recepite.
Posso bloccare una pagina specifica?
Sì – Disallow: /private-page –, ma ricorda che questo blocca la scansione, non l'indicizzazione. Usa il noindex se l'obiettivo è tenerla fuori dai risultati di ricerca.
Analizza il tuo sito
Esegui un audit gratuito con oltre 55 controlli e ottieni una soluzione per ogni problema.