WordPress 404 sur toutes les pages sauf l’accueil après un déménagement : Apache, Nginx et quoi vérifier
Quand, après un déménagement de WordPress, seule la page d’accueil fonctionne et toutes les autres pages affichent une 404, le contenu est en général intact. Ce qui manque, ce sont les règles qui traduisent une jolie adresse vers le bon article. Sous Apache et LiteSpeed, le fichier .htaccess s’en charge, sous Nginx la configuration du serveur. Réenregistrez d’abord les permaliens, puis vérifiez le serveur.
Auteur: L’équipe TellMyShop. Un guide pour les propriétaires de sites WordPress et de boutiques WooCommerce : la cause, la correction manuelle et le même travail dans une conversation avec le chat.
Dernière mise à jour: · 7 min de lecture
Comment savoir que c’est ce problème et pas une 404 ordinaire
Cet article traite d’une situation précise : toutes les pages ont soudain cessé de fonctionner, le plus souvent juste après le déménagement du site chez un autre hébergeur, un changement de domaine ou la restauration d’une sauvegarde. Des adresses isolées en erreur, par exemple après la suppression d’un article ou le changement du permalien d’une page, sont un autre problème. Nous le décrivons dans le guide sur l’erreur 404 dans WordPress.
Les symptômes qui correspondent à un déménagement :
| Symptôme | Ce que cela signifie probablement |
|---|---|
| La page d’accueil fonctionne, les articles, pages et catégories font une 404 | pas de règles de réécriture d’adresses sur le serveur |
| Le tableau de bord /wp-admin fonctionne normalement | WordPress et la base de données vont bien |
| Une adresse avec /index.php/ au milieu ouvre l’article | WordPress fonctionne, le serveur ne lui transmet pas les jolies adresses |
| Le message 404 ne ressemble pas à la page 404 du thème | le serveur renvoie l’erreur lui-même, avant que WordPress reçoive la requête |
| Les liens mènent à l’ancien domaine ou à une adresse de test | l’ancienne adresse est toujours dans les réglages du site |
La dernière ligne vaut une vérification séparée. Si le menu et les liens mènent à l’ancienne adresse, le problème est dans les réglages du site, pas dans les règles du serveur.
Le guide de dépannage étape par étape
Les étapes vont de la plus simple à celle que vous laissez à votre hébergeur. Après chacune, vérifiez un article et une page dans une fenêtre privée du navigateur.
- Réenregistrez les permaliens. Allez dans Réglages, Permaliens et cliquez sur Enregistrer les modifications sans rien changer. WordPress reconstruit les règles d’adresses et essaie de les écrire dans .htaccess. La documentation de l’écran des réglages des permaliens décrit cet écran.
- Lisez le message après l’enregistrement. Si WordPress affiche un cadre avec des règles à coller à la main, il n’a pas pu écrire le fichier. Copiez ces règles pour votre hébergeur ou collez-les vous-même dans le gestionnaire de fichiers.
- Vérifiez l’adresse du site. Dans Réglages, Général, les champs Adresse web de WordPress (URL) et Adresse web du site (URL) doivent contenir le nouveau domaine et le bon début (https ou http, avec ou sans www). S’ils contiennent les anciennes adresses, ne les corrigez pas à l’aveugle, car vous pouvez perdre l’accès au tableau de bord. Demandez plutôt à la personne qui s’occupe du site.
- Vérifiez sur quel serveur tourne le site. Apache ou LiteSpeed : passez à l’étape 5. Nginx : étape 6.
- Apache et LiteSpeed : regardez .htaccess. Dans le gestionnaire de fichiers de l’hébergement, dans le dossier du site, activez l’affichage des fichiers cachés. Le nom du fichier commence par un point, et lors d’une copie par FTP il reste souvent tout simplement sur l’ancien serveur. Il doit contenir un bloc entre les lignes « # BEGIN WordPress » et « # END WordPress ».
- Nginx : demandez à votre hébergeur une règle pour WordPress. Nginx ne lit pas .htaccess, et WordPress n’ajoutera pas les règles lui-même. Écrivez à votre hébergeur qu’il vous faut une configuration qui transmet les adresses inexistantes à index.php.
- Videz le cache. Une extension de cache ou le cache de l’hébergeur peut continuer à afficher d’anciennes 404 un moment, même quand les règles fonctionnent déjà.
Apache ou Nginx : qui corrige quoi
La différence entre les serveurs décide si vous pouvez vous débrouiller seul ou si vous devez écrire à votre hébergeur.
Apache et LiteSpeed lisent le fichier .htaccess du dossier du site. Quand le fichier est en place et contient le bloc WordPress, mais que les pages font toujours une 404, le serveur a peut-être le module de réécriture désactivé ou un réglage qui lui dit d’ignorer .htaccess. Ce sont des réglages du serveur, et c’est votre hébergeur qui les change, pas vous.
Nginx n’a pas d’équivalent de .htaccess. La documentation WordPress sur la configuration de Nginx dit clairement que WordPress ne modifiera pas lui-même la configuration de ce serveur, et que sans règle manuelle, index.php s’ajoute aux adresses. C’est votre hébergeur ou l’administrateur du serveur qui ajoute la règle. Beaucoup d’hébergeurs ont dans le panneau un modèle WordPress prêt qu’il suffit d’activer.
Avec une installation dans un sous-dossier, par exemple quand le blog est sous /blog/, les règles doivent pointer vers ce sous-dossier. C’est un piège fréquent après le déplacement d’un site du dossier racine vers un sous-dossier ou l’inverse. Le même cas, avec une description précise du symptôme « tout sauf la page d’accueil », est aussi traité dans le guide de WebNots.
Ce que vous pouvez donner à votre hébergeur dans un seul e-mail :
- le domaine et le fait qu’après le déménagement seule la page d’accueil fonctionne,
- deux exemples d’adresses qui font une 404,
- si l’adresse avec /index.php/ fonctionne,
- le bloc WordPress du fichier .htaccess, ou le fait que le fichier manque.
Comment le chat aide à trouver la cause
L’extension TellMyShop pour WordPress et WooCommerce ne modifie ni le fichier .htaccess ni la configuration du serveur. C’est un blocage volontaire, et aucun interrupteur ne le lève. Elle reste utile pour un diagnostic rapide quand la connexion avec votre chat (Claude ou ChatGPT) fonctionne, et pour vérifier que tout est revenu après la correction. Si le chat ne peut pas se connecter au site, suivez le guide de dépannage à la main.
Dans la version gratuite TellMyShop Free, le chat ouvre les adresses choisies comme le fait un navigateur et montre le code de réponse, et passe en revue la santé du site, le journal des erreurs et le rapport des 404. En quelques minutes, vous savez si le problème touche toutes les pages ou seulement certaines, et exactement quoi transmettre à votre hébergeur.
Vous: Nous avons déménagé le site chez un nouvel hébergeur et je crois que quelque chose ne va pas. Vérifie les pages.
Votre chat: J’ai vérifié six adresses. La page d’accueil répond avec le code 200. L’article « Comment choisir une jardinière », la page Contact et la catégorie Conseils répondent avec une 404, et le même contenu s’ouvre avec /index.php/ dans l’adresse.
Votre chat: Santé du site : serveur Nginx. Conclusion : WordPress fonctionne, mais la règle qui transmet les adresses à index.php manque. Je ne peux pas la changer depuis l’extension. J’ai préparé un e-mail pour votre hébergeur avec les exemples d’adresses.
Vous: L’hébergeur a ajouté la règle. Vérifie de nouveau.
Votre chat: Les six adresses répondent avec le code 200. Le rapport des 404 de la dernière heure n’a pas de nouvelles entrées.
Les adresses et les chiffres de cette conversation sont donnés à titre d’illustration. Dans TellMyShop Pro, le chat lit tout le site, il peut donc aussi comparer les adresses du menu et des liens avec le nouveau domaine. Modifier les réglages des permaliens depuis la conversation demande dans Pro l’interrupteur Thème, qui dure 24 heures et exige une sauvegarde de la base de données du jour. Chaque enregistrement a un aperçu et attend votre accord, et vous pouvez annuler chaque modification depuis l’historique. Les détails sont sur la page TellMyShop pour WordPress et WooCommerce, et vous pouvez comparer les versions dans les tarifs.
Après la correction : quoi vérifier pour que Google ne perde rien
Quand les pages fonctionnent de nouveau, il reste trois choses.
La première, ce sont les adresses. Si le domaine ou la structure des permaliens a changé pendant le déménagement, les anciennes adresses ont besoin de redirections 301, sinon les liens d’autres sites et les résultats de Google ne mèneront nulle part. Nous expliquons comment les créer dans le guide sur la redirection 301 dans WordPress.
La deuxième, c’est la visibilité. Après quelques jours de 404, certaines pages ont pu sortir des résultats. Si elles ne reviennent pas après la correction, cherchez les causes avec la liste de l’article site WordPress absent de Google.
La troisième, c’est le rapport des erreurs 404. Pendant les premiers jours après la correction, regardez-le chaque jour. Les nouvelles entrées montreront des adresses dont personne ne se souvenait, comme d’anciens liens vers des fichiers ou des catégories renommées.
Vous pouvez vérifier les codes de réponse, la santé du site et le rapport des 404 dans la version gratuite TellMyShop Free. Vous trouverez d’autres guides sur le blog.
Questions et réponses
Pourquoi seule la page d’accueil fonctionne-t-elle après un déménagement ?
La page d’accueil n’a pas besoin des règles de réécriture d’adresses, mais les pages avec de jolies adresses, si. Quand le nouveau serveur n’a pas de fichier .htaccess, l’ignore, ou tourne sous Nginx sans règle pour WordPress, toutes les adresses sauf la page d’accueil finissent en erreur 404. Le contenu dans la base de données est intact.
Réenregistrer les permaliens aide-t-il toujours ?
Cela aide quand WordPress peut écrire lui-même le fichier .htaccess sur un serveur Apache. Sous Nginx, cette étape ne change rien sur le serveur, car Nginx ne lit pas .htaccess. La règle doit alors être ajoutée par votre hébergeur ou par la personne qui configure le serveur.
Comment savoir si j’ai Apache ou Nginx ?
Le plus simple est de demander à votre hébergeur ou de regarder la description de l’offre dans le panneau. WordPress montre aussi les informations du serveur dans Outils, Santé du site, onglet Infos, section serveur. Les hébergeurs sous LiteSpeed lisent en général .htaccess comme Apache.
Les pages fonctionnent avec /index.php/ dans l’adresse. Qu’est-ce que cela signifie ?
C’est le signe que WordPress fonctionne, mais que le serveur ne lui transmet pas les jolies adresses. Une installation Nginx sans règle WordPress ressemble souvent à cela. Ne passez pas durablement à une structure de permaliens avec index.php ; demandez à votre hébergeur d’ajouter la règle.
Faut-il créer des redirections après la correction ?
Si les adresses n’ont pas changé, non. Google reviendra sur les mêmes adresses et verra le contenu. Les redirections ne sont nécessaires que si le domaine, la structure des permaliens ou les adresses de certaines pages ont changé pendant le déménagement.
WordPress est une marque de la WordPress Foundation. WooCommerce est une marque d’Automattic Inc. Claude est une marque d’Anthropic PBC. ChatGPT et OpenAI sont des marques d’OpenAI. TellMyShop n’est pas affilié à ces entreprises.