robots.txt e noindex svolgono funzioni diverse. La distinzione essenziale è: robots.txt decide se un crawler può richiedere un URL; noindex comunica a un sistema compatibile che la pagina non deve restare nel suo indice.
Google spiega che robots.txt non è il meccanismo corretto per garantire che una normale pagina web resti fuori da Google Search. Un URL bloccato può essere scoperto tramite link, sitemap, redirect o dati storici.
Confronto dei controlli
| Controllo | Scopo | Posizione | Il crawler deve caricare la pagina? |
|---|---|---|---|
Disallow | Limitare la scansione | /robots.txt | No |
meta robots noindex | Evitare indicizzazione HTML | <head> | Sì |
X-Robots-Tag: noindex | Controllare anche risorse non HTML | Header HTTP | Sì |
| Autenticazione | Proteggere accesso | Server/app | Nessun accesso pubblico |
Un crawler non può leggere noindex sulla pagina se robots.txt gli impedisce di recuperarla.
Configurazione che spesso fallisce
User-agent: *
Disallow: /members-preview/
insieme a:
<meta name="robots" content="noindex">
Googlebot potrebbe non vedere la meta directive. Se l’URL viene scoperto altrove, può ancora apparire nei risultati senza snippet.
Per una pagina pubblica che vuoi solo rimuovere dall’indice, in genere è più chiaro consentire la scansione e restituire noindex.
Quando usare robots.txt
È utile per controllare la scansione di ricerca interna, carrello, sessioni, faccette o altri percorsi a basso valore.
User-agent: *
Disallow: /ricerca-interna/
Disallow: /cart/
Allow: /
Sitemap: https://example.com/sitemap.xml
Testa URL importanti prima di bloccare una directory ampia.
Quando usare noindex
Per un URL pubblico e scansionabile che non deve apparire nei risultati:
<meta name="robots" content="noindex">
Per PDF e altre risorse:
X-Robots-Tag: noindex
In entrambi i casi il crawler deve poter ricevere la risposta.
“Indicizzato nonostante robots.txt”
Non è una contraddizione. Scansione e indicizzazione sono sistemi separati. Un motore può conoscere l’esistenza di un URL senza accedere al contenuto attuale.
Se l’URL deve davvero sparire, verifica se è sicuro renderlo accessibile al crawler. Se è pubblico, rimuovi il blocco e restituisci noindex; se è privato, usa autenticazione.
Noindex dentro robots.txt non è supportato
Vecchi esempi mostrano:
Noindex: /esempio/
Google non supporta noindex come direttiva robots.txt. Usa meta robots o X-Robots-Tag.
Lo stesso vale per la ricerca IA
OpenAI distingue il blocco di OAI-SearchBot da noindex. Se un URL è noto da altre fonti, link o titolo possono ancora essere mostrati; la directive di indicizzazione deve quindi essere leggibile dal crawler.
Sequenza decisionale
- Dato privato? Autenticazione.
- Pagina pubblica ma fuori dai risultati? Scansione consentita +
noindex. - Pagina indicizzabile ma crawl costoso? Valuta robots.txt.
- Solo un crawler deve essere trattato diversamente? Gruppo User-agent specifico.
- Duplicati? Controlla canonical, redirect e architettura URL.
robots.txt controlla la scansione, noindex controlla l’indicizzazione e l’autenticazione controlla l’accesso.