L'entête HTTP, qu'est-ce que c'est ?

Il s'agit d'informations envoyées par le serveur web à celui qui cherche à accéder à un document (que ce soit le navigateur d'un internaute, le robot d'un moteur de recherche ou n'importe quoi d'autre). Une de ces informations est le code de statut HTTP, dont les valeurs les plus connues sont les suivantes :

  • 200 : le document a été trouvé, il est bien disponible
  • 301 : le document n'est plus disponible à l'adresse demandée, il a définitivement changé d'adresse (c'est-à-dire d'URL). On appelle ça une redirection permanente.
  • 302 : le document n'est plus disponible à l'adresse demandée, il a temporairement changé d'adresse (c'est-à-dire d'URL). On appelle ça une redirection temporaire.
  • 404 : le document est introuvable à l'adresse indiquée

Il y a bien d'autres codes (consultez la liste des codes HTTP si vous voulez plus de détails) mais l'entête HTTP peut contenir plein d'autres informations :

  • le nom et la version du serveur web (exemple : Server: Apache/2.0.59 (Unix))
  • la date de dernière modification du document (exemple : Last-Modified: Wed, 26 Sep 2007 21:19:04 GMT)
  • la taille du documents, en octets (exemple : Content-Length: 7854)
  • le type de document (exemples : Content-Type: text/html ou Content-Type: image/gif)
  • et désormais la valeur du tag intitulé X-Robots-Tag

Valeurs possibles du tag X-Robots-Tag

Un peu comme la balise meta robots qui peut contenir plusieurs valeurs, sa version HTTP peut contenir les valeurs suivantes :

  • noindex : indique au robot qu'il ne faut pas indexer la page. Cela ne signifie pas que le robot ne va pas la crawler : pour cela il faut utiliser le fichier robots.txt
  • nofollow : indique au robot qu'il ne faut pas suivre les liens dans la page. Cela signifie que Google n'ira pas crawler les pages liées par la page contenant cette balise meta robots. Même si Google ne le précise pas dans son article, les moteurs ne tiendront pas non plus compte des liens présents sur la page dans leur algorithme (par exemple celui du PageRank).
  • nosnippet : indique au robot qu'il ne faut pas afficher de descriptif (snippet) dans la page de résultats. J'ai du mal à voir l'intérêt pour un webmaster d'utiliser cette possibilité puisque ce descriptif permet d'inciter l'internaute à cliquer sur le résultat (peut-être qu'il existe des cas où le descriptif créé par le moteur n'est pas assez pertinent aux yeux du webmaster).
  • noarchive : indique au robot qu'il ne faut pas laisser l'accès à la version en cache. Le lien "En cache" dans la page de résultats ne sera donc pas affiché. Ceci peut servir à ceux qui passent leurs contenu d'une version publique accessible à une version archivée payante (sites de journaux par exemple).
  • unavailable_after:date : indique au robot que la page ne doit pas ressortir dans les résultats après la date indiquée

Tout comme la balise meta, il est possible de combiner plusieurs valeurs en les séparant par des virgules, par exemple : X-Robots-Tag: noarchive, nosnippet

Cette directive HTTP a été introduite par Google en juillet 2007. Depuis décembre 2007, Yahoo la supporte également (source).

Vérifier le contenu de l'entête HTTP

Si vous souhaitez voir le contenu de l'entête HTTP, par exemple pour vérifier que votre implémentation de X-Robots-Tag est correcte, il suffit d'utiliser un des nombreux outils à votre disposition :

Discussion dans le forum : X-Robots-Tag