Tout le monde ou presque a un jour été confronté à la célèbre erreur 404, qui signifie que la page demandée est introuvable. C’est probablement le code HTTP le plus connu, mais saviez-vous qu’il en existe plusieurs dizaines d’autres, ayant chacun une signification particulière ?
Au fait, c’est quoi un code HTTP et à quoi ça sert ? Pour répondre à vos questions, nous vous proposons dans cet article un récapitulatif des principaux codes HTTP, leur signification et la façon de les résoudre quand ils indiquent une erreur.
Qu’est-ce qu’un code HTTP ?
Code HTTP : le code HTTP est un code d’état envoyé par un serveur qui informe le client si une requête HTTP a bien été exécutée ou si une erreur est survenue. En effet, tout internet repose sur un protocole de communication entre un client (ex. votre navigateur web) et un serveur. Ce protocole c’est le HTTP qui signifie « HyperText Transfer Protocol ». On parle aujourd’hui de plus en plus du HTTPS, dont le S signifie « Secured ». Cela veut seulement dire que les données qui s’échangent pendant la communication entre le client et le serveur sont sécurisées. Le fonctionnement reste le même.
Quand vous cliquez sur un lien url, vers une fiche produit de votre boutique par exemple, votre navigateur web va envoyer une requête au serveur qui héberge votre site. Le serveur va alors répondre à votre navigateur en lui envoyant un code HTTP, pour indiquer qu’il a bien reçu la requête, puis ensuite envoyer au navigateur le code source de la page demandée.
Le code HTTP est très important pour la communication entre le client et le serveur, car il informe le client si tout se passe bien et permet d’indiquer l’origine du problème si une erreur survient. C’est le cas avec notre exemple de l’erreur 404 qui indique que le serveur n’a pas trouvé la page demandée par le client. En somme, le code HTTP permet de savoir si le système fonctionne correctement et d’identifier l’origine des erreurs pour les corriger.
Les codes HTTP sont organisés en 5 catégories, afin de faciliter leur interprétation et les identifier rapidement :
- 1xx : Les codes commençant par un 1 (100, 101…) sont des codes informatifs. Ils permettent au serveur d’informer le client que la requête est reçue et en cours de traitement. Côté utilisateur vous en verrez peu, voire jamais.
- 2xx : Les codes commençant par un 2 indiquent un succès dans le traitement de la requête.
- 3xx : Les codes commençant par un 3 font référence aux redirections. Ils indiquent que la page (URL) ou le document a été déplacé de façon permanente ou temporaire.
- 4xx : Les codes commençant par un 4 signalent une erreur du côté du client (navigateur). L’erreur 404 par exemple signale que le client web demande une page qui n’existe pas.
- 5xx : Les codes commençant par un 5 signalent eux une erreur qui intervient du côté du serveur, comme avec l’erreur 500 qui indique une erreur interne au serveur.
Quels sont les principaux codes de retours que vous pouvez rencontrer sur votre boutique en ligne ?
En tant que propriétaire et gérant d’une boutique en ligne, vous serez certainement confronté un jour ou l’autre à l’un ou plusieurs de ces codes. Pour vous aider à les interpréter et vous guider sur la démarche à suivre, nous vous avons listé les codes HTTP les plus courants.
200 Ok
Le code HTTP 200 est bon signe. Il indique que la requête a été traitée avec succès. Le serveur envoie alors la réponse « 200 OK ». Ce code HTTP intervenant quand tout se passe bien, il n’y a pas de raison que vous le rencontriez. Votre navigateur web l'interprète, mais ne vous l’affiche pas.
301 Redirect
Ce code HTTP est particulièrement utile pour le SEO. En effet, lorsque les robots des moteurs de recherche parcourent votre site, ils font de nombreuses requêtes au serveur et interprètent les codes HTTP. Dans le cas où ils parcourent une page dont l’adresse a changé, le serveur va renvoyer le code 301 afin d’informer que le contenu demandé est disponible, mais a changé d’adresse. De cette façon, les moteurs de recherche peuvent indexer la page de votre site avec la bonne adresse URL. On parle alors de redirection 301. Ce type de redirection permanente peut par exemple être utilisée dans le cas où vous vendez un article qui ne se fait plus, mais est remplacé par un plus récent. Par exemple, vous vendiez une GoPro 8, qui n’est plus commercialisée, vous allez alors rediriger l’url de la fiche produit vers la fiche produit de la GoPro 9.
302 Found
Là encore, le code 302 est lié aux redirections. Il indique que le serveur à bien reçu la requête du client, qu’il a trouvé la page à transmettre, mais que celle-ci est disponible à un autre endroit. Contrairement au code 301 qui indique un état permanent, ici le code suggère un état temporaire, comme dans le cas où vous seriez en train d’opérer une migration de votre site par exemple. Vous allez ainsi renvoyer temporairement vos visiteurs vers une nouvelle page ou un nouveau site, le temps de l’opération.
307 Temporary Redirect
Ce code HTTP est aujourd’hui de plus en plus utilisé et remplace souvent le code 302. Il signale exactement la même chose : une redirection temporaire. Cela peut par exemple être utilisé sur votre site si vous avez des liens HTTP et HTTPS.
403 Forbidden
Ce code est renvoyé par le serveur lorsqu’un utilisateur envoie une requête pour accéder à quelque chose qui est protégé, sans se connecter. Cela peut-être par exemple un produit digital, comme un e-book en PDF. Pour résoudre ce problème, il suffit bien souvent à l’utilisateur de se connecter pour être identifié et pouvoir accéder au e-book… sauf bien sûr s’il ne l’a pas acheté, mais a obtenu l’URL de téléchargement par un tiers.
404 Not Found
Est-ce vraiment utile de vous présenter ce code-ci ? Oui ?! Et bien ce code signale au client web que la page demandée est introuvable. Cela signifie la plupart du temps que l’URL de la page a changé et qu’aucune redirection n’a été mise en place. Cela arrive par exemple si vous avez supprimé un produit, renommé une catégorie ou dépublié une landing page. Cette erreur est pénalisante pour votre référencement, car vous avez une page indexée qui n’existe plus. Pour repérer les URLs de votre boutique en ligne qui renvoient une erreur 404, vous pouvez utiliser Google Search Consol. Une fois les pages disparues identifiées, mettez en place sur votre boutique des redirections 301 vers la nouvelle URL ou une page dans la même thématique (ex. catégorie de produit).
410 Gone
Le code HTTP 410 est moins courant que le 404 et pourtant ils signalent exactement la même chose : la page demandée est introuvable. La différence se situe au niveau de l’état permanent de la situation, contrairement à l’erreur 404 qui est devrait être temporaire. Le robot d’indexation des moteurs de recherche qui reçoit ce message sait alors qu’il n’est pas nécessaire de refaire une requête, car le contenu est supprimé du serveur. Alors que dans le cas d’une 404, il va repasser sous 24h et décidera de supprimer ou non la page de son index.
Ce type de message peut apparaître si vous avez définitivement supprimé des produits dans votre catalogue.
429 Too Many Requests
Ce code d’erreur apparaît quand le serveur fait face à un nombre trop important de requêtes en un laps de temps court. Cela arrive par exemple quand des robots ou des scripts tentent d’accéder à votre site, ou quand un plugin mal configuré crée une boucle infinie et ne cesse d’envoyer des requêtes. Le serveur se bloque pour éviter d’être surchargé et se protéger d’éventuelles attaques DDoS.
500 Internal Server Error
C’est sans doute le code que l’on redoute le plus : l’erreur 500 qui signale une erreur interne au serveur. Les webmasters et les utilisateurs de CMS connaissent trop bien cette erreur qui peut survenir après l’installation d’un plugin ou d’un thème, qui provoque une erreur PHP, ou à la suite d’une mise à jour qui casse la connexion avec la base de données ou modifie le fichier .htacces.
Sur Shopify ce type d’erreur est extrêmement rare et traduit souvent une mise à jour de Shopify. Pour savoir si une opération de maintenance est en cours sur nos serveurs et peut expliquer l’affichage du code 500 sur votre boutique en ligne, consultez cette page : https://www.shopifystatus.com/. Si vous constatez qu’une opération de maintenance est en cours, l’erreur disparaîtra d'elle-même au bout de quelques heures.
503 Service Unavailable
Le code HTTP 503 indique que le service est temporairement indisponible ou en maintenance. Cela peut par exemple se produire le temps d’une mise à jour ou si vous devez faire face à un gros pic de trafic sur votre boutique : ouverture d’une billetterie, premier jour des soldes, passage à la télévision... Ce type d’erreur se corrige souvent d’elles-mêmes ; il suffit de revenir sur la page quelques minutes plus tard. En revanche, si l’erreur survient souvent, c’est peut-être le signe que votre hébergement n’est pas adapté à votre activité et au volume de visiteurs que vous avez.
Les marchands Shopify peuvent néanmoins se rassurer, ils ne seront jamais confrontés à ce type d’erreur. Notre infrastructure est conçue pour absorber les pics de trafic, quel que soit le forfait choisi.
Comme vous venez de le lire, les codes HTTP sont des codes qui permettent aux navigateurs web et serveurs de communiquer entre eux, mais ils sont aussi très utiles si vous cherchez à identifier l’origine d’un bug ou souhaitez communiquer avec votre webmaster ou votre développeur. Selon la catégorie du code, l’erreur sera à chercher tantôt du côté du client, tantôt du côté du serveur. Vous remarquez également que certains codes jouent un rôle dans le référencement de votre boutique en ligne sur les moteurs de recherche. C’est le cas par exemple des codes 301, 302, 404 et 410 qui guident les robots d’indexation et facilitent leur travail.