Aller au contenu principal

Guides / Les codes de statut HTTP expliqués

404 Not Found : liens cassés, soft 404 et quand utiliser 410

Un 404 Not Found signifie que le serveur n'a pas de représentation actuelle pour cette URL, et ne dit rien sur le fait que la ressource ait jamais existé ou revienne un jour. Cette ambiguïté est le but : un 404 peut être un lien cassé que vous devriez corriger, une page que vous avez retirée volontairement, ou une page qui fonctionne parfaitement et fait seulement semblant d'être absente.

Ce qu'un 404 dit et ne dit pas

Selon la RFC 9110, un 404 signifie que le serveur d'origine n'a pas trouvé de représentation actuelle pour la ressource cible, ou ne veut pas révéler qu'elle existe. Deux détails découlent de cette formulation.

D'abord, un 404 est délibérément évasif sur la permanence. Il ne promet pas que l'URL restera morte, c'est pourquoi les robots d'exploration continuent de retenter les URL en 404 pendant longtemps. Ensuite, le 404 est mis en cache par défaut selon la RFC 9111, donc un proxy de cache ou un CDN peut stocker l'erreur et continuer à la servir après que vous avez corrigé le problème sous-jacent. Purgez toujours le cache après une correction de 404 et retestez.

Un 404 est aussi une réponse normale et saine. Chaque site en renvoie. Ceux qui méritent votre attention sont sur des URL qui devraient fonctionner, ou sur des URL que des gens essaient d'atteindre.

Lien cassé ou véritablement retiré ?

Ces deux cas paraissent identiques dans un code de statut et ont besoin de réponses opposées.

Un lien cassé signifie que le contenu existe mais que l'URL est erronée. Les causes habituelles sont une faute de frappe dans un lien interne, un slug modifié après publication, une différence de casse, une différence de barre oblique finale, une migration de site qui a changé le schéma d'URL, ou un déploiement qui a cessé d'émettre un fichier. La correction consiste à restaurer l'URL ou à la rediriger.

Un véritable retrait signifie que le contenu a disparu et ne reviendra pas : une offre d'emploi expirée, un produit arrêté, une page de compte supprimée. Ici, un 404 est honnête mais paresseux, car il laisse les robots d'exploration retenter et les visiteurs les mains vides.

Façon pratique de les distinguer : une page équivalente existe-t-elle quelque part sur le site aujourd'hui ? Si oui, redirigez. Si non, décidez entre 404 et 410.

410 Gone, l'alternative honnête

410 signifie que la ressource était disponible et a été retirée intentionnellement, et que la situation est censée être permanente. Là où 404 signifie « introuvable », 410 signifie « supprimé exprès, arrêtez de demander ».

Utilisez 410 quand vous retirez délibérément du contenu et n'avez pas de remplacement. C'est le bon signal pour les annonces expirées, les pages de produits arrêtés et le contenu retiré pour raisons légales ou éditoriales. Les moteurs de recherche traitent généralement 410 comme un signal de retrait plus fort et plus rapide que 404, bien que les deux finissent par abandonner l'URL. Comme 404, 410 est mis en cache par défaut.

N'utilisez pas 410 pour quoi que ce soit que vous pourriez restaurer, et ne l'utilisez pas comme gestionnaire général pour des URL inconnues. Si une page de remplacement adaptée existe, une redirection vaut mieux que l'un ou l'autre code, et le choix de la redirection compte : voir 301 vs 302 pour choisir la bonne.

Les soft 404 et pourquoi les moniteurs les manquent

Un soft 404 est une page qui renvoie 200 OK tandis que son contenu dit que la ressource est absente. Cela arrive quand une application attrape sa propre condition de non-trouvé et rend un gabarit aimable « page introuvable » sans définir le code de statut, ou quand une route fourre-tout sert la page d'accueil pour chaque URL non reconnue.

Les moteurs de recherche et les moniteurs de disponibilité lisent alors la même page de façons opposées. Google inspecte le contenu rendu, reconnaît le schéma de contenu manquant et le classe comme soft 404 dans Search Console, donc l'URL n'est pas indexée mais du budget d'exploration y est quand même dépensé et le signal est brouillé. Un moniteur qui compare des codes de statut voit 200 et signale la page comme saine, ce qui explique comment une section entière peut servir un texte « introuvable » à chaque visiteur pendant que le tableau de bord reste vert.

La correction sur le site est de renvoyer un vrai 404 avec la page d'erreur, ce qui ne coûte rien et satisfait les deux lecteurs. La correction en surveillance est d'affirmer aussi sur le contenu en plus du statut : vérifiez qu'une phrase connue de la vraie page est présente, de sorte qu'une page qui renvoie 200 avec le mauvais corps échoue quand même à la vérification.

Comment corriger les 404 dans le bon ordre

  1. Confirmez le code réel, pas la page visible. Un écran d'erreur aimable ne prouve rien :
    curl -sS -o /dev/null -w "%{http_code}\n" https://example.com/missing-page
    Si cela affiche 200 pour une page qui dit « introuvable », vous avez un soft 404.
  2. Trouvez quelles URL sont visées. Les journaux d'accès du serveur et Search Console listent tous deux les URL en 404 avec leur volume. Corrigez par trafic, pas par ordre alphabétique.
  3. Corrigez d'abord les liens internes. Un 404 atteint depuis votre propre navigation est entièrement sous votre contrôle et c'est la correction à plus forte valeur.
  4. Redirigez là où un vrai équivalent existe. Faites correspondre l'ancienne URL à la page actuelle la plus proche, une URL à la fois. Évitez de tout rediriger vers la page d'accueil, ce que les moteurs de recherche traitent aussi comme un soft 404.
  5. Renvoyez 410 pour les retraits délibérés sans remplacement, pour que les robots d'exploration arrêtent de retenter.
  6. Rendez la page 404 utile. La recherche, la navigation principale et les liens populaires récupèrent des visiteurs qu'une simple page d'erreur perd.
  7. Purgez les caches et retestez. Comme 404 est mis en cache, vérifiez l'URL corrigée depuis l'extérieur de votre réseau, pas seulement depuis l'origine.

Vérifier le code et le contenu ensemble

Une modification de slug, une mise à jour de plugin ou un changement de routage casse un ensemble d'URL tandis que la page d'accueil continue de se charger, donc rien n'alerte et personne ne le remarque avant que le trafic ou les conversions ne baissent. Une vérification HTTP programmée sur vos URL importantes compare à la fois le code de statut et le contenu de page attendu, ce qui détecte aussi bien un vrai 404 qu'un soft 404. Pour la famille plus large des codes côté client, et pour distinguer une vraie erreur du client d'une mauvaise configuration du serveur, voir la vue d'ensemble des 4xx.

Vérifier maintenant

Lancez la vérification gratuite sur votre propre site, sans créer de compte.

HTTP check

Surveiller en permanence

Soyez alerté dès que quelque chose casse : HostTracker vérifie depuis plus de 300 emplacements et vous prévient par e-mail, SMS, Slack, Telegram et plus encore.

Fonctionnalités HostTracker

Plus dans cette section: Les codes de statut HTTP expliqués