Erreur 404 sur WordPress : causes, correctifs et prévention

Erreurs 404 sur WordPress : causes, correctifs et prévention SEO

L’essentiel à retenir ℹ️

Une erreur 404 sur WordPress vient presque toujours d’un slug modifié, d’un article supprimé, d’une structure de permaliens changée ou d’un fichier .htaccess absent. Si tout le site tombe sauf l’accueil, c’est la réécriture d’URL qui est cassée, pas votre contenu. Le plugin Redirection et Google Search Console repèrent les URL mortes, une redirection 301 les récupère sans perte de référencement, un code 410 enterre celles qui ne reviendront pas. Gelez vos permaliens dès l’installation, sauvegardez avant chaque mise à jour, soignez votre page 404.

Une erreur 404 sur WordPress renvoie un visiteur sur une page qui n’existe plus. C’est frustrant pour le lecteur, et c’est mauvais pour votre référencement quand le problème se répète. Sur un site WordPress, ces erreurs ont presque toujours une cause identifiable : un slug modifié, une page supprimée, un plugin qui se mêle des permaliens, un fichier .htaccess mal configuré, une migration d’hébergeur qui a laissé les règles de réécriture derrière elle. Vous allez voir comment les détecter, les corriger et surtout les éviter.

Sommaire

Une seule page en 404, ou tout le site ? Commencez par là

Avant de chercher une cause, regardez l’étendue des dégâts. Cette question sépare deux pannes qui n’ont rien à voir, et se tromper de piste coûte facilement une heure.

Une seule page, ou quelques-unes. Le reste du site répond normalement. C’est un problème de contenu ou de lien : un slug modifié, un article supprimé, une adresse mal recopiée. Les causes listées juste après couvrent ce cas, et la correction passe par une redirection.

Tout le site sauf la page d’accueil. L’accueil s’affiche, l’écran de connexion aussi (ce sont de vrais fichiers, ils ne dépendent pas de la réécriture), mais chaque article et chaque catégorie renvoient une 404. Ne cherchez pas du côté du contenu : c’est la réécriture d’URL qui est cassée, et WordPress ne sait plus traduire vos jolies adresses en requêtes qu’il comprend. Filez à la section sur le serveur, plus bas.

La page d’accueil aussi est en 404. Le problème est alors en amont de WordPress : configuration du domaine, racine du site mal pointée chez l’hébergeur, fichiers absents. Ouvrez le gestionnaire de fichiers de votre hébergement et vérifiez que index.php et wp-config.php sont bien à la racine du domaine avant d’aller plus loin.

Causes fréquentes des erreurs 404 sur WordPress

Avant de corriger, il faut comprendre. Voici les six sources que je rencontre le plus souvent sur les sites WordPress que j’audite.

1. Changement de slug ou d’URL sans redirection

Vous renommez l’URL d’un article pour la rendre plus courte ou plus claire. WordPress ne prévient pas : tous les liens externes et internes qui pointent vers l’ancienne adresse renvoient désormais une 404. La règle est simple : à chaque changement de slug, posez une redirection 301 de l’ancienne URL vers la nouvelle.

2. Suppression d’un article ou d’une page

Quand vous supprimez du contenu, les anciennes adresses ne disparaissent pas pour autant : elles restent dans l’index Google, dans les backlinks et dans les marque-pages des visiteurs. Si la page n’a pas d’équivalent, redirigez vers la catégorie parente ou vers la page d’accueil. Si elle a un remplaçant, redirigez directement vers lui.

3. Structure de permaliens cassée

WordPress propose plusieurs structures dans Réglages > Permaliens. Passer de /%postname%/ à /%category%/%postname%/ du jour au lendemain casse tous les anciens liens. Avant de modifier la structure, prévoyez un plan de redirection global, ou ne touchez plus à ce réglage une fois le site en ligne.

LIRE AUSSI  Comment améliorer l'indexation d'un site WordPress ?

4. Plugin de cache ou de SEO mal réglé

Certains plugins réécrivent les permaliens, gèrent des redirections automatiques ou mettent en cache des URL obsolètes. Si une 404 apparaît juste après une mise à jour ou une activation, désactivez le plugin suspect et revérifiez. Les coupables habituels : Yoast SEO, Rank Math, Redirection, WP Super Cache, LiteSpeed Cache.

