Cos'è X-Robots-Tag
X-Robots-Tag è un header HTTP che il server aggiunge alla risposta di una risorsa. Controlla il comportamento dei robot di ricerca: consentire o vietare l'indicizzazione, il seguito dei link, la cache della pagina e altre azioni.
Il vantaggio principale di X-Robots-Tag rispetto al tag <meta name="robots"> è che lavora a livello di risposta HTTP e si può applicare a qualsiasi tipo di risorsa: pagine HTML, documenti PDF, immagini, file video e ogni risorsa priva di tag HTML <head>.
X-Robots-Tag e il meta tag robots usano direttive identiche. Se sono presenti entrambi, vince la direttiva più restrittiva. Poiché i robot devono scaricare la pagina per leggere l'header, X-Robots-Tag non sostituisce robots.txt per bloccare la scansione.
Direttive supportate
- noindex
- Impedisce l'aggiunta della pagina all'indice di ricerca.
- nofollow
- Impedisce al robot di seguire i link presenti sulla pagina.
- noarchive
- Impedisce a Google di mettere in cache la pagina e mostrare il link alla cache.
- nosnippet
- Impedisce la visualizzazione di uno snippet testuale o video nei risultati di ricerca.
- none
- Equivalente di noindex + nofollow: blocca del tutto indicizzazione e seguito dei link.
- max-snippet:N
- Limita a N caratteri la lunghezza dello snippet testuale.
- max-image-preview:[none|standard|large]
- Controlla le dimensioni delle anteprime immagine nei risultati di ricerca.
X-Robots-Tag o meta tag robots
| Parametro | X-Robots-Tag | Meta tag robots |
|---|---|---|
| Livello di applicazione | Header HTTP (server) | Tag HTML (pagina) |
| Tipi di risorsa | Qualsiasi (HTML, PDF, immagini) | Solo pagine HTML |
| Come si aggiunge | Config server / .htaccess / codice | Tag in <head> |
| Letto dal robot | Prima del caricamento del corpo | Dopo il caricamento e parsing dell'HTML |
| Ambito | Applicabile globalmente via pattern URL | Singolarmente per pagina |
Quando usare X-Robots-Tag
- PDF e documenti: escludi dall'indicizzazione via header del server i PDF tecnici, i listini o i contratti
- Immagini: limita l'anteprima con
max-image-preview:noneper tutelare il copyright - Build di staging: blocca l'indicizzazione dell'ambiente di test con X-Robots-Tag: noindex a livello di server
- Risposte API: aggiungi noindex agli endpoint JSON che Google potrebbe provare a indicizzare
- Pagine d'archivio: blocca la cache con noarchive senza rimuovere la pagina dall'indice
Come aggiungere X-Robots-Tag
- Apache (.htaccess):
Header set X-Robots-Tag "noindex, nofollow"— globale o condizionale - Nginx:
add_header X-Robots-Tag "noindex";nel blocco location o server - PHP:
header('X-Robots-Tag: noindex');prima di qualsiasi output - Node.js/Next.js: via middleware o nella configurazione headers in next.config.ts
- CDN: Cloudflare Workers o Rules permettono di aggiungere header senza toccare il server
FAQ
Che differenza c'è tra X-Robots-Tag e robots.txt?
robots.txt blocca la scansione: il robot non scarica affatto la pagina. X-Robots-Tag blocca l'indicizzazione: il robot scarica la pagina, legge l'header e non la aggiunge all'indice. Per i PDF, X-Robots-Tag è più efficace perché robots.txt non può controllare tipi di contenuto specifici.
X-Robots-Tag si può applicare solo a pagine specifiche?
Sì. In Nginx e Apache imposta l'header tramite blocchi location/Directory o RewriteRule con condizioni sull'URL. Nel codice applicativo (PHP, Node.js) via programma, secondo la logica di routing.
Tutti i motori di ricerca supportano X-Robots-Tag?
Google e Bing lo supportano pienamente. Anche Yandex lo supporta con le stesse direttive. Altri crawler minori potrebbero non rispettarlo. Verifica sempre il comportamento nello strumento webmaster corrispondente.
Chi ha la priorità: X-Robots-Tag o il meta tag robots?
Vengono considerati entrambi e vince la direttiva più restrittiva. Se X-Robots-Tag dice noindex ma il meta tag dice index, la pagina non verrà indicizzata.