Détection et gestion des entêtes HTTP
Lors de leurs parcours du web, les robots indexent page après page, l’ensemble du web tout simplement en suivant les liens qu’elles contiennent.
Seulement voilà, autant nous pouvons souhaiter indexer le maximum de pages de nos sites, autant nous préfèrerions parfois, que certaines pages soient écartées de cette indexation.
Par exemple, toute la partie administration du site ou encore, toutes les pages qui contiennent des dossiers clients en cours de réalisation… heureusement, entre le fichier robots.txt et les balises <meta>, les solutions sont nombreuses et nous permettent de communiquer avec les robots.
Problème liés à ces solutions
Cependant, si nous parlons de balises <meta> nous ciblons exclusivement des fichiers HTML et le fichier robots.txt n’excluera pas l’indexation venant d’un backlink.
Donc, comment s’assurer que les robots auront bien en connaissance que nous ne souhaitons pas indexer certains fichiers, qu’ils soient ou non de type HTML, et que ces fichiers puissent éventuellement recevoir des backlinks sans pour autant les indexer ?
L’entête HTTP
Il y a quelques années Google a introduit l’entêtre X-Robots-Tag qui permet d’agir sur l’entête HTTP d’un document. Les autres moteurs majeurs comme Yahoo ou Bing, lui ont emboités le pas et à leurs tours ont pris en compte cet entête.
Cette balise d’entête peut être définie de diverses manières :
Soit au travers d’une balise HTML <meta />, complétant ainsi l’entête HTTP de tout document HTML en utilisant par exemple :
<meta name="http-equiv" content="X-Robots-Tag : noindex, follow" />,
Soit en usant d’une instruction PHP du type :
<?php header("X-Robots-Tag: noindex, follow", true); ?>
Ou encore, en plaçant quelques instructions dans un fichier .htaccess , bien sûr si la page est hébergée sur un serveur apache… :
<FilesMatch "robots\.txt"> Header set X-Robots-Tag "noindex" </FilesMatch>.
Mise en place du test
Quelle que soit la solution adoptée, nous allons vérifier le comportement de cette mécanique en pointant vers une page utilisant ce type d’entête, enteteHTTP.php.