Sapevi che il meta tag robots noindex può essere dichiarato anche attraverso l’intestazione HTTP senza inserire il meta robots nel codice HTML?
Cosa sono gli HTTP headers? Gli HTTP headers, intestazioni HTTP, trasmessi attraverso il protocollo HTTP, sono informazioni prodotte durante la comunicazione tra il browser del client che invia delle richieste e il server che le raccoglie e invia delle risorse in risposta.
L’intestazione X-Robots-Tag noindex può essere utilizzata come elemento della risposta dell’intestazione HTTP per un determinato URL. Le istruzioni utilizzabili in un meta tag robots possono essere specificate anche come X-Robots-Tag.
Di seguito è riportato un esempio di risposta HTTP con un’intestazione X-Robots-Tag che comunica a Googlebot di applicare nofollow su tutti i link in pagina. Metre otherbot non dovrà nemmeno indicizzare la pagina oltre a non seguire i suoi link.
Le istruzioni specificate senza user-agent sono valide per tutti i crawler.
HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollow
X-Robots-Tag: unavailable_after: 25 Jun 2010 15:00:00 PST
(…)
Tramite intestazione HTTP è impossibile inviare a Google diverse direttive disponibili con i tag meta robots, come ad esempio:
- notranslate – non proporre la traduzione della pagina nei risultati di ricerca.
- unavailable_after: [RFC-850 date/time] – Non mostrare questa pagina nei risultati di ricerca dopo la data/l’ora specificata. La data/l’ora deve essere specificata nel formato RFC 850.
Utilizzi?
Ti è mai capitato di dover impedire l’indicizzazione di tutti i file .pdf che hai sul webserver? Oppure le immagini… Ecco che torna utile usare le intestazioni HTTP X-Robots.
Come implementare l’intestazione X-Robots-Tag noindex per PDF
Nginx
Devi definire la cartella nel web server che contiene i pdf. Usa il comando location, e al suo interno inserisi il tag x-robots con le direttive che preferisci.
location ~ .*/(?:pdf)/.* {
add_header X-Robots-Tag "noindex, follow" always;
}
La riga deve essere aggiunta nel blocco di configurazione del sito web, di solito in /etc/nginx/sites-avalable/sito_web.
Se non hai una cartella specifica che contiene i pdf, puoi definire la tipologia di file.
location ~* \.(pdf|txt|log|xml|css|js)$ {
add_header X-Robots-Tag noindex, nofollow;
}
Valuta cosa aggiungere nel tuo file di configurazione: non copiare e incollare lo script, magari ti serve solo il nofollow.
Apache
# Per aggiungere un'intestazione X-Robots-Tag di tipo noindex,
# nofollow alla risposta HTTP per tutti i file .PDF del sito,
# aggiungi il seguente snippet al file .htaccess o httpd.conf principale del sito:
<Files ~ "\.pdf$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>
# Puoi utilizzare l'intestazione X-Robots-Tag per i file
# non HTML come i file immagine in cui non è possibile
# utilizzare i meta tag robot. Di seguito è riportato
# un esempio di aggiunta di un'istruzione X-Robots-Tag
# di tipo noindex per tutti i file immagine (.png, .jpeg, .jpg, .gif) del sito:
<Files ~ "\.(png|jpe?g|gif)$">
Header set X-Robots-Tag "noindex"
</Files>
Il supporto delle espressioni regolari consente un elevato livello di flessibilità.
Commenti |4
Lascia un commentoGrazie Giò, ottima anche la guida linkata in mezzo :)
Immagino non si possa implementare X-Robots in un server condiviso (shared hosting)?
Dipende Roby, è abbastanza raro che su un hosting condiviso si dia accesso al file .htaccess ma alcuni lo permettono.
Ciao Giovanni, è possibile utilizzare l’X-Robots Tag in file .htaccess per impedire l’indicizzazione di file html, come ad esempio, un’intera categoria di un sito o un’intera sezione blog?
Inoltre, è possibile utilizzare lo stesso Tag per impedire l’indicizzazione di una sola pagina di un sito web?
Grazie :)
Ciao Cris, certo che si può, è anche indicato in questa guida sotto la sezione Apache. Devi solo cambiare .pdf con .html ed editare il file htaccess nella cartella che vuoi de-indicizzare.
Se le pagine non hanno estensione .html dovrai usare le Regex.
Per le singole pagine invece puoi elencare il path relativo di ciascuna pagina: