Codes de statut HTTP : 404, 500, 503 expliqués
Lecture 10 min
Codes de statut HTTP : 404, 500, 503 expliqués
Temps de lecture : 10 minutes
Définition rapide : les codes de statut HTTP sont des réponses à trois chiffres que votre serveur envoie aux navigateurs et aux moteurs de recherche. C’est la façon dont votre serveur dit « D’accord, voici la page » (200), « Elle a déménagé » (301), « Introuvable » (404) ou « Je suis en panne » (500).
Pourquoi ils comptent pour le SEO : de mauvais codes de statut perturbent les moteurs de recherche, gaspillent le budget d’exploration et font chuter votre classement.
TLDR
Les codes de statut HTTP indiquent aux moteurs de recherche comment traiter vos pages. Utilisez 200 pour les pages normales, 301 pour les redirections permanentes et 404 pour le contenu manquant. Erreurs courantes : utiliser 302 au lieu de 301 pour un déplacement permanent, renvoyer 200 pour des pages qui devraient renvoyer 404, et ignorer les erreurs serveur 500. Corrigez immédiatement les erreurs 500 : des erreurs serveur persistantes entraînent la désindexation. Pour la maintenance d’un site, utilisez 503 avec l’en-tête Retry-After afin que Google sache qu’il doit repasser plus tard.
Les 5 catégories
| Plage | Signification | Exemples |
|---|---|---|
| 1xx | Informatif (rarement visible) | 100 Continue |
| 2xx | Succès | 200 OK |
| 3xx | Redirection | 301, 302, 307 |
| 4xx | Erreur client (la faute de l’utilisateur) | 404 Not Found, 403 Forbidden |
| 5xx | Erreur serveur (votre faute) | 500 Internal Server Error, 503 Service Unavailable |
2xx : codes de succès
200 OK (succès)
Signification : « Tout va bien. Voici la page demandée. »
Impact SEO :
- La page peut être indexée
- La page peut être classée
- Aucune action nécessaire
Quand vous le verrez :
- Chargements de pages normaux
- Requêtes API réussies
- Images, CSS et JavaScript qui fonctionnent
À vérifier :
curl -I https://example.com
# Output: HTTP/1.1 200 OK
3xx : codes de redirection
301 Moved Permanently
Signification : « Cette page a déménagé pour de bon. Mettez à jour vos favoris. »
Impact SEO :
- Transmet 90 à 99 % de la valeur des liens à la nouvelle URL
- L’ancienne URL disparaît des résultats de recherche
- La nouvelle URL est indexée
Quand l’utiliser :
- Migrations de site
- Changements de structure d’URL
- HTTP → HTTPS
- www → sans www (ou l’inverse)
Exemple :
Old: http://example.com/old-page
New: https://example.com/new-page
Status: 301 Moved Permanently
302 Found (redirection temporaire)
Signification : « Cette page a déménagé temporairement. L’ancienne URL reviendra. »
Impact SEO :
- Transmet peu ou pas de valeur de lien
- L’ancienne URL reste dans les résultats de recherche
- La nouvelle URL peut ne pas être indexée
Quand l’utiliser :
- Tests A/B
- Contenu saisonnier
- Pages de maintenance
Erreur courante : utiliser 302 pour un déplacement permanent. Utilisez toujours 301, sauf si la redirection est vraiment temporaire.
307 Temporary Redirect (HTTP/1.1)
Signification : comme 302, mais conserve la méthode HTTP (POST, GET, etc.)
Quand l’utiliser : pour rediriger des requêtes POST (comme des envois de formulaire)
308 Permanent Redirect (HTTP/1.1)
Signification : comme 301, mais conserve la méthode HTTP
Quand l’utiliser : remplaçant moderne de 301 dans les environnements HTTP/2 et ultérieurs
4xx : codes d’erreur client
404 Not Found
Signification : « Cette page n’existe pas. Êtes-vous sûr de l’avoir bien saisie ? »
Impact SEO :
- La page ne sera pas indexée
- Gaspille du budget d’exploration si elle est liée en interne
- Perd la valeur des liens entrants externes
Quand c’est normal :
- L’utilisateur a saisi une mauvaise URL
- La page a été supprimée à dessein
Quand c’est un problème :
- Des liens internes pointent vers des 404
- Des pages importantes renvoient une 404
- Des liens entrants externes mènent à des 404
Comment trouver les 404 :
- Google Search Console → Couverture → Erreurs
- Screaming Frog SEO Spider
- Consulter les journaux du serveur
Comment corriger :
- Liens internes cassés → mettre les liens à jour
- Pages supprimées avec des liens entrants → redirection 301 vers une page pertinente
- URL mal saisies → redirection 301 vers la bonne orthographe
- Contenu définitivement disparu → laisser la 404 (ne redirigez pas tout vers la page d’accueil)
Soft 404 (fausse 404)
Problème : la page n’existe pas, mais le serveur renvoie 200 OK au lieu de 404.
Exemple :
GET /this-doesnt-exist
Response: 200 OK
Body: "Sorry, page not found"
Impact SEO :
- Google pense qu’il s’agit d’une vraie page
- Gaspille du budget d’exploration
- Peut être signalée comme contenu pauvre
Comment corriger : renvoyez le bon code de statut 404 :
// PHP
header("HTTP/1.1 404 Not Found");
// Node.js
res.status(404).send('Not Found');
// Apache .htaccess
ErrorDocument 404 /404.html
403 Forbidden
Signification : « Cette page existe, mais vous n’avez pas l’autorisation de la consulter. »
Impact SEO :
- La page ne sera pas indexée
- Si elle est appliquée par erreur à des pages publiques, celles-ci disparaîtront de la recherche
Quand c’est correct :
- Pages protégées par mot de passe
- Zones d’administration
- Contenu réservé aux membres
Quand c’est un problème :
- Des pages publiques renvoient 403 (vérifiez les permissions du serveur)
- Googlebot est bloqué par un pare-feu ou un plugin de sécurité
Comment vérifier :
curl -I https://example.com/admin
# Output: HTTP/1.1 403 Forbidden
410 Gone (suppression définitive)
Signification : « Cette page existait, mais elle a disparu pour toujours. Inutile de redemander. »
Impact SEO :
- Retrait plus rapide des résultats de recherche qu’avec une 404
- Indique à Google de ne pas perdre de temps à revérifier cette URL
Quand l’utiliser :
- Produits arrêtés sans remplaçant
- Contenu retiré que vous ne remettrez jamais en ligne
- Promotions expirées
404 contre 410 :
- 404 : « Elle reviendra peut-être un jour » (Google revérifie périodiquement)
- 410 : « Elle a disparu pour toujours » (Google arrête de vérifier plus vite)
5xx : codes d’erreur serveur
500 Internal Server Error
Signification : « Quelque chose a cassé de notre côté. Nous ne savons pas quoi. »
Impact SEO :
- La page ne sera pas indexée
- Si l’erreur persiste, la page est retirée des résultats de recherche
- Gaspille du budget d’exploration
- Signale une mauvaise qualité de site à Google
Causes courantes :
- Erreurs PHP (syntaxe, limite de mémoire)
- Problèmes de connexion à la base de données
- Fichier
.htaccesscorrompu - Conflits de plugins ou de thèmes (WordPress)
Comment corriger :
- Consultez les journaux d’erreurs du serveur (
/var/log/apache2/error.log) - Activez le mode débogage de WordPress :
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); - Testez avec les plugins désactivés
- Augmentez la limite de mémoire PHP
- Contactez le support de votre hébergeur
502 Bad Gateway
Signification : « Le serveur a reçu une réponse invalide d’un autre serveur. »
Impact SEO : identique à 500
Causes courantes :
- Nginx ne parvient pas à joindre PHP-FPM
- Serveur surchargé
- Pare-feu qui bloque les connexions
Comment corriger :
- Redémarrez PHP-FPM/Nginx
- Vérifiez la charge du serveur (il faudra peut-être changer d’offre d’hébergement)
- Examinez les règles du pare-feu
503 Service Unavailable
Signification : « Le serveur est temporairement hors service. Réessayez plus tard. »
Impact SEO :
- Google réessaiera plus tard
- Si l’erreur persiste pendant des jours, la page peut être retirée de la recherche
Quand c’est normal :
- Maintenance planifiée (affichez une page de maintenance avec 503)
- Mise à jour du serveur
Quand c’est un problème :
- Site en panne de façon inattendue
- Serveur surchargé qui ne supporte plus le trafic
Comment corriger :
- Vérifiez l’état du serveur auprès de votre hébergeur
- Activez correctement le mode maintenance
- Passez à une offre d’hébergement supérieure si le trafic dépasse la capacité
Exemple de mode maintenance :
<?php
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Retry-After: 3600'); // 1 hour
echo "We're performing scheduled maintenance. Back in 1 hour.";
?>
504 Gateway Timeout
Signification : « Le serveur a mis trop de temps à répondre. »
Impact SEO : identique à 500
Causes courantes :
- Requêtes de base de données lentes
- Délais d’attente dépassés d’API externes
- Serveur surchargé
Comment corriger :
- Optimisez les requêtes de base de données
- Augmentez
max_execution_timede PHP - Ajoutez du cache
- Augmentez les ressources du serveur
Comment les codes de statut influencent le SEO
| Code | Indexée ? | Classée ? | Transmet la valeur des liens ? | Action nécessaire |
|---|---|---|---|---|
| 200 | Oui | Oui | Oui | Aucune |
| 301 | Ancienne : non Nouvelle : oui |
Nouvelle URL | Oui (environ 90 à 99 %) | Vérifier la cible de la redirection |
| 302 | Ancienne : oui Nouvelle : peut-être |
Ancienne URL | Non | Passer à 301 si permanent |
| 404 | Non | Non | Non | Corriger, ou rediriger s’il y a des liens entrants |
| 410 | Non | Non | Non | Adaptée au contenu supprimé |
| 500 | Non | Non | Non | Corriger immédiatement |
| 503 | Réessaie | Temporairement | En pause | Corriger vite (en heures, pas en jours) |
Vérifier les codes de statut
Outils de développement du navigateur
- Ouvrez les outils de développement (F12)
- Allez dans l’onglet Network (Réseau)
- Rechargez la page
- Consultez la colonne Status (Statut)
Ligne de commande (curl)
# Check status code
curl -I https://example.com
# Follow redirects
curl -L -I https://example.com
# Check multiple URLs
for url in url1 url2 url3; do
curl -I -s $url | grep HTTP
done
Outils en ligne
- Vérificateur de codes de statut HTTP
- Vérificateur de redirections
- GTmetrix (affiche les codes de statut de toutes les ressources)
Vérification en masse (outils SEO)
- Screaming Frog SEO Spider : explore tout le site, avec filtre par code de statut
- Ahrefs Site Audit : affiche les 404, les 500 et les chaînes de redirections
- Google Search Console : le rapport de couverture montre les problèmes d’indexation
Scénarios courants
Scénario 1 : une page produit supprimée
Mauvaise approche :
Old product URL: 404 Not Found
Résultat : valeur des liens perdue, mauvaise expérience utilisateur
Meilleure approche :
Old product URL → 301 → Similar product or category page
Résultat : les classements sont préservés, meilleure expérience utilisateur
Scénario 2 : une migration de site
Incorrect :
oldsite.com/page → 302 → newsite.com/page
Résultat : les anciennes URL restent dans les résultats de recherche
Correct :
oldsite.com/page → 301 → newsite.com/page
Résultat : les nouvelles URL remplacent les anciennes dans les résultats de recherche
Scénario 3 : le mode maintenance
Incorrect :
example.com → 404 Not Found (site offline)
Résultat : Google pense que le site est cassé et peut le désindexer
Correct :
example.com → 503 Service Unavailable
Retry-After: 3600
Résultat : Google sait que c’est temporaire et réessaiera
Scénario 4 : un conflit de plugin (WordPress)
Symptôme : erreurs 500 aléatoires sur les pages d’administration
Diagnostic :
- Renommez
/wp-content/plugins/en/wp-content/plugins-disabled/ - Si le site fonctionne, remettez l’ancien nom et désactivez les plugins un par un
- Identifiez le plugin en conflit
Correction : mettez à jour ou remplacez le plugin problématique
Ce que Surmado vérifie
Site Audit recherche :
- Les erreurs 404 sur les liens internes
- Les erreurs 500/503 (problèmes de serveur)
- Les chaînes de redirections (plusieurs 301 à la suite)
- Les redirections 302 qui devraient être des 301
- Les soft 404 (statut 200 sur des pages « introuvable »)
Référence rapide
Bon pour le SEO :
- 200 OK
- 301 (pour les déplacements permanents)
- 410 (pour le contenu supprimé)
À surveiller :
- 302 (passer à 301 si permanent)
- 404 (corriger les liens internes, rediriger s’il y a des liens entrants)
À corriger immédiatement :
- 500 (erreurs serveur)
- 503 (doit se résoudre en quelques heures)
- Soft 404 (renvoyer une vraie 404)
→ À lire aussi : Liste de vérification GEO pour les développeurs | Guide complet de llms.txt | Résoudre les problèmes courants