Attention à la désindexation avec l’entête X-Robots-Tag

Mathieu Chartier SEO 4 commentaires

GoogleBot et l'entête X-Robots-Tag

Gary Illyes a publié un tweet laconique le 2 février 2017 au sujet de l'entête HTTP X-Robots-Tag. Si vous n'indiquez pas une valeur appropriée (valeur "none" notamment), le porte-parole de Google a indiqué que cela pourrait être interprété comme du "no-index" par défaut. Il serait dommage de générer des entêtes automatiquement ou sans réfléchir et de se retrouver désindexer rapidement.

Dans les faits, l'entête X-Robots-Tag correspond peu ou prou à la balise <meta name="robots" content="..."/>. Son objectif est de donner des directives (suivies ou non) pour GoogleBot et consorts. Toutefois, la valeur "none" risque d'être interprétée comme la valeur "noindex", tel que l'indique Gary Illyes :

Rappel, la directive « none » signifie que les robots n’indexent pas. « X-Robots-Tag: none » == « X-Robots-Tag: noindex ».

La documentation de Google rappelle certaines des valeurs valables pour X-Robots-Tag. L'avantage de cette méthode est certainement d'être plus directe mais aussi de permettre davantage de possibilités que la balise meta presque équivalente. Voici quelques exemples commentés dans un .htaccess si cela vous est inconnu (ou plus trop en tête) ou pour vous montrer des cas particuliers permis par l'entête HTTP. Pour rappel, vous pouvez les appeler avec la fonction header() en PHP ou encore d'autres manières, j'ai choisi la méthode de l'.htaccess juste pour l'exemple :

# Entête différencié selon les robots
Header set X-Robots-Tag "googlebot: index, nofollow"
Header set X-Robots-Tag "otherbot: noindex, nofollow"

# Blocage de l'indexation des fichiers DOC et PDF
<FilesMatch "\.(doc|pdf)$">
Header set X-Robots-Tag "noindex, noarchive"
</FilesMatch>

# Blocage de l'archivage
Header set X-Robots-Tag "noarchive"

# Indiquer à GoogleBot qu'il ne faut plus visiter et indexer la page à une date précise
Header set X-Robots-Tag "unavailable_after: 06 Feb 2017 08:30:00 PST"

# Empêcher à Google de proposer une traduction de la page
Header set X-Robots-Tag "notranslate"

# Blocage de l'indexation des images d'un site
Header set X-Robots-Tag "noimageindex"

Ce ne sont que des exemples dont la plupart ne fonctionne qu'avec GoogleBot, mais cela donne une idée de l'intérêt de l'entête HTTP X-Robots-Tag. On peut notamment rendre son usage dynamique en PHP avec des structures de contrôle if() { ... } et donc mieux gérer tous les cas de figure.