Come funziona il matching delle regole nel file robots.txt
Il file robots.txt è il primo punto di contatto tra un sito web e i crawler che lo visitano. Quando un bot come Googlebot o GPTBot arriva su un dominio, cerca questo file nella root (ad esempio, https://www.example.it/robots.txt) per capire quali pagine può o non può scansionare. Ma come fa il crawler a interpretare correttamente le regole? La risposta sta nella struttura a gruppi e nella logica di selezione del User-agent.
Un file robots.txt è organizzato in blocchi chiamati gruppi, ognuno dei quali inizia con una o più righe User-agent che specificano a quali crawler si applicano le regole successive. Ad esempio, un gruppo potrebbe iniziare con User-agent: Googlebot e contenere le direttive Disallow e Allow valide solo per quel bot. Un altro gruppo potrebbe usare User-agent: * per rivolgersi a tutti i crawler non esplicitamente menzionati.
La scelta del gruppo corretto segue una gerarchia precisa: il crawler cerca prima un gruppo che corrisponda esattamente al suo User-agent (ad esempio, Googlebot-Image). Se non lo trova, cerca il token padre (Googlebot). Solo se neppure questo esiste, il crawler si rivolge al gruppo *. È importante notare che un gruppo specifico sostituisce completamente il gruppo *, non si aggiunge ad esso. Questo significa che se un file contiene sia User-agent: Googlebot che User-agent: *, Googlebot ignorerà le regole del gruppo * e seguirà solo quelle del suo gruppo dedicato.
Un esempio pratico chiarisce meglio il concetto. Supponiamo di avere questo file robots.txt:
User-agent: *
Disallow: /private/
User-agent: Googlebot
Allow: /private/report.pdf
In questo caso, Googlebot potrà accedere a /private/report.pdf perché il gruppo Googlebot ha la precedenza sul gruppo *. Tutti gli altri crawler, invece, saranno bloccati dalla direttiva Disallow: /private/. Questa logica è fondamentale per evitare errori comuni, come pensare che le regole del gruppo * si applichino anche ai crawler specifici.
Per verificare come un crawler interpreterà le regole del tuo file, puoi usare il generatore di regole per crawler AI per scrivere le direttive e poi testarle con il Tester robots.txt, che simula il comportamento dei bot secondo lo standard RFC 9309.