5. Fichier .htaccess corrompu

Sur un hébergement Apache, le fichier .htaccess à la racine pilote la réécriture d’URL. Une ligne fautive et c’est tout le site qui peut tomber en 404. Pour le régénérer, allez dans Réglages > Permaliens et cliquez sur Enregistrer sans rien modifier : WordPress réécrit le fichier avec la configuration par défaut.

6. Migration ou changement d’hébergeur

C’est le scénario le plus spectaculaire, et celui que je rencontre le plus souvent en dépannage : le site vient d’être déplacé, l’accueil s’affiche parfaitement, tout le reste tombe en 404. Trois causes possibles, par ordre de fréquence.

Le .htaccess n’a pas suivi. C’est un fichier caché, son nom commence par un point, et beaucoup de clients FTP ne l’affichent pas tant qu’on ne le leur a pas demandé. Résultat, il reste sur l’ancien serveur pendant que tout le reste part.

Le nouvel hébergeur ne tourne pas sous Apache. Sous Nginx, le fichier .htaccess n’est jamais lu, quelle que soit la qualité de son contenu. Vous pouvez le régénérer dix fois, il ne se passera rien.

Le domaine a changé sans que les adresses du site suivent. Vérifiez dans Réglages > Général que l’adresse web de WordPress et l’adresse web du site pointent vers le nouveau domaine, en respectant le préfixe exact : avec ou sans www, et en https.

Solutions pour corriger les erreurs 404

Une fois les causes identifiées, il existe plusieurs façons de corriger. Choisissez selon le volume d’URL concernées et votre niveau de confort technique.

Passer par un plugin de redirection

Le plugin Redirection reste la référence gratuite : il détecte automatiquement les changements de slug, propose des redirections 301 et tient un journal des 404 réelles. Yoast SEO propose la même chose, mais uniquement dans sa version Premium. Rank Math, lui, livre ses modules Redirections et 404 Monitor dans sa version gratuite, à condition d’activer le mode avancé du plugin. Pour la majorité des sites, ces plugins SEO suffisent largement, voyez ma sélection des meilleurs plugins SEO pour WordPress.

Vérifier et reconstruire les permaliens

Allez dans Réglages > Permaliens, regardez la structure active, et cliquez sur Enregistrer. C’est la première chose à faire dès qu’une 404 surgit sans raison apparente. Cette manipulation force WordPress à régénérer les règles de réécriture et résout une bonne partie des cas. Si vous travaillez en ligne de commande, l’équivalent est wp rewrite flush via WP-CLI : pratique pour scripter une intervention sur plusieurs sites. Si vous voulez aller plus loin et nettoyer vos URL, lisez comment enlever le préfixe « category » des URL.

Modifier le fichier .htaccess à la main

Pour des redirections ponctuelles ou des règles avancées, l’édition directe du .htaccess reste la méthode la plus rapide. Une redirection 301 d’une ancienne URL vers une nouvelle s’écrit ainsi :

Redirect 301 /ancienne-url/ https://votresite.fr/nouvelle-url/

Faites toujours une copie de sauvegarde avant d’éditer le fichier. Une virgule manquante peut bloquer tout le site, et la récupération passe alors par FTP ou par le gestionnaire de fichiers de l’hébergeur.

Quand le .htaccess ne sert à rien : Nginx et mod_rewrite

Vous avez régénéré vos permaliens, vérifié le .htaccess, et le site reste entièrement en 404 ? Il y a de fortes chances que ce fichier ne soit jamais lu. Trois situations à examiner dans l’ordre.

Votre serveur tourne sous Nginx. Contrairement à Apache et à LiteSpeed, Nginx n’a aucun fichier de configuration par répertoire : le .htaccess y est purement ignoré. Les règles de réécriture vivent dans la configuration du serveur, à laquelle vous n’avez pas la main sur un hébergement mutualisé. La règle attendue par WordPress est celle-ci, et c’est elle que vous demanderez au support de votre hébergeur :

location / {
    try_files $uri $uri/ /index.php?$args;
}

