On a tous déjà été confronté, en tant qu’utilisateur web, aux fameuses erreurs 404, 500, ou encore 301. Ces messages font partie d’un ensemble plus vaste : les codes HTTP. Ils sont omniprésents dans la création de site web et jouent un rôle clé dans la communication entre navigateur et serveur. Il en existe des dizaines, mais concentrons-nous ici sur les plus fréquents et leurs implications techniques et SEO.
- Les codes HTTP : qu’est-ce que c’est ? Définitions
- Les codes HTTP les plus fréquents pour les webmasters
- Code 200 : OK
- Code 301 : Redirection permanente
- Code 302 : Redirection temporaire
- Code 307 : Redirection temporaire (méthode conservée)
- Code 308 : Redirection permanente (type conservé)
- Code 310 : Trop de redirections
- Code 401 : Accès non autorisé
- Code 403 : Accès interdit
- Code 404 : Page non trouvée
- Code 418 : I’m a teapot
- Code 500 : Erreur interne du serveur
- Code 502 : Bad Gateway
- Code 503 : Service indisponible
- Code 504 : Gateway Timeout
Les codes HTTP : qu’est-ce que c’est ? Définitions
Les codes HTTP, ou codes de statut, sont des messages renvoyés par le serveur à chaque requête faite par un navigateur. Ils permettent d’indiquer si l’opération a été un succès, s’il y a eu une erreur, ou encore si une redirection a été déclenchée.
Famille de codes HTTP | Description de la réponse |
---|---|
100 – 199 | Réponses informatives. Ces codes indiquent qu’une requête a été reçue et est en cours de traitement (ex : 100 Continue, 101 Switching Protocols). |
200 – 299 | Requêtes réussies. Le serveur a traité avec succès la requête du client (ex : 200 OK, 201 Created, 204 No Content). |
300 – 399 | Redirections. Le client doit effectuer une action supplémentaire pour compléter la requête (ex : 301 Moved Permanently, 302 Found, 304 Not Modified). |
400 – 499 | Erreurs côté client. La requête est mal formée ou le client n’est pas autorisé (ex : 400 Bad Request, 401 Unauthorized, 404 Not Found). |
500 – 599 | Erreurs côté serveur. Le serveur n’a pas pu traiter la requête à cause d’une erreur interne (ex : 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable). |
Les codes HTTP les plus fréquents pour les webmasters
Voici une liste plutôt exhaustive de toyus ces codes réponses avec quelques explications :
Code 200 : OK
C’est le code le plus courant, bien qu’invisible. Il signifie que la page a été affichée avec succès. Aucun problème à signaler.
Code 301 : Redirection permanente
Le code 301 – Moved Permanently est l’un des plus utilisés dans la gestion de site Web. Il indique qu’une ressource a été déplacée de manière définitive vers une nouvelle URL.
Ce type de redirection est recommandé lors :
- d’une migration HTTP vers HTTPS ;
- d’une refonte complète du site ou de son arborescence ;
- du changement de nom de domaine ;
- de la suppression d’un ancien contenu remplacé par un autre équivalent.
Exemple d’implémentation dans un fichier .htaccess
:
Redirect 301 /ancien-uri/ https://www.monnomdedomaine.fr/nouvelle-uri/
Avantage SEO : la 301 permet de conserver les bénéfices de l’URL d’origine (PageRank, ancienneté, backlinks). C’est un levier incontournable pour maintenir la performance d’un site après un changement d’URL. Voir aussi les redirections avec NGINX.
Code 302 : Redirection temporaire
Le code 302 – Found ou Moved Temporarily sert à signaler qu’une ressource a été déplacée temporairement. Dans ce cas, le moteur de recherche est invité à ne pas mettre à jour ses index.
À utiliser uniquement si :
- le contenu de destination est provisoire
- la redirection est censée être désactivée rapidement
Attention : du point de vue SEO, Google peut ignorer la redirection 302, considérant qu’il s’agit d’un cas temporaire. Le jus SEO de la page d’origine n’est donc pas transmis.
Code 307 : Redirection temporaire (méthode conservée)
Le code 307 – Temporary Redirect a été introduit pour clarifier le fonctionnement flou du 302. Il conserve le type de requête HTTP d’origine (GET, POST, etc.), ce qui n’est pas garanti avec le 302.
Comparaison :
- 302 : convertit un
POST
enGET
– risque de perte de données lors d’un envoi de formulaire - 307 : conserve la méthode – plus fiable dans les échanges complexes
Il est donc préférable d’utiliser le 307 pour les redirections temporaires, notamment si des formulaires sont en jeu.
Code 308 : Redirection permanente (type conservé)
Le code 308 – Permanent Redirect est à la redirection permanente ce que le 307 est à la redirection temporaire : il assure le maintien de la méthode HTTP utilisée (GET, POST, etc.).
Il est utile pour :
- des API RESTful nécessitant des requêtes POST ou PUT
- des transferts de formulaire qui ne doivent pas être modifiés
Comme la 301, la 308 transmet également les signaux SEO (autorité, backlinks).
Code 310 : Trop de redirections
Le code 310 (non officiel) apparaît souvent sous forme d’un message d’erreur dans les navigateurs comme :
ERR_TOO_MANY_REDIRECTS
Il signale une boucle de redirections dans laquelle le navigateur est coincé. Par exemple :
- Page A → redirection vers B
- Page B → redirection vers C
- Page C → redirection vers A
Résultat : le navigateur abandonne après plusieurs tentatives infructueuses.
Comment le corriger :
- Vérifiez vos fichiers
.htaccess
pour détecter une boucle - Contrôlez les réglages de vos plugins SEO (type Redirection, RankMath, Yoast…)
- Effacez le cache du navigateur ou celui de votre site
Ce type d’erreur peut avoir des conséquences désastreuses sur l’accessibilité du site et sur son indexation.
Code 401 : Accès non autorisé
Le code HTTP 401 – Unauthorized est renvoyé lorsque l’accès à une ressource est conditionné par une authentification préalable, mais que celle-ci est absente ou incorrecte.
Il s’agit généralement d’une protection mise en place via un fichier .htaccess
contenant une directive AuthType Basic
ou équivalente.
Ce code est typique des espaces restreints tels que :
- Les interfaces d’administration protégées
- Les accès intranet
- Les répertoires confidentiels (clients, partenaires, etc.)
Sans mot de passe valide ou sans jeton d’authentification (token), l’utilisateur est bloqué.
Code 403 : Accès interdit
Contrairement au 401, le code 403 – Forbidden signifie que l’accès est strictement interdit, même si vous êtes identifié.
Les raisons sont multiples :
- Permissions de fichiers mal configurées sur le serveur (ex.
chmod
incorrect) - Directives
Deny from all
dans le fichier.htaccess
- Liste blanche (whitelist) d’IP ne vous incluant pas
- Blocage volontaire de certains crawlers (ex. bots malveillants)
C’est un message que vous pouvez recevoir par exemple en tentant d’accéder à un dossier sans index, ou un fichier script bloqué par sécurité.
Code 404 : Page non trouvée
Le célèbre 404 – Not Found est le plus connu des internautes et sans doute le plus fréquent sur le Web. Il indique que la ressource demandée n’existe plus à l’adresse spécifiée, ou n’a jamais existé.
Les causes les plus courantes sont :
- Une URL modifiée ou mal tapée ;
- Un contenu supprimé sans redirection ;
- Une erreur de lien interne ou externe.
Du point de vue SEO, les 404 doivent être surveillées de près. Il est essentiel de :
- Les détecter grâce à des outils comme Screaming Frog, Google Search Console ou le plugin Broken Link Checker si vous utilisez WordPress ;
- Effectuer une redirection 301 vers un contenu équivalent si possible ;
- Personnaliser la page 404 pour améliorer l’expérience utilisateur (ajout d’un moteur de recherche, liens utiles, design attractif…).
Code 418 : I’m a teapot
Le code 418 – I’m a teapot est un clin d’œil aux développeurs. Il a été introduit en 1998 dans le cadre du RFC 2324, un poisson d’avril du protocole HTTP, aussi appelé HTCPCP (Hyper Text Coffee Pot Control Protocol).
Ce code signifie littéralement : « Je suis une théière, je ne peux pas faire de café ». Il n’a aucune utilité technique mais est parfois mis en œuvre par les plus joueurs (comme Google, Amazon ou NGINX) pour des réponses humoristiques.
Sur des codes comme le 404 ou le 410, Matt Cutts, ancien porte-parole de Google, avait d’ailleurs réalisé une vidéo explicative utile pour les webmasters :
Code 500 : Erreur interne du serveur
Le code HTTP 500 – Internal Server Error est l’un des messages d’erreur les plus génériques. Il signifie que le serveur a rencontré une situation inattendue qui l’empêche d’exécuter la requête. Il ne donne aucune information précise à l’utilisateur, ce qui peut le rendre difficile à diagnostiquer.
Les causes les plus fréquentes incluent :
- Une erreur de syntaxe ou de logique dans un script PHP ;
- Un fichier
.htaccess
mal configuré ; - Un plugin ou thème défectueux (notamment sur WordPress) ;
- Une extension du serveur (comme un module Apache) provoquant un conflit ;
- Une limite mémoire atteinte (PHP Memory Limit).
Solutions recommandées :
- Activer le mode debug sur WordPress via
WP_DEBUG
; - Consulter les logs d’erreur sur votre hébergement (
error_log
) ; - Restaurer un fichier
.htaccess
propre ; - Désactiver temporairement vos extensions via FTP.
Code 502 : Bad Gateway
L’erreur 502 – Bad Gateway apparaît lorsqu’un serveur intermédiaire (souvent un proxy ou un CDN comme Cloudflare) reçoit une réponse non valide d’un autre serveur en aval.
Typiquement, cette erreur est liée à :
- Une mauvaise configuration de Nginx, Varnish ou d’un CDN ;
- Un backend (ex. Apache) qui ne répond pas à temps ou renvoie une erreur ;
- Un pare-feu ou une règle réseau bloquant les requêtes.
Conseils techniques :
- Redémarrer les services de proxy (Nginx, PHP-FPM) ;
- Vérifier la connectivité entre les serveurs ;
- Auditer les performances du serveur d’origine.
Code 503 : Service indisponible
L’erreur 503 – Service Unavailable indique que le serveur est temporairement incapable de traiter la requête, souvent à cause d’un pic de charge ou d’une maintenance programmée.
Elle peut aussi apparaître quand :
- Les quotas d’un hébergement mutualisé sont dépassés ;
- Le serveur est en surcharge CPU ou mémoire ;
- Un fichier
maintenance.php
est actif sur un CMS comme WordPress.
Recommandations :
- Mettre à jour l’infrastructure si les ressources sont insuffisantes ;
- Optimiser les scripts ou bases de données si un goulot d’étranglement est présent ;
- Utiliser un système de cache côté serveur pour absorber les pics.
Code 504 : Gateway Timeout
Le code 504 – Gateway Timeout est renvoyé lorsqu’un serveur intermédiaire (proxy ou CDN) n’obtient pas de réponse à temps du serveur final.
Les causes peuvent inclure :
- Un script trop lent à exécuter (ex. import massif, traitement complexe) ;
- Une surcharge du serveur cible ou une requête SQL trop longue ;
- Une configuration erronée entre les proxys et le backend ;
- Des attaques de type DDoS ralentissant fortement la réponse.
Que faire ?
- Alléger les scripts ou optimiser les requêtes vers la base de données ;
- Configurer les délais d’attente dans les paramètres du reverse proxy ;
- Surveiller l’infrastructure avec des outils comme New Relic, Datadog ou Uptime Robot.
Les erreurs 5xx sont toutes liées au serveur. Bien qu’elles puissent sembler obscures pour l’utilisateur, elles doivent alerter le webmaster sur un dysfonctionnement souvent grave et bloquant.
Et vous, connaissiez-vous tous ces codes ?
Clair et net. Je cherchais si le code 418 existait bien, maintenant je sais que ce n’est pas une légende.
Et le reste est très bien expliqué.
Tim.