A cosa serve
I crawler scaricano robots.txt per conoscere i permessi di scaricamento a livello di percorso prima della scansione su larga scala. Ogni hostname (e scheme) ha bisogno del proprio file nella root web; CDN e host di staging sono facili da configurare male.
Direttive
I prefissi Disallow bloccano gli scaricamenti; Allow può riaprire percorsi annidati secondo le regole di precedenza del crawler. Elenca gli URL assoluti delle sitemap con righe Sitemap ripetute quando servono. I wildcard sono supportati in modo limitato: verifica sulla specifica di Google prima di farci affidamento.
- Ordina le regole con attenzione quando più prefissi si sovrappongono.
- Non usare mai robots.txt per i segreti: usa l'autenticazione.
- Tratta i domini di staging come cittadini di prima classe, con politiche esplicite.
File di esempio
Qui sotto c'è uno snippet didattico con commenti e una riga Sitemap. Le regole live di questo sito sono sempre su /robots.txt della stessa origine da cui stai navigando: il percorso è identico su host locali e di produzione, cambia solo l'hostname nella barra degli indirizzi. Quel file mostra cosa è escluso dalla scansione (qui, /api/). Per gli URL assoluti altrove (per esempio la riga Sitemap generata da Next), imposta NEXT_PUBLIC_SITE_URL nell'ambiente di deploy.
User-agent: *
Allow: /
Disallow: /api/
# Teaching: block a tree but reopen a branch
# Disallow: /admin/
# Allow: /admin/public/
Sitemap: https://www.example.com/sitemap.xmlErrori comuni
- Bloccare CSS/JS così Googlebot non può rendere la pagina in modo fedele.
- Errori di battitura nei percorsi che non corrispondono in silenzio agli URL previsti.
- Regressioni di robots dopo la migrazione che bloccano intere sezioni.
- Confondere robots.txt con la semantica di meta robots o X-Robots-Tag.
Prassi
- Lascia scansionabili gli asset di rendering, se non accetti un rendering parziale.
- Referenzia gli indici di sitemap da robots.txt e ritesta dopo i rilasci.
- Traccia le modifiche di robots.txt nel version control insieme alle note di deploy.