mod_rewrite est désactivé, ou le fichier est ignoré. Sur Apache, la réécriture repose sur le module mod_rewrite, et la prise en compte du fichier dépend de la directive AllowOverride côté serveur. Si l’un des deux manque, votre .htaccess n’est qu’un fichier texte décoratif, et aucun réglage WordPress n’y changera quoi que ce soit. C’est une question à poser au support de l’hébergeur, pas un problème à chercher dans l’administration.

Le fichier n’est pas inscriptible. Quand WordPress ne peut pas y écrire, la page Réglages > Permaliens affiche en bas un encadré avec les règles à recopier à la main. Voici le bloc que WordPress y écrit pour un site classique :

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Collez-le à la racine de votre site, dans le fichier .htaccess, en remplaçant le bloc existant s’il y en a un. Tout ce qui se trouve entre les lignes BEGIN WordPress et END WordPress appartient à WordPress et sera réécrit sans prévenir : vos propres règles se placent en dehors de ces deux lignes, jamais entre elles.

LIRE AUSSI  Tout ce qu'il faut savoir sur le référencement d'un site web

Tenir ses extensions à jour

Un plugin obsolète peut entrer en conflit avec une version récente de WordPress et casser des URL. Vérifiez chaque semaine l’onglet Extensions > Mises à jour et installez les nouvelles versions après une sauvegarde.

Détecter les 404 avec Google Search Console

Vous ne pouvez pas corriger ce que vous ne voyez pas. Google Search Console reste l’outil gratuit le plus précis pour repérer les erreurs 404 que les robots de Google rencontrent réellement.

Dans le menu Indexation > Pages, cherchez la ligne « Introuvable (404) » : Search Console liste toutes les URL qui renvoient une 404 quand le robot tente de les explorer. Exportez la liste, triez par date, et traitez en priorité les URL qui reçoivent encore du trafic ou des backlinks.

Pour chaque URL, deux choix : la rediriger en 301 vers une page équivalente, ou la laisser en 404 si la page n’a aucun équivalent et que personne ne la cherche. Pour un panorama complet, voyez comment soigner l’indexation de ses pages pour le SEO et le guide pour améliorer l’indexation d’un site WordPress.

410 Gone : l’alternative pour un contenu retiré volontairement

Quand une page est supprimée définitivement et n’a aucun équivalent, le code HTTP 410 (Gone) est plus précis qu’une 404. Il dit à Google : « cette ressource a existé, elle est partie pour de bon, ne reviens pas ». Résultat, la désindexation va un peu plus vite : Google cherche souvent à confirmer une 404 avant de retirer l’URL, alors qu’il fait confiance au 410 plus rapidement. L’écart se compte en jours, et à moyen terme les deux codes mènent au même résultat. Le plugin Redirection permet d’envoyer un 410 en deux clics, et un fichier .htaccess accepte la directive Redirect 410 /ancienne-url/. Réservez ce statut aux URL que vous ne ressusciterez jamais : pages d’événements terminés, fiches produits abandonnées, comptes auteurs supprimés.

301, 302 ou 307 : choisir le bon code de redirection

La 301 est permanente. C’est celle qui vous servira dans 95 % des cas : slug modifié, article fusionné avec un autre, refonte de rubrique. Google comprend que l’ancienne adresse est morte et la remplace par la nouvelle dans son index.

La 302 est temporaire. Elle dit à Google de garder l’ancienne URL en mémoire, parce que la page reviendra à son adresse d’origine. Réservez-la aux situations réellement provisoires : une fiche produit en rupture, une page d’opération commerciale, une maintenance de quelques jours. Le code 307 remplit le même rôle en HTTP/1.1 et ne concerne quasiment jamais un site WordPress classique. Une 302 laissée en place pendant des mois finit de toute façon traitée comme une 301 par Google, mais vous aurez perdu du temps entre-temps. Dans le doute : 301.

Éviter les chaînes de redirections

Une 301 vers une autre 301, qui pointe elle-même vers une troisième URL : ce schéma s’installe en silence après plusieurs refontes. Chaque maillon coûte du budget de crawl et fait fuir un peu de jus SEO. Le plugin Redirection détecte ces chaînes et propose de les aplatir d’un clic. Visez toujours une redirection en un seul saut : ancienne URL → URL finale, sans étape intermédiaire.

404 vs soft 404 : ne pas confondre

