Qu’est-ce qu’un code de réponse HTTP et à quoi ça sert ?
Les codes de réponse HTTP sont générés par un serveur qui héberge une ressource (URL) en réponse à une requête d’un client (souvent un navigateur mais ça peut être aussi un crawler tel que Googlebot). Ce code, constitué de 3 nombres, indique l’état de la ressource sur le serveur, état qui va orienter par conséquent le comportement des crawlers et des moteurs de recherche.
🟰 Synonymes : on parle aussi parfois de code de status (status code en anglais) ou de code d’état (traduction littérale de “status code”). Les trois termes sont synonymes.
Pourquoi les codes de réponse HTTP sont importants pour le SEO ?
Tout comme les utilisateurs classiques les crawlers des moteurs de recherche cherchent à accéder à des ressources pour pouvoir les explorer (les crawler) puis les indexer. Si ces ressources n’existent pas les crawlers ne vont plus venir essayer de les explorer et encore moins les indexer.
↔️ Analogie : les codes de réponses font office de code de la route sur internet. Ils indiquent les règles régissant l’état des URL. Cependant comme sur la route certains conducteurs (clients) s’affranchissent de ces règles. Pour faire du SEO le mieux ça reste de rester dans les clous !
Les codes de réponse HTTP les plus courants et leur impact SEO
Les 2xx : ils indiquent un comportement normal
C’est le code de réponse par défaut quand tout s’est déroulé comme prévu.
Il est impératif pour être indexé d’avoir des pages qui répondent avec un code de réponse 200 ou faisant fait partie du groupes des 2xx.
💎 Retour d’expérience : je n’ai jamais vu autre chose que des 200. A ma connaissance les autres codes de réponses 2xx sont neutres en termes de SEO.
Les 3xx : ils indiquent une redirection
Si une ressource (URL) est supprimée il est, dans la majorité des cas, souhaitable d’indiquer aux clients une autre URL de substitution. Pour se faire on met en place une redirection 3xx
La présence de cette redirection a un double effet bénéfique :
- elle indique aux crawlers la nouvelle URL
- et par conséquent permet de consolider le SEO acquis ultérieurement sur la nouvelle URL (on parle de canonicalisation)
- elle permet aux internautes d’arriver sur une page de substitution
- et de leur éviter l’inconfort de ne pas trouver ce qu’ils sont venus chercher en visitant une page en 4xx
✨ En savoir plus — les chaînes de redirections : Google suit un maximum de 10 redirections consécutives, après quoi il considère la page comme étant une 404. Il est donc souhaitable de ne pas trop en enchaîner.
💎 Retour d’expérience : dans les faits il est très rare voire impossible d’avoir une situation où l’on cumule plus de 10 redirections.
🤓 Recommendation : je ne corrige les redirections en chaîne que si je n’ai rien de mieux à faire (en gros : ça n’arrive jamais).
A savoir aussi, il existe deux variantes de redirections :
- Les 301 ⇒ elles sont permanentes et indiquent donc un changement qui a vocation à durer
- Les 302 ⇒ elles sont temporaires et indiquent un changement ponctuel
🤓 Recommendation : sauf si vous êtes un SEO chevronné et que vous avez en tête un cas précis en tête il vaut toujours mieux faire des 301 par défaut que des 302. Le signal est plus explicite pour les crawlers.
Les 4xx : ils indiquent un erreur côté client
En règle générale ces erreurs proviennent :
- d’une modification au sein du backoffice (30% des cas de figure)
- exemples :
- je change mon URL
- mon CMS change automatiquement mon URL quand je change mon titre
- exemples :
- d’un changement au sein d’une base de donnée voulu (30% des cas)
- exemples :
- un journaliste dépublie un article
- un produit que je vends est en rupture de stock
- une petite annonce disparaît car le produit est vendu
- exemples :
- d’un bug sur une fonctionnalité (20% des cas)
- exemple :
- un module créé des pages qui n’ont pas raison d’être
- un bug fait passer des pages en 404
- exemple :
- de versions ultérieures de mon site (10% des cas)
- du reste d’internet (10% des cas)
- exemples :
- un webmaster d’un autre site s’est trompé en orthographiant mon URL
- un hack obscur à l’échelle d’interne (exemple : /1000)
- Google se trompe ou fait des tests et vient crawler des pages qui n’existent pas
- exemples :
Dans certains cas de figures, si par exemple on veut que Google supprime une page de son index on peut avoir envie de laisser une page en 404 voire d’être plus explicite en définissant une erreur 410.
💎 Retour d’expérience : il peut être tentant de corriger toutes les erreurs 404 car elles indiquent un problème évident. Cependant aux yeux de Google les 404 sont normales, à la marge et souvent traitées en temps que telles.
🤓 Recommendation : traiter les erreurs en pensant avant tout à l’expérience utilisateur et appliquer le principe de Pareto (dit 20/80).
A propos des “softs 404”
Les "soft 404" sont des erreurs qui se produisent lorsque une page web est introuvable, mais le serveur renvoie un code de statut HTTP 200. Cela signifie que la page est supposée être correcte et qu'aucune erreur n'a été trouvée, alors qu'en réalité, la page n'existe pas. C'est une mauvaise pratique car elle peut confondre les utilisateurs et les moteurs de recherche.
Il est donc recommandé de corriger les "soft 404" en veillant à ce que les pages introuvables renvoient le code de statut approprié, généralement 404 ou 410.
Dans un second temps on peut corriger ces 404 mais tant qu’elle répondent en 200 elles sont difficilement identifiables.
Les 5xx : ils indiquent une erreur côté serveur
Là où les 4xx sont souvent naturelles dans la vie d’un site et bégnines, les 5xx indiquent de façon explicite la présence d’un problème technique sur le site. Ce type de code de réponse est très problématique en termes de SEO.
Ces types d’erreurs sont liées à des problèmes de codes ou de stabilité du serveur.
💎 Retour d’expérience : ces erreurs ont un impact très néfaste sur le SEO et peuvent avoir des conséquences dramatiques sur le SEO.
🤓 Recommendation :
- Si ces erreurs sont fréquentes ou récurrentes il faut absolument les adresser et les mettre tout en haut de la pile des sujets technique.
- Attention toutefois à bien établir des ordres de grandeurs et à ne pas s’affoler si les erreurs sont rares ou ponctuelles (à titre d’exemple il est fréquent que lors d’une mise en ligne les serveurs soient indisponibles quelques heures et renvoient des erreurs 503)
Autres types d’erreurs
Avant même d’arriver jusqu’au serveur une requête HTTP peut ne pas aboutir. Par exemple si le nom de domaine n’a pas été renouvelé, que le serveur HTTP n’est pas bien paramétré ou qu’un problème de certificat SSL est visible.
✨ En savoir plus :
- Noms de domaines
Synthèse des codes de réponses
🔗 Sources complémentaires
✨ En savoir plus :
- l’indexabilité d’une page
- la crawlabilité d’une page
- le budget de crawl
- cycle de vie des pages
⚒️ Outils :
- Crawlers
- Screaming Frog
- Alerting et monitoring
- Wachete
- Pingrobot
- Search Console
- Outils de débug
- cURL
- Inspecteur du navigateur
- Extensions Chrome
- Redirection path
Discussions