L’analyse des codes d’état HTTP et des en-têtes HTTP par GoogleBot

HTTP, le protocole de transfert Hypertext, permet l’échange d’informations entre votre navigateur web et un serveur web dans un format spécifique orienté requête / réponse. Lorsque vous appelez une url depuis votre navigateur, une requête HTTP vous permet d’obtenir une demande de ressources.

googlebot

Illustration de l'User Agent Googlebot qui crawle un serveur web

Exemple de réponse d’un serveur pour l’url https://www.iceranking.com :

**HTTP/1.1 200 OK
**Date: Sun, 05 Jul 2009 10:04:20 GMT
Server: Apache/2.2.X (OVH)
X-Powered-By: PHP/4.4.9
Vary: Cookie,Accept-Encoding
X-Pingback: https://www.iceranking.com/xmlrpc.php
Connection: close
Content-Type: text/html; charset= »UTF-8″

Il y a trois parties dans cette réponse fournie par le serveur web. Dans un premier temps, le code d’état HTTP (200 OK dans l’exemple ci-dessus) est renvoyé par le serveur suite à la requête. Ensuite, une section contient les entêtes HTTP, et pour finir, on peut lire le contenu de la ressource demandée (HTML, images,…).

Voici un résumé des principaux codes d’état HTTP d’un serveur web :

200 OK Requête traitée avec succès
301 Moved Permanently
Document déplacé de façon permanente
302 Moved Temporarily Document déplacé de façon temporaire
304 Not Modified Document non-modifié depuis la dernière requête
401 Unauthorized Accès à la ressource refusé
403 Forbidden Refus de traitement de la requête
404 Not Found Document non trouvé
500 Internal Server Error
Erreur interne du serveur
503 Service Unavailable Service indisponible

Vous trouverez la liste complète des codes d’état HTTP sur le centre d’aide du Google Webmaster Tools.

Dans une série d’articles sur GoogleBot part1, part2, l’équipe de Google nous explique comment sont pris en compte les codes d’état HTTP et les entêtes HTTP par l’user agent GoogleBot.

Google recommande de vérifier dans Google Webmaster tools,

les pages d’erreur 404 renvoyées par le serveur. Ces pages n’existent plus pour Googlebot et elles seront donc désindexées. Je vous conseille également de vérifier régulièrement la validité de vos liens de votre site web avec le logiciel Xenu’s Links Sleuth. </p>

Il est important de vérifier que vos pages web renvoient les bons codes d’état, tels que la redirection permanente 301 pour mettre à jour  une ancienne url vers une nouvelle ou encore la redirection temporaire 302 qui est utile pour signaler à Googlebot que la page crawlée est temporaire.
Cependant, Google déconseille une** succession de** redirection permanente 301 car cela ralentit la vitesse de crawl de GoogleBot et augmente le temps de chargement de vos pages web pour vos utilisateurs.

Google nous explique que pour limiter la consommation en bande passante et les ressources exploitées, il est important d’indiquer à GoogleBot, via un en-tête HTTP (If-Modified-Since), que votre page web n’a pas été modifiée et qu’il est inutile de la mettre à jour.

Pour finir,  je vous recommande plusieurs outils pour analyser les entêtes HTTP et visualiser les codes d’état HTTP :

1 –  Charles – Web dubbugging Proxy Application
Charles est un HTTP proxy / HTTP monitor / Reverse Proxy. Il vous permet de visualiser vos entêtes HTTP, de connaître le code HTTP, d’identifier le type de redirection ou d’afficher les erreurs de type 404 renvoyées par le serveur d’une page web étudiée.

charles http monitor

Logiciel HTTP Monitor Charles

Vous pouvez télécharger la dernière version du logiciel  Charles Proxy.

2 – Extension Firefox HttpFox
Ce plugin est très utile pour analyser rapidement les entêtes HTTP et les codes d’état HTTP lorsque vous surfez sur internet avec votre navigateur Firefox. Vous pouvez également afficher les entêtes HTTP avec l’extension livehttpheaders.

Extension Httpfox Firefox

Extension Httpfox Firefox

Vous pouvez télécharger la dernière version de l’extension HttpFox.


Pour en savoir plus sur les entêtes HTTP et les codes d’état HTTP
:

Liste complète des codes d’état HTTP (source Wikipédia).
Liste des entêtes HTTP (source W3C)