Une 404 classique renvoie un code HTTP 404 : le serveur dit clairement à Google que la page n’existe pas. Une soft 404, à l’inverse, renvoie un code HTTP 200 (« page trouvée ») mais affiche en réalité un contenu vide ou un message du type « aucun résultat ». Google déteste cette ambiguïté : il considère ces pages comme du contenu pauvre et finit par les désindexer.

Vérifiez le code HTTP renvoyé avec un outil comme httpstatus.io ou l’onglet réseau de votre navigateur. Si une page introuvable répond 200, corrigez le thème ou le plugin qui empêche WordPress de retourner un vrai 404.

Page 404 personnalisée : transformer une impasse en opportunité

Le visiteur tombe sur une page introuvable, c’est inévitable. Ce qui dépend de vous, c’est ce qu’il y trouve. Une page 404 utile contient au minimum :

  • un message clair, sans jargon (« la page que vous cherchez n’existe plus »),
  • un champ de recherche relié au moteur interne de WordPress,
  • des liens vers vos catégories principales ou vos articles les plus lus,
  • un lien direct vers la page d’accueil.

La plupart des thèmes WordPress sérieux fournissent un fichier 404.php par défaut. Vous pouvez le personnaliser via un thème enfant ou via un constructeur visuel comme Elementor ou Kadence Blocks.

Pratiques préventives pour éviter les erreurs 404

La meilleure 404 est celle qui n’arrive jamais. Quelques réflexes à prendre dès la création du site limitent fortement le nombre d’URL cassées.

  • Geler la structure de permaliens à l’installation et ne plus y toucher,
  • Activer un plugin de redirection qui suit les changements de slug en automatique,
  • Auditer ses URL une fois par mois via Google Search Console,
  • Tester les liens internes avec un outil comme Broken Link Checker, en préférant sa version en ligne : la variante qui scanne depuis votre propre serveur peut peser lourd sur la base de données d’un gros site,
  • Faire une sauvegarde avant chaque grosse mise à jour ou refonte.
LIRE AUSSI  Nos conseils pour débuter en référencement Google

Sur un hébergement performant comme o2switch, vous pouvez aussi activer LiteSpeed Cache pour réduire la charge serveur et limiter les 404 liées à la lenteur. Pour suivre l’impact réel sur vos visiteurs, pensez à installer Google Tag Manager et à déclencher un événement à chaque page 404 affichée. Une routine de maintenance WordPress régulière et un protocole solide pour réussir vos mises à jour WordPress évitent la grande majorité des cassures d’URL.

Toutes les 404 ne méritent pas d’être corrigées

Ouvrez le journal des 404 d’un site en ligne depuis six mois : vous y trouverez des dizaines d’adresses que vous n’avez jamais publiées. /xmlrpc.php, /wp-admin/setup-config.php, des chemins vers un readme.txt de plugin, des fichiers .env ou .git. Ce ne sont pas des visiteurs perdus, ce sont des robots qui testent des failles connues en série.

Ne redirigez rien de tout cela. Une 404 propre est exactement la réponse attendue, et renvoyer ce bruit vers la page d’accueil fabrique des soft 404 à la chaîne, ce qui est nettement pire. Le tri tient en deux questions : cette URL a-t-elle déjà existé sur votre site, et reçoit-elle encore un lien ou du trafic ? Si la réponse est non aux deux, laissez-la retourner une 404 et passez à la suivante.

Impact des erreurs 404 sur le SEO

Une 404 isolée n’envoie pas votre site au fond des résultats de recherche. Mais quand les erreurs s’accumulent, l’effet sur le référencement devient mesurable.

Perte de trafic direct : un visiteur qui tombe sur une page introuvable repart. Le taux de rebond grimpe, le temps passé sur le site chute, et Google enregistre ces signaux.

Gaspillage du budget de crawl : Googlebot explore un nombre limité de pages par site et par jour. Google précise que ce budget ne devient un vrai sujet qu’à partir de plusieurs milliers d’URL, mais le raisonnement reste valable partout. Si une partie de ce quota part dans des 404, vos vraies pages mettent plus de temps à être indexées ou réindexées.

Perte de backlinks : si un site externe pointe vers une URL qui renvoie 404, vous perdez le bénéfice de ce lien. Une redirection 301 vers une page équivalente récupère ce lien en entier : Google a confirmé dès 2016 qu’une redirection 3xx ne fait plus perdre de PageRank.

