Passer au contenu principal

Codes de statut HTTP : 404, 500, 503 expliqués

Lecture 10 min

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 :

  1. Liens internes cassés → mettre les liens à jour
  2. Pages supprimées avec des liens entrants → redirection 301 vers une page pertinente
  3. URL mal saisies → redirection 301 vers la bonne orthographe
  4. 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 .htaccess corrompu
  • Conflits de plugins ou de thèmes (WordPress)

Comment corriger :

  1. Consultez les journaux d’erreurs du serveur (/var/log/apache2/error.log)
  2. Activez le mode débogage de WordPress :
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
  3. Testez avec les plugins désactivés
  4. Augmentez la limite de mémoire PHP
  5. 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_time de 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

  1. Ouvrez les outils de développement (F12)
  2. Allez dans l’onglet Network (Réseau)
  3. Rechargez la page
  4. 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é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 :

  1. Renommez /wp-content/plugins/ en /wp-content/plugins-disabled/
  2. Si le site fonctionne, remettez l’ancien nom et désactivez les plugins un par un
  3. 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