Creare un robots.txt senza errori di sintassi
Il file robots.txt, posto nella radice di un sito (https://www.example.com/robots.txt), indica ai crawler quali parti possono visitare. Questo generatore di robots.txt lo scrive al posto tuo partendo da gruppi di regole, segnala gli errori più comuni e include un tester: inserisci un indirizzo e un crawler, e lui risponde «Consentito» o «Bloccato» mostrando la regola decisiva. Non viene inviato nulla: tutto viene calcolato nel tuo browser.
Come si usa
- Parti da un'impostazione rapida: «Consenti tutto», «Blocca tutto», «Blocca una cartella di amministrazione» o «Blocca i crawler di IA dell'elenco». In alternativa incolla il tuo file attuale in «Importare un robots.txt esistente» e fai clic su «Importa».
- In ogni gruppo compila «User-agent»:
*per tutti i crawler oppure il nome tecnico di un crawler preciso. L'elenco «Aggiungi un esempio…» propone nomi diffusi, da verificare nella documentazione di ciascun crawler. - Aggiungi le regole con «+ Aggiungi una regola»: scegli
DisallowoAllowe scrivi un percorso che inizia con/. Se serve, indica un «Crawl-delay» e, in fondo, l'indirizzo completo della sitemap. - Controlla «Punti da controllare», prova qualche indirizzo nel «Tester di URL», poi fai clic su «Scarica robots.txt» o «Copia».
Sintassi e priorità delle regole
Un gruppo inizia con una o più righe User-agent seguite dalle sue regole. Ogni crawler segue un solo gruppo: quello con il suo nome (senza distinzione tra maiuscole e minuscole), altrimenti il gruppo *. Se il suo nome compare in due gruppi, le regole vengono unite. Nel gruppo scelto la norma RFC 9309 non considera l'ordine delle righe: vince la regola corrispondente con il percorso più lungo e, a parità di lunghezza, vince Allow.
Esempio per un negozio online:
User-agent: *Disallow: /carrello/Allow: /carrello/aiutoDisallow: /*?sessione=
| Indirizzo verificato | Risultato | Motivo |
|---|---|---|
/carrello/pagamento | Bloccato | corrisponde solo Disallow: /carrello/ |
/carrello/aiuto-spedizioni | Consentito | /carrello/aiuto (15 caratteri) è più lungo di /carrello/ (10) |
/scarpe?sessione=42 | Bloccato | il carattere jolly * sostituisce «scarpe» |
/scarpe?taglia=40 | Consentito | nessuna regola corrisponde |
Senza $ finale una regola confronta l'inizio dell'indirizzo: Disallow: /blog blocca anche /blogger, mentre Disallow: /*.pdf$ blocca /listino.pdf ma non /listino.pdf?v=2. I caratteri codificati vengono confrontati dopo la normalizzazione: /%61dmin equivale a /admin, ma %2F non equivale a /.
Sitemap, scansione e deindicizzazione
La riga Sitemap indica l'indirizzo completo della mappa del sito; non appartiene a nessun gruppo e può essere ripetuta. Attenzione: Disallow impedisce la scansione, non l'indicizzazione. Una pagina bloccata può restare nei risultati, senza descrizione, se altri siti la linkano. Per toglierla, lasciala scansionabile e aggiungi il meta tag robots noindex. Il file non è nemmeno una protezione: è pubblico, e i bot malevoli lo ignorano.
Crawler di IA ed errori frequenti
Alcuni servizi di intelligenza artificiale esplorano il web con crawler propri, che hanno un nome tecnico pubblicato. Puoi consentirli o bloccarli come qualsiasi altro crawler; l'impostazione rapida dedicata crea un gruppo con i nomi dell'elenco di esempi e Disallow: /. Questi nomi cambiano, quindi ricontrolla il file ogni tanto. Gli errori più frequenti sono un Disallow: / rimasto dall'ambiente di prova, un percorso senza / iniziale, una riga senza due punti e un file che non si trova nella radice. Il generatore segnala i primi tre.
Domande frequenti
Il Crawl-delay viene rispettato?
Non sempre. La direttiva non fa parte dello standard: alcuni crawler la applicano, altri la ignorano e offrono un'impostazione della frequenza di scansione nei loro strumenti per webmaster.
Un «Disallow:» vuoto blocca qualcosa?
No. Una regola Disallow: senza percorso non corrisponde ad alcun indirizzo. È il modo classico per dire «tutto consentito», ed è ciò che scrive l'impostazione «Consenti tutto».
Serve un robots.txt per ogni sottodominio?
Sì. Il file vale solo per l'host, il protocollo e la porta da cui viene servito: negozio.example.com e www.example.com ne richiedono uno ciascuno.