Perception utilisateur dégradée : un site jonché de pages introuvables paraît négligé. Le visiteur doute, ne revient pas, et ne recommande pas.

Une bonne hygiène des URL fait partie du travail de fond du référencement, au même titre que le contenu et les backlinks. C’est moins visible, mais ça paie sur la durée.

Foire aux questions

Une erreur 404 signifie que le serveur n’a trouvé aucune page à l’adresse demandée. Sur WordPress, elle apparaît le plus souvent après un changement de slug, la suppression d’un article ou une modification de la structure des permaliens sans redirection.

Allez dans Réglages puis Permaliens et cliquez sur Enregistrer sans rien changer : WordPress regénère ses règles de réécriture, ce qui règle une bonne partie des cas. Si l’URL a réellement changé, posez une redirection 301 avec le plugin Redirection.

Une 404 isolée n’a aucun impact mesurable, Google la considère comme une réponse normale du web. Le problème commence quand elles se multiplient : budget d’exploration gaspillé, backlinks perdus, visiteurs qui repartent aussitôt.

Une vraie 404 renvoie le code HTTP 404 et indique clairement à Google que la page n’existe pas. Une soft 404 renvoie un code 200 sur une page vide ou sans contenu utile, ce que Google traite comme du contenu pauvre.

Non. Redirigez uniquement les URL qui ont un équivalent logique ou qui reçoivent encore du trafic et des liens entrants. Une page définitivement supprimée peut très bien rester en 404, et les 404 générées par des robots ne doivent jamais être redirigées.

La 301 est permanente : Google remplace l’ancienne adresse par la nouvelle dans son index. La 302 est temporaire et conserve l’ancienne URL indexee, ce qui n’a de sens que si la page revient vraiment à son adresse d’origine. Dans le doute, choisissez la 301.

Non. Google a confirmé en 2016 qu’aucune redirection 3xx ne fait perdre de PageRank. Le bénéfice du lien entrant est transmis en entier, à condition que la redirection pointe vers une page équivalente et non vers la page d’accueil.

Le plugin gratuit Redirection reste le plus utilisé : il repère les changements de slug et tient un journal des 404 réelles. Rank Math propose ses modules Redirections et 404 Monitor gratuitement une fois le mode avancé activé, alors que Yoast réserve le sien à sa version Premium.

Ouvrez l’onglet Réseau de votre navigateur et regardez le statut de la première requête, ou utilisez un vérificateur en ligne comme httpstatus.io. En ligne de commande, curl -I suivi de l’URL affiche l’en-tête de réponse. Si une page introuvable répond 200, votre thème fabrique des soft 404.

Connectez-vous à Google Search Console, ouvrez le menu Indexation puis Pages, et cherchez la ligne Introuvable (404). Vous obtenez la liste des URL qui ont renvoyé une 404 lors du dernier passage du robot, exportable en un clic.

C’est la signature d’une réécriture d’URL cassée, pas d’un problème de contenu. Allez dans Réglages puis Permaliens et cliquez sur Enregistrer. Si les 404 persistent, votre fichier .htaccess est absent ou non inscriptible, ou votre serveur tourne sous Nginx, qui ne lit jamais ce fichier.

Le .htaccess est un fichier caché que beaucoup d’outils de transfert oublient, et Nginx ne le lit pas du tout. Regénérez-le en enregistrant vos permaliens, vérifiez que mod_rewrite est actif chez le nouvel hébergeur, et contrôlez dans Réglages puis Général que les adresses du site correspondent au nouveau domaine.

Steve Chevillard

A propos de Steve Chevillard

Je suis responsable du numérique pour Philo éditions (Philosophie magazine, Sciences Humaines, Philonomist) et j'utilise WordPress depuis la fin des années 2000. J'ai créé astuceswp.fr en 2018 pour partager mon expérience et aider ceux qui veulent se lancer sur WordPress ou aller plus loin avec leur site. Je publie des tutoriels pratiques sur WordPress, l'hébergement, le SEO et les outils numériques, en essayant de rester le plus clair et accessible possible. Mon objectif : vous donner les clés pour être autonome sur votre site, sans vous noyer dans le jargon technique.