Tutto quello che devi sapere per controllare la scansione, ottimizzare il crawl budget e massimizzare l'indicizzazione del tuo sito web.
Il file robots.txt è un file di testo in chiaro collocato obbligatoriamente nella root del dominio (es: https://www.tuosito.it/robots.txt).
Fa parte del protocollo Robots Exclusion Standard e comunica ai crawler — come Googlebot, Bingbot o altri spider — quali aree del sito possono o non possono essere visitate.
È la prima cosa che un bot legge prima di iniziare qualsiasi scansione. Non rispettarlo è tecnicamente facoltativo per i bot malintenzionati, ma tutti i motori di ricerca legittimi lo rispettano scrupolosamente.
⚠️ Attenzione critica: robots.txt non è un meccanismo di sicurezza. Non impedisce l'accesso diretto agli URL: blocca solo la scansione, non l'indicizzazione se esistono link esterni alla pagina.
La sitemap.xml è un file strutturato in formato XML che elenca tutte le URL che vuoi far conoscere ai motori di ricerca. È il tuo modo per dire a Google: "Queste sono le pagine che contano, non perdertele."
Il protocollo Sitemap è supportato da Google, Bing, Yahoo e tutti i principali motori. Può contenere metadati aggiuntivi come la data di ultima modifica (lastmod), la frequenza di aggiornamento (changefreq) e la priorità relativa (priority).
Un singolo file sitemap può contenere fino a 50.000 URL e non deve superare i 50 MB non compressi. Per siti grandi si usa una Sitemap Index che referenzia più sitemap figlie.
Un robots.txt ben strutturato include direttive specifiche per i diversi bot, non solo per *. Ecco la struttura completa:
User-agent — specifica il bot a cui si applica la regola (* = tutti)Disallow — percorso che il bot NON deve scansionareAllow — eccezione esplicita all'interno di un blocco DisallowCrawl-delay — secondi di attesa tra una richiesta e l'altra (non supportato da Google)Sitemap — URL assoluta della sitemap (puoi inserirne più di una)# Regole generali per tutti i bot
User-agent: *
Disallow: /admin/
Disallow: /login/
Disallow: /carrello/
Disallow: /checkout/
Disallow: /account/
Disallow: /*?s= # Blocca risultati ricerca interna
Disallow: /*?utm_ # Blocca parametri UTM
Disallow: /wp-json/ # Blocca REST API WordPress
Allow: /wp-admin/admin-ajax.php # Necessario per AJAX
# Regole specifiche per Googlebot
User-agent: Googlebot
Disallow: /staging/
Allow: /
# Blocco completo per bot indesiderati
User-agent: AhrefsBot
Disallow: /
User-agent: SemrushBot
Disallow: /
# Sitemap (puoi dichiararne più di una)
Sitemap: https://www.tuosito.it/sitemap.xml
Sitemap: https://www.tuosito.it/sitemap-news.xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<!-- Homepage -->
<url>
<loc>https://www.tuosito.it/</loc>
<lastmod>2026-03-01</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<!-- Pagina con immagine dichiarata -->
<url>
<loc>https://www.tuosito.it/servizi/</loc>
<lastmod>2026-02-15</lastmod>
<priority>0.8</priority>
<image:image>
<image:loc>https://www.tuosito.it/img/servizi.jpg</image:loc>
<image:title>I nostri servizi</image:title>
</image:image>
</url>
<!-- Pagina multilingua con hreflang -->
<url>
<loc>https://www.tuosito.it/chi-siamo/</loc>
<lastmod>2026-01-10</lastmod>
<priority>0.6</priority>
<xhtml:link rel="alternate" hreflang="it"
href="https://www.tuosito.it/chi-siamo/"/>
<xhtml:link rel="alternate" hreflang="en"
href="https://www.tuosito.com/about-us/"/>
</url>
</urlset>
Quando il sito supera 50.000 URL o vuoi separare logicamente le sezioni (blog, prodotti, categorie), usa una Sitemap Index:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.tuosito.it/sitemap-pagine.xml</loc>
<lastmod>2026-03-20</lastmod>
</sitemap>
<sitemap>
<loc>https://www.tuosito.it/sitemap-blog.xml</loc>
<lastmod>2026-03-25</lastmod>
</sitemap>
<sitemap>
<loc>https://www.tuosito.it/sitemap-prodotti.xml</loc>
<lastmod>2026-03-24</lastmod>
</sitemap>
</sitemapindex>
Il crawl budget è il numero di pagine che Googlebot è disposto a scansionare sul tuo sito in un determinato periodo. È influenzato da due fattori: la crawl rate limit (quanto velocemente il bot può scansionare senza sovraccaricare il server) e la crawl demand (quanto Google ritiene utile scansionare il tuo sito).
Per i siti piccoli (sotto le 1.000 pagine) il crawl budget raramente è un problema. Diventa critico per:
Strategia: usa robots.txt per bloccare i parametri URL inutili, le pagine di ricerca interna, i tag, gli archivi per data — tutto ciò che non porta valore SEO ma consuma budget di scansione.
Uno degli errori più gravi in SEO è confondere questi due strumenti. Hanno scopi completamente diversi:
Regola pratica: vuoi bloccare l'indicizzazione? Usa noindex. Vuoi risparmiare crawl budget su pagine già escluse? Usa robots.txt su pagine che non hanno bisogno di trasmettere segnali SEO.
?orderby=, ?color=, ?page= se non gestite tramite canonical?print=1 o similiDisallow: /✅ Includi:
❌ Escludi:
noindexlastmod solo quando ci sono modifiche sostanziali al contenuto, non a ogni deploy tecnico/robots.txt