Erreur 404 sur WordPress : vos pages ont disparu ?
L'accueil s'affiche, mais toutes les autres pages répondent « Page introuvable » ou « Not Found ». Ou bien une seule page a disparu. Rassurez-vous : dans l'immense majorité des cas, vos contenus sont intacts dans la base de données. C'est le chemin pour y accéder qui est cassé.
Deux pannes qui se ressemblent
- Toutes les pages en 404, sauf l'accueil : les règles de réécriture d'adresses (les « permaliens ») ne sont plus appliquées. Panne du site entier, correction en deux minutes le plus souvent.
- Une seule page en 404 : c'est cette page qui a changé (adresse, statut, type de contenu). Le reste du site n'a rien.
La différence se voit aussi à la page d'erreur : si c'est la page 404 de votre thème, WordPress fonctionne et ne trouve pas le contenu. Si c'est une page grise « Not Found » du serveur, la requête n'arrive même pas jusqu'à WordPress.
1. Toutes les pages en 404 : régénérez les permaliens
C'est la première chose à faire, et elle suffit souvent :
- Connectez-vous à l'administration.
- Ouvrez Réglages → Permaliens.
- Sans rien changer, cliquez sur Enregistrer les modifications.
WordPress reconstruit ses règles de réécriture et, s'il en a le droit, réécrit la partie qui le concerne dans le fichier .htaccess. Rechargez une page : si elle s'affiche, c'est réglé.
2. Vérifiez le fichier .htaccess
Si la manipulation n'a rien changé, ouvrez le fichier .htaccess à la racine du site (là où se trouve wp-config.php) avec le gestionnaire de fichiers de l'hébergeur. Il doit contenir ce bloc :
# 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
Si WordPress est installé dans un sous-dossier (par exemple /blog/), les lignes RewriteBase et la dernière RewriteRule portent ce sous-dossier : RewriteBase /blog/ et RewriteRule . /blog/index.php [L].
.htaccess commence par un point : c'est un fichier caché, que beaucoup de logiciels FTP n'affichent pas et ne copient donc pas. Le site arrive sur le nouvel hébergement sans lui, et seul l'accueil fonctionne. Pensez aussi à la checklist après une migration de site.Sur un serveur Nginx pur, le fichier .htaccess n'est pas lu : les règles équivalentes se placent dans la configuration du serveur, ce qui relève de l'hébergeur.
3. Une seule page en 404
- Son adresse a changé : modifier le titre d'une page publiée peut modifier son identifiant (le « slug »). WordPress redirige souvent l'ancienne adresse d'un article, rarement celle d'une page.
- Elle n'est plus publiée : repassée en brouillon, programmée, protégée ou mise à la corbeille.
- Son extension est désactivée : produits WooCommerce, événements, portfolio… ces contenus appartiennent à un « type de contenu » créé par une extension. Extension désactivée, contenus introuvables.
- Un dossier porte le même nom : une page
/boutiquealors qu'un dossierboutiqueexiste sur le serveur. Le serveur sert le dossier, pas la page.
4. Des 404 dans Google Search Console
Après une refonte ou un changement de structure des adresses, Google continue de visiter les anciennes. Ce n'est pas une panne, mais chaque ancienne adresse qui avait des visites ou des liens mérite une redirection 301 vers la nouvelle, avec une extension comme Redirection ou avec votre extension SEO. Les adresses qui n'ont jamais eu de trafic peuvent rester en 404 : c'est une réponse normale.
Quand me confier la panne
Si les pages restent introuvables, ou si une migration a laissé des centaines d'adresses cassées : je rétablis les règles de réécriture, je retrouve les contenus et je pose les redirections nécessaires pour ne rien perdre dans Google. Réparation de 80 à 250 € selon l'ampleur, diagnostic gratuit, remboursée si je n'y arrive pas.
Des pages introuvables ?
Envoyez-moi une adresse qui ne répond plus, je vous dis pourquoi, sans engagement.
Demander mon diagnostic gratuit →