Guide robots.txt

Wildcard robots.txt e priorità delle regole: *, $ e corrispondenza più lunga

Come funzionano * e $, perché l’ordine delle righe non decide la priorità e come si risolvono i conflitti Allow/Disallow in robots.txt.

Di Robots.txt Tools Editorial TeamUltima verifica 2026-09-132 min di lettura
Wildcard robots.txt e priorità delle regole: *, $ e corrispondenza più lunga

Il matching robots.txt non segue la logica “vince l’ultima riga”. Quando più regole Allow e Disallow si applicano, conta la corrispondenza più specifica. RFC 9309 definisce come più specifica la regola con il percorso corrispondente più lungo e raccomanda Allow in caso di conflitto equivalente.

Google documenta lo stesso principio pratico e supporta * e $ nei pattern dei percorsi.

Significato di * e $

  • * corrisponde a zero o più caratteri;
  • $ marca la fine dell’URL.
User-agent: *
Disallow: /*.pdf$

mira ai percorsi che terminano in .pdf. Senza $, il pattern è più ampio.

Un * finale spesso non serve

Disallow: /private

e:

Disallow: /private*

hanno una portata pratica molto simile su Google. Se intendi una directory, /private/ rende l’intento più chiaro.

La corrispondenza più lunga supera l’ordine visuale

User-agent: *
Disallow: /products/
Allow: /products/public/

Per /products/public/widget, entrambe corrispondono ma /products/public/ è più specifica e consente l’URL. Invertire le righe non dovrebbe essere usato per cambiare la priorità.

Parità tra Allow e Disallow

Per regole equivalenti, RFC 9309 raccomanda Allow. È comunque preferibile scrivere una policy esplicita invece di dipendere da una parità difficile da verificare.

I percorsi distinguono maiuscole e minuscole

Disallow: /Admin/

non è necessariamente uguale a:

Disallow: /admin/

Testa le varianti realmente servite dall’applicazione.

Parametri ed e-commerce

User-agent: *
Disallow: /*?sort=

può comportarsi diversamente se più parametri cambiano ordine. Nella navigazione a faccette, usa robots.txt insieme ad architettura URL, link interni e canonical.

Preferisci regole semplici

Disallow: /ricerca-interna/

è più facile da mantenere di una raccolta di pattern complessi. Usa wildcard solo quando un prefisso stabile non basta.

Testa URL reali

Con:

User-agent: *
Disallow: /reports/
Allow: /reports/public/
Disallow: /*.csv$

testa almeno:

  • /reports/private/quarterly
  • /reports/public/overview
  • /downloads/data.csv
  • /downloads/data.csv?preview=1
  • /REPORTS/private/quarterly

Questo evidenzia errori di prefisso, maiuscole, ancoraggio finale e sovrapposizione.

Flusso consigliato

  1. Scrivi la policy in linguaggio naturale.
  2. Scegli il prefisso più semplice.
  3. Aggiungi * o $ solo quando necessario.
  4. Prepara URL da consentire e bloccare.
  5. Valida la sintassi.
  6. Testa con il giusto User-agent.
  7. Controlla il /robots.txt pubblicato.
  8. Monitora i log.

La specificità conta più della posizione della riga. Usa le wildcard con moderazione e testa sempre le sovrapposizioni.

Guide correlate