Une soft 404Code HTTP indiquant qu'une page n'existe pas. Trop d'erreurs 404 nuisent au crawl budget., c'est une URL qui répond 200 OK alors que la page affichée dit, ou laisse penser, qu'il n'y a rien à voir. Google la requalifie lui-même en erreur, la sort de l'index et la range dans le rapport « Soft 404 » de la Search ConsoleOutil gratuit Google pour surveiller et optimiser la présence d'un site dans les résultats de recherche.. Ton serveur affirme que la page existe, le contenu dit le contraire, et GooglebotRobot d'exploration de Google qui parcourt le web pour découvrir et indexer les pages. croit le contenu.
Pour corriger, tu as cinq options : rendre la page vraiment utile (200), la rediriger en 301Redirection permanente transférant le jus SEO de l'ancienne URL vers la nouvelle. vers un équivalent, renvoyer une vraie 404 ou une 410, ou la laisser accessible en noindexDirective indiquant aux moteurs de ne pas indexer une page.. Selon le cas, une seule est la bonne. Et tu ne fais pas ce choix URL par URL, tu le fais pattern par pattern.
Le réflexe le plus répandu, c'est d'ajouter du texte sur la page pour la faire sortir du rapport. C'est presque toujours une erreur. Une soft 404 est un mensonge HTTP : ton site renvoie 200 par défaut sur des URL qui n'ont plus de raison d'exister. Tant que la règle qui produit ce 200 reste en place, tu en crées de nouvelles plus vite que tu ne traites les anciennes.
Soft 404, 404, 410 : ce que dit ton serveur et ce que Google en retient
Google ne s'arrête pas au code de statut. Il compare ce que l'en-tête annonce avec ce que la page affiche une fois rendue, et quand les deux divergent, c'est le rendu qui gagne.
Pour l'internaute, une soft 404 et une vraie 404 peuvent être strictement identiques : même gabarit, même message « page introuvable », mêmes liens vers les catégories. La seule différence se trouve dans la réponse HTTP, que personne ne regarde à part les robots. C'est pour ça que le problème traîne si longtemps sur la plupart des sites. À l'écran, rien n'a l'air cassé.
| Situation | Réponse serveur | Ce que voit l'internaute | Traitement par Google |
|---|---|---|---|
| Vraie 404 | 404 | Page d'erreur, personnalisée ou non | Retirée de l'index, explorée de moins en moins souvent |
| 410 | 410 | Idem | Quasi identique à la 404, avec un signal de suppression plus explicite |
| Soft 404 | 200 | Message d'erreur ou page presque vide | Requalifiée en erreur, non indexée, mais toujours explorée |
| Redirection vers la home | 301 puis 200 | Page d'accueil sans rapport avec l'URL demandée | Souvent traitée comme une soft 404 |
| Noindex | 200 + noindex | Page normale | Explorée, non indexée, sans être une erreur |
Pourquoi Google requalifie ta page
La documentation de Google définit la soft 404 comme une URL qui renvoie un code de succès sur une page indiquant que la ressource n'existe pas. Dans les faits, la détection est heuristique et va plus loin que les messages explicites. Elle attrape aussi les listings vides, les fiches réduites à un titre et une image, et les gabarits dont le bloc principal n'a pas chargé. La définition d'Abondance le résume bien : un code « OK » sur une page qui n'a rien d'OK.
Qui dit heuristique dit faux positifs. Une page contact très courte ou une fiche produitPage dédiée à un produit, devant être optimisée avec description unique, images et données structurées. sans description peuvent remonter dans le rapport alors qu'elles doivent exister. On y revient dans la matrice de décision.
Les mécanismes qui fabriquent des soft 404 en série
La page supprimée dont la route répond toujours
C'est la cause qu'on croise le plus en e-commerce. Le produit est désactivé dans le back-office, mais le routeur résout toujours l'URL et le gabarit affiche « Ce produit n'est plus disponible » avec un 200. Côté métier, le CMS a fait ce qu'on lui demandait. Personne ne lui a demandé de changer la réponse HTTP.
Le contenu vide ou trop mince
Recherches internes sans résultat, catégories dont tout le stock est épuisé, archives de tags avec un seul article, pages de pagination au-delà de la dernière page réelle (?page=47 sur un listing qui en compte 12). Le serveur génère une page valide, mais vide. Google les classe en soft 404 sans hésiter.
La redirection de masse vers la page d'accueil
Un plugin ou une règle « catch-all » renvoie toute URL inconnue vers la home. Sur le papier, c'est propre : plus aucune erreur visible. Sauf que John Mueller l'a répété plusieurs fois, une redirection sans rapport avec le contenu demandé est traitée comme une soft 404. Tu as juste ajouté un saut de redirection à ton erreur.
Le gabarit qui casse sans changer de statut
Une API produit qui ne répond plus, un include côté serveur introuvable, un bloc chargé en JavaScriptLangage de programmation web. Son mauvais usage peut bloquer l'indexation par les moteurs de recherche. que le rendu de Google n'exécute pas. Le header, le footer et le menu s'affichent, le contenu principal non. Le serveur renvoie 200 parce que, de son point de vue, il a bien servi du HTML. C'est le cas le plus sournois : la page doit exister, elle est juste cassée.
Détecter une soft 404 : la Search Console pour l'alerte, les logs pour le volume réel
La plupart des articles sur le sujet s'arrêtent au rapport Search Console : tu l'ouvres, tu cliques sur les URL, tu corriges. Au-delà de quelques milliers de pages, cette méthode te fait traiter des symptômes un par un pendant que le template continue d'en produire. Ce que tu cherches, ce sont les règles qui génèrent les soft 404.
Lire le rapport Soft 404 sans se noyer
Dans la Search Console : IndexationProcessus par lequel Google ajoute une page à sa base de données pour qu'elle puisse apparaître dans les résultats. > Pages, section « Pourquoi les pages ne sont pas indexées », ligne « Soft 404 ». Le rapport affiche un échantillon d'URL (1 000 au maximum à l'export), pas la liste complète. Tu exportes, puis tu regroupes par pattern d'URL avant de prendre la moindre décision.
Sur un site e-commerce, un export regroupé ressemble à ça (exemple illustratif) :
Pattern URLsUniform Resource Locator. Adresse unique d'une page web. Une URL optimisée est courte, descriptive et contient le mot-clé. Exemple
/recherche?q=* 412 /recherche?q=chaussure+rouge+42
/c/*?couleur=*&Accelerated Mobile Pages. Framework Google pour créer des pages mobiles ultra-rapides (moins utilisé aujourd'hui).;taille=* 287 /c/baskets?couleur=vert&taille=48
/p/* (fiches désactivées) 163 /p/sneaker-xyz-2023
/blog/tag/* 58 /blog/tag/promo-noel
redirections legacy vers / 21 /ancien-catalogue/sandales -> /
Cinq lignes, donc cinq décisions au lieu de 941 tickets. Pour chaque pattern, passe ensuite deux ou trois URL dans l'outil d'inspection et lance « Tester l'URL en ligne ». La capture d'écran et le HTML rendu te disent tout de suite si Google voit un message d'erreur (problème de statut) ou un gabarit vide (problème de rendu). Les deux se corrigent de façon opposée.
Vérifier une URL à la main en trente secondes
Deux commandes suffisent pour voir ce que le serveur répond vraiment :
curl -s -o page.html -L -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" \
-w "%{http_code} %{size_download} %{num_redirects} %{url_effective}\n" \
"httpsProtocole sécurisé de transfert de données. Facteur de ranking depuis 2014.://www.exemple.fr/p/sneaker-xyz-2023"
grep -iE "introuvable|n'existe plus|aucun résultat|0 produit|indisponible" page.html
La première sort le code final, le poids du HTML, le nombre de redirections et l'URL d'arrivée. La seconde cherche les formulations d'erreur dans le contenu. Un 200 nettement plus léger que les pages saines du même gabarit, avec un match sur « indisponible » : soft 404 confirmée. Un 200 après une redirection vers / : redirection de masse. Le user-agent Googlebot est là parce que certains serveurs et CDNContent Delivery Network. Réseau de serveurs distribuant le contenu depuis le serveur le plus proche de l'utilisateur. ne répondent pas pareil aux robots et aux navigateurs.
Croiser avec les logs Googlebot
Le rapport GSC arrive en retard et ne montre qu'un échantillon. Les logs serveur, eux, montrent ce que Googlebot explore chaque jour. Sur un log au format combined, cette commande liste les réponses 200 les plus légères servies à Googlebot :
grep "Googlebot" access.log \
| awk '$9 == 200 {print $10, $7}' \
| sort -n | head -200
Celle-ci compte les hits par famille d'URL, pour mesurer le poids de chaque pattern suspect :
grep "Googlebot" access.log \
| awk '$9 == 200 {print $7}' \
| sed -E 's#\?.*##; s#^(/[^/]+/).*#\1#' \
| sort | uniq -c | sort -rn | head -30
Raisonne en part des hits Googlebot : combien de requêtesTerme ou expression que les utilisateurs saisissent dans un moteur de recherche. Base de toute stratégie SEO. partent sur /recherche, sur les combinaisons de filtresSystème de filtres (taille, couleur, prix) générant de nombreuses URLs. Nécessite une gestion SEO. vides, sur les fiches désactivées, face aux fiches produit actives. Chez Slashr, la règle est simple : dès qu'une famille de soft 404 reçoit plus de visites Googlebot qu'une famille de pages qui font du chiffre d'affaires, elle passe en P0.
Deux pièges reviennent tout le temps. Le premier, c'est d'analyser les logsFichiers enregistrant toutes les requêtes reçues par un serveur, permettant d'analyser le comportement des bots. de l'origine alors qu'un CDN sert une partie des réponses depuis son cache. Ces hits n'atteignent jamais l'origine et tu sous-estimes le volume, il te faut les logs du CDN. Le second, c'est de filtrer sur la chaîne « Googlebot » sans vérifier l'IP, alors qu'une partie du trafic qui se déclare Googlebot n'en est pas. Une résolution DNS inverse élimine les faux : host 66.249.66.1 doit renvoyer un nom en googlebot.com ou google.com, qui doit lui-même pointer vers la même IP.
La matrice de décision pour corriger chaque soft 404
Beaucoup d'agences vendent un « nettoyage des soft 404 » sous forme de tableur d'URL à traiter. Je prAlgorithme historique de Google évaluant l'importance d'une page selon ses backlinks. Toujours utilisé en interne.éfère décider du statut de chaque famille d'URL et inscrire cette décision dans le code du CMS. Une correction qui ne vit que dans un fichier de redirections maintenu à la main saute au prochain import catalogue.
| Ce que tu observes | Cause probable | Réponse serveur cible | Action dans le code |
|---|---|---|---|
| Fiche désactivée, message « indisponible » | Route active sur produit supprimé | 301 si un remplaçant proche existe, sinon 410 | Hook de désactivation produit qui change le statut |
| Recherche interne à zéro résultat | Page générée à la volée | 404, ou 200 + noindex | Statut conditionné au nombre de résultats |
| Catégorie temporairement vide | Rupture de stock | 200 + noindex tant que vide | Règle automatique selon le stock |
| Ancienne URL redirigée vers la home | Règle catch-all | 404, ou 301 vers l'équivalent exact | Supprimer la règle, mapper les URL qui ont des backlinksLien provenant d'un site externe pointant vers votre site. Facteur de ranking majeur. |
| Page légitime mais gabarit vide au rendu | API, include ou JS en échec | 200 après correction | Corriger le rendu, renvoyer un 5xx si la dépendance tombe |
Si la page doit exister, répare le rendu avant le texte
Un gabarit vide à l'inspection veut dire que le bloc principal ne s'affiche pas pour Google. Trois paragraphes de plus n'y changeront rien si ce sont les données produit qui ne chargent pas. Corrige la dépendance, puis fais en sorte qu'une panne renvoie un 503 plutôt qu'un 200 vide : Google repassera plus tard au lieu de classer la page en soft 404.
Si la page s'affiche bien mais reste très pauvre (fiche sans description, catégorie avec un seul produit), là, oui, c'est un sujet de contenu. Pose-toi quand même la question honnête avant d'écrire : cette page mérite-t-elle d'être indexée ? Sur un catalogue de plusieurs milliers de références, beaucoup de fiches ne passent pas ce test.
Si la page a été déplacée
Une 301 vers un équivalent réel : même produit sous une nouvelle référence, successeur direct, catégorie renommée. Le test : un internaute arrivé par l'ancienne URL trouve-t-il ce qu'il cherchait sur la nouvelle ? Si la réponse est « à peu près », ce n'est pas un équivalent, et Google risque de traiter la redirection comme une soft 404.
Si la page n'existe plus
Une 404 ou une 410, avec une page d'erreur utile pour l'humain : recherche, catégories principales, produits proches. Côté Google, les deux codes ont des effets très proches. La 410 dit plus clairement « supprimée volontairement », ce qui la rend intéressante pour des suppressions en masse assumées. Franchement, le débat 404 contre 410 coûte en général plus de temps qu'il ne rapporte.
Si la page doit rester accessible mais non indexée
Une balise meta robots noindex, ou un en-tête X-Robots-Tag: noindex pour les ressources non HTML. L'URL reste explorable, Google lit la directive et la page sort de l'index sans compter comme une erreur. C'est la bonne réponse pour les catégories temporairement vides et pour les pages utiles au parcours mais sans valeur de recherche.
Une fois le correctif en ligne, le bouton « Valider la correction » de la Search Console relance une vérification. Compte quelques jours à plusieurs semaines selon le volume. Si de nouvelles URL du même pattern apparaissent entre-temps, la règle qui les génère tourne toujours.
Soft 404 en e-commerce, sur WordPress et en JavaScript
Produit en rupture ou retiré du catalogue
Une rupture temporaire ne pose pas de problème si la fiche reste complète : garde le 200, affiche la disponibilité et passe availability à OutOfStock dans les données structurées Product. Une fiche qui se réduit à « produit indisponible », elle, finira en soft 404. Pour un retrait définitif, reviens à la matrice : 301 vers le successeur ou 410.
Catégories, filtres et recherche interne à zéro résultat
C'est le gros réservoir. Chaque combinaison de filtres crawlable peut produire une page vide, et une navigation à facettes en génère des milliers. La correction tient en une condition : si le listing renvoie zéro produit, le serveur répond 404 (ou ajoute un noindex), et les liens vers les combinaisons vides ne sont pas rendus en HTML. Quant à la recherche interne, elle n'a presque jamais vocation à être explorée.
WordPress : archives, pièces jointes et plugins de redirection
Sur WordPress, les suspects habituels sont les archives de tags maigres, les archives d'auteur sur les sites mono-auteur et les pages de pièces jointes. Depuis la version 6.4, les nouvelles installations redirigent les pièces jointes vers le fichier, mais les sites plus anciens gardent souvent l'ancien comportement. Les plugins qui « redirigent toutes les 404 vers l'accueil », je les désinstalle sans discuter.
Les SPA qui répondent 200 à tout
Une application rendue côté client renvoie le même index.html avec un 200 pour n'importe quelle route, y compris celles qui n'existent pas. La documentation JavaScript SEOSearch Engine Optimization. Ensemble des techniques visant à améliorer le positionnement d'un site web dans les résultats naturels des moteurs de recherche. de Google propose deux sorties : rediriger en JavaScript vers une URL pour laquelle le serveur renvoie un vrai 404, ou injecter un noindex quand la route ne résout rien. Les frameworks avec rendu serveur règlent le problème proprement, à condition que les devs appellent la fonction prévue (notFound() sur Next.js, par exemple) au lieu d'afficher un composant d'erreur.
Ce que les soft 404 coûtent vraiment
Le coût le plus concret, c'est l'explorationProcessus par lequel les robots des moteurs de recherche parcourent et analysent les pages web.. Le guide de Google sur le budget d'exploration le dit en toutes lettres : les soft 404 continuent d'être explorées et gaspillent ce budget. Une vraie 404 voit sa fréquence d'exploration baisser avec le temps. Une soft 404, elle, ressemble à une page vivante, donc Googlebot revient. Le même guide précise que le budget d'exploration concerne surtout les gros sites. Sur un blog de 300 pages, quelques soft 404 ne bloquent rien. Sur un catalogue à facettes, c'est une autre histoire : Googlebot passe son temps sur des pages vides pendant que les nouvelles fiches attendent.
Il y a aussi la qualité perçue. Un site qui sert des milliers de 200 incohérents envoie un mauvais signal sur ses gabarits. Search Engine Land a documenté un cas où des soft 404 et des problèmes d'indexation ont accompagné une chute de trafic d'environ 90 %. C'est un cas extrême, mais il montre jusqu'où ça peut aller quand des templates entiers sont touchés.
Le dernier coût est moins discuté, et c'est celui qui me gêne le plus. La requalification en soft 404 est une décision de Google. Rien ne garantit que les autres robots, crawlers des moteurs IA compris, fassent la même analyse. Une page qui répond 200 avec « produit introuvable » peut très bien être récupérée comme source valide. Je n'ai pas de chiffres pour mesurer l'ampleur du phénomène. Mais si ton objectif est d'être cité par les moteurs génératifs, un code HTTP honnête protège mieux ta citabilité qu'un rapport Search Console à zéro.
Le robots.txt ne règle pas une soft 404
Bloquer un pattern de soft 404 dans le robots.txtFichier texte à la racine d'un site indiquant aux robots quelles pages explorer ou ignorer. empêche Googlebot de l'explorer, donc de constater que la page est vide. Les URL déjà connues peuvent rester indexées sans contenu, et tu ne peux plus transmettre ni 404 ni noindex. Le robots.txt a sa place après coup, pour fermer des espaces d'exploration infinis une fois qu'ils sont proprement désindexés.
Garder les codes HTTP sous contrôle après la correction
Une soft 404 corrigée revient presque toujours par la même porte : un import catalogue, une refonteModification majeure du design ou de la structure d'un site. Risque SEO si mal gérée. de template, un plugin mis à jour. Le contrôle a donc sa place dans le cycle de déploiement. Un audit annuel arrive trop tard.
Le minimum, c'est une liste d'URL témoins par gabarit (fiche active, fiche désactivée, catégorie vide, recherche sans résultat, URL inventée) que tu testes à chaque mise en production avec la commande curl vue plus haut. Le pipeline échoue si une URL inventée renvoie autre chose que 404, ou si une fiche désactivée renvoie 200. Côté monitoring, suis chaque semaine la part des hits Googlebot sur les patterns à risque : tu verras une régression bien avant que la Search Console ne l'affiche.
Les moments où un nouvel audit s'impose sont prévisibles : migration, refonte du listing, changement de moteur de recherche interne, ajout de facettes. Le reste du temps, méfie-toi d'un rapport Soft 404 qui reste stable. Ça peut simplement vouloir dire que Google a cessé d'échantillonner un pattern qu'il explore toujours.
Questions fréquentes
Une soft 404 peut-elle pénaliser tout le site ?
Il n'y a pas de pénalité au sens manuel. Les pages concernées sortent de l'index, le domaine n'est pas sanctionné. L'effet global passe par d'autres canaux : exploration détournée des pages utiles, gabarits perçus comme peu fiables, indexation plus lente des nouveautés. Sur un petit site, l'impact est négligeable. Sur un catalogue avec des facettes ou une recherche interne crawlable, il se voit dans les logs.
Une page 404 personnalisée avec beaucoup de contenu pose-t-elle un problème ?
Non, tant que le code renvoyé est bien 404. Tu peux y mettre un moteur de recherche, des catégories, des produits populaires : Google lit le statut et n'indexe pas la page. Le risque est dans l'autre sens. Une page d'erreur très riche servie avec un 200 ressemble à une vraie page, et c'est exactement comme ça qu'on fabrique une soft 404.
Que faire d'une soft 404 qui reçoit des backlinks ?
Si un équivalent réel existe, une 301 vers cet équivalent récupère la valeur des liens et sert l'internaute. Sinon, une 404 propre vaut mieux qu'une redirection vers la home : les liens ne transmettront plus rien, mais tu n'ajoutes pas de signal trompeur. Fais ce tri sur les URL qui ont des référents, inutile de passer tout le rapport.
Une page en noindex peut-elle apparaître dans le rapport Soft 404 ?
En principe, une page en noindex remonte sous le motif « Exclue par la balise noindex ». Si une URL que tu crois en noindex apparaît en soft 404, c'est en général que la directive n'est pas lue : injectée trop tard en JavaScript, absente de la version servie à Googlebot, ou bloquée par le robots.txt. L'inspection d'URL te montre ce que Google a vraiment reçu.
Tags

Co-fondateur & SEO Director
Benoît Demonchaux est co-fondateur de Slashr, agence de référencement naturel basée à Lille et consultant SEO depuis 6 ans. Avant de créer Slashr, il a exercé en tant qu'éditeur de sites et chef de projets dans une grande agence SEO.
Voir tous ses articlesArticles similaires
Plugin WordPress SEO : le choix compte moins que la config
Tu cherches quelle extension installer. Prends Rank Math ou SEOPress si tu pars d'un site neuf. Garde Yoast si ton WordPress tourne dessus depuis trois ans sans...
Snippet SEO : pourquoi la position 0 n'est plus un objectif de trafic
Trois objets différents portent le même nom dans les SERP. De là vient la plupart des malentendus sur le sujet, y compris chez des gens qui font du SEO depuis d...
Sitemap SEO : créer, segmenter et auditer ton fichier XML
Le sitemap est le fichier le plus survendu du SEO technique. On te le vend comme un accélérateur d'indexation. C'est faux : aucun sitemap n'a jamais fait indexe...


