Test soft 404
Une page qui n’existe pas devrait répondre avec le statut 404. Beaucoup de sites répondent 200 à la place, ou renvoient discrètement le visiteur vers la page d’accueil. Ce test demande à votre serveur deux adresses qui ne peuvent pas exister et vous dit ce qu’il répond.
Chaque réponse porte un numéro que le visiteur ne voit jamais
Quand un serveur répond à une requête, la première ligne de sa réponse est un code de statut à trois chiffres. La page vient ensuite. Les gens lisent la page et les logiciels lisent le numéro. 200 veut dire « voici ce que vous avez demandé », 301 « c’est déménagé, allez voir là-bas », 404 « il n’y a rien à cette adresse » et 410 « cela a été retiré volontairement ».
Un soft 404 apparaît quand les deux ne s’accordent pas. Le texte à l’écran dit que la page est introuvable, ou le visiteur atterrit discrètement sur la page d’accueil, alors que le numéro dit 200. Les moteurs de recherche continuent alors d’explorer, parfois d’indexer, des adresses qui ne mènent nulle part. Les vérificateurs de liens déclarent saines toutes les pages mortes. Les moniteurs de disponibilité restent au vert pendant qu’une section entière du site a disparu.
Ce que le test demande et comment il juge
Notre serveur construit deux adresses à partir de caractères aléatoires, pour qu’elles ne puissent pas correspondre à une vraie page. L’une a la forme d’un dossier (/probe-check-k7m2x9qa4t/) et l’autre celle d’un fichier (/h3n8v2c5w7pq.html). Nous utilisons deux formes parce qu’un serveur web répond souvent lui-même aux demandes qui ressemblent à des fichiers et confie tout le reste au CMS. Les redirections sont suivies et le code de chaque étape est conservé. Si le site ne répond pas du tout en HTTPS, le test se rabat sur le HTTP simple.
| Ce qui est revenu | Verdict |
|---|---|
404 ou 410 à l’adresse demandée | Correct. |
Une redirection qui aboutit à une page 404 | Avertissement. Les robots la comprennent, mais l’adresse tapée par le visiteur est remplacée dans la barre du navigateur. |
200 à l’adresse demandée | Soft 404. |
Une redirection vers la page d’accueil (/, /en, /index.php) qui répond 200 | Soft 404. |
Une redirection vers n’importe quelle autre page qui répond 200 | Soft 404. |
500 et plus | Erreur. Quelque chose plante sur les adresses inconnues. |
401 ou 403 | Avertissement. Souvent une règle de pare-feu qui répond avant le site. |
La page d’erreur est aussi examinée
Quand le code est bon, le test lit le HTML de la page d’erreur et cherche ce dont un visiteur perdu aurait besoin :
- Un chemin vers l’accueil. Tout lien vers la racine du site ou d’une version linguistique compte, y compris un logo cliquable.
- Une explication. Le titre, le titre principal ou le texte doit contenir quelque chose comme « 404 », « introuvable », « n’existe pas » ou « désolé ». Moins de 15 mots de contenu, sans l’en-tête, le menu et le pied de page, est signalé comme trop mince.
- Un champ de recherche. S’il n’y en a pas, vous recevez une remarque. Ce n’est pas compté comme une faute.
- Une balise
<title>et un attributlang, pour que les onglets du navigateur et les lecteurs d’écran aient quelque chose à annoncer. - Le poids. Plus de 500 KB de HTML est signalé, car les robots demandent des adresses inexistantes toute la journée.
La page par défaut de nginx, Apache, IIS ou LiteSpeed est reconnue et indiquée comme telle. Elle n’a ni logo ni liens, si bien que les visiteurs croient avoir quitté votre site. Vous êtes aussi averti quand les deux adresses de test reçoivent des pages nettement différentes, ce qui veut dire que le serveur web et le CMS ont chacun la leur.
Transformer un soft 404 en vrai 404
- Apache
ErrorDocument 404 /404.html. Donnez un chemin local. Avec une URL complète, Apache envoie une redirection et le code final devient200.- nginx
error_page 404 /404.html;. Retirez tout=200placé entre404et le chemin.- WordPress
- Le cœur répond déjà
404. Cherchez une extension de redirection ou de SEO avec une option du genre « rediriger les 404 vers la page d’accueil » et désactivez-la. - Applications monopage
- Une réécriture générale vers
index.htmlrépond200à tout. Générez les routes inconnues côté serveur avec le statut404, ou laissez l’hébergeur s’en charger (Netlify et Cloudflare Pages servent un404.htmlà la racine avec le bon code).
Vérifiez votre changement depuis un terminal avec curl -I https://example.com/no-such-page, qui affiche d’abord la ligne de statut.
Deux adresses aléatoires à la racine ne couvrent pas tout un site. Une boutique, un forum ou un blog installé dans un sous-dossier peut se comporter autrement, alors testez à la main une adresse inventée à cet endroit. Nous n’exécutons aucun script, donc un message d’erreur dessiné par JavaScript est invisible ici. Et une vraie page simplement vide, que les moteurs de recherche étiquettent aussi « soft 404 », ne peut pas être détectée de l’extérieur.
Questions fréquentes
Qu’est-ce qu’une erreur soft 404 ?
Une réponse qui dit aux gens que la page est introuvable et dit aux logiciels que tout va bien. Elle prend le plus souvent l’une de deux formes : une page « introuvable » servie avec le statut 200, ou une adresse inconnue redirigée vers la page d’accueil.
Rediriger toutes les pages 404 vers l’accueil nuit-il au SEO ?
Oui. Google traite une redirection générale vers la page d’accueil comme un soft 404, donc elle ne transmet aucune valeur et les visiteurs ne comprennent pas pourquoi ils sont arrivés là. Ne redirigez une ancienne adresse que vers la page qui l’a remplacée, avec un 301 et laissez le reste répondre 404.
Une page supprimée doit-elle renvoyer 404 ou 410 ?
Les deux sont corrects. 410 Gone indique que le retrait est volontaire et définitif et les moteurs de recherche ont tendance à oublier l’adresse un peu plus vite. Utilisez 404 quand vous n’êtes pas sûr que la page ait déjà existé.
Les erreurs 404 nuisent-elles à mon classement ?
Non. Les adresses inexistantes font partie du fonctionnement normal du web et ne sont pas reprochées à un site. Ce qui vous coûte vraiment, c’est un lien de vos propres pages qui pointe vers l’une d’elles, ou une ancienne page populaire qui répond maintenant 404 alors qu’elle pourrait rediriger vers son successeur.
Pourquoi Search Console signale-t-il un soft 404 sur une page qui existe ?
Google utilise aussi cette étiquette pour de vraies pages qui semblent vides : une catégorie sans produits, une recherche sans résultats, une page dont le contenu n’a pas pu se charger. Ajoutez du contenu, ou renvoyez 404 si la page n’a aucune raison d’exister.
Comment voir moi-même le code de statut d’une page ?
Ouvrez les outils de développement du navigateur, choisissez l’onglet Réseau et rechargez. La première ligne affiche le code. Depuis un terminal, curl -I suivi de l’adresse donne le même résultat.