Tip : Comment bloquer l’indexation des images ou des pdfs ? X-Robots-tag

C’est une question qu’on me pose de temps en temps : comment réussir à empêcher que le moteur indexe certaines images de mon site, ou mes pdfs ?

Il était fréquent que les propriétaires de site utilisent le robots.txt pour bloquer le crawl des urls concernées, en espérant que cela empêcherait Google de découvrir ces urls, et donc de les indexer. Sauf que souvent, cela ne marche pas. Non pas parce que Google ne respecte le robots.txt (cela c’est une légende urbaine qui mériterait un article de Mythbusting SEO). Mais parce que c’est une méthode inappropriée : une directive disallow empêche le bot de télécharger le contenu, mais pas de découvrir l’url qui une fois connue peut-être indexée (certes sans son contenu).

Il y’a quelques années, Google supportait (officieusement) des directives « noindex » dans le fichier robots.txt. Mais c’était une hérésie, que seul Google permettait, et Gary Illyes a mis de l’ordre dans tout ça en faisant revenir Google dans l’orthodoxie sur le rôle et le fonctionnement du robots.txt. Donc ce n’est plus possible aujourd’hui.

Alors comment bloquer l’indexation d’un pdf, ou d’une image, alors qu’il s’agit de formats de fichier non HTML, dans lesquels il n’est pas possible d’insérer la balise HTML « <meta name=’robots’… > » avecun attribut noindex ?

La solution est simple : il est possible de placer une directive similaire dans le header http renvoyé par le serveur web pour ces fichiers. Cette directive s’appelle la directive X-Robots-Tag

La syntaxe de X-Robots-tag:

Il s’agit d’une instruction devant figurer dans un header, donc la syntaxe est celle d’une réponse http, et par conséquent différente d’une balise HTML. Mais elle s’utilise comme la balise meta name=’robots’ : elle permet les mêmes possibilités, et gère les mêmes attributs.

Voici un exemple de syntaxe :

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noindex
(…)

Notez bien la présence de l’espace après les deux points.

On peut introduire plusieurs valeurs d’attributs, et plusieurs lignes de directives

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
(…)

Bref, si vous souhaitez désindexer vos pdfs, il suffit de demander de renvoyer un X-Robots-Tag: noindex dans le header de la réponse http renvoyé pour tous les appels d’uls de pdf.

Comment renvoyer un X-Robots-Tag ?

Il y’a plusieurs façons d’ajouter une ligne « X-Robots-Tag » dans le header

  • via un script côté serveur : on peut utiliser la fonction header() en php par exemple
  • via la configuration du serveur web
  • en utilisant les possibilités des reverse proxies et des CDN

C’est technique, mais c’est facile. Donc n’hésitez pas à demander à votre équipe technique d’implémenter les X-Robots-Tag, c’est flexible, efficace, et élégant.

Avertissement : évitez de mettre des X-Robots-Tag sur des fichiers HTML. Ou si vous le faites évitez d’avoir des demandes contradictoires entre une balise meta robots et un X-Robots-Tag

Et un détail important : Google ne verra les X-Robots-Tag que s’il a le droit de crawler la page. Donc, comme pour la balise meta name=’robots’, si vous souhaitez que vos directives soient comprises et respectées, ne bloquez pas le crawl des urls concernées par un disallow dans le robots.txt

Plus d’infos sur la directive X-Robots-Tag

https://developers.google.com/search/reference/robots_meta_tag?hl=fr

Laisser un commentaire