WordPress
Site WordPress inaccessible : trouver l’erreur et réparer
Votre site WordPress ne s’affiche plus, ou seulement un message d’erreur ? Dans la plupart des cas, la cause se trouve en quelques minutes, à condition de procéder dans le bon ordre et sans rien supprimer au hasard.
Par JérémyMis à jour le 08/10/202610 min de lecture
Les trois réflexes avant de toucher à quoi que ce soit
Quand un site ne s’affiche plus, la tentation est de tout essayer en même temps. C’est le meilleur moyen d’ajouter une panne à la panne. Commencez par ces trois vérifications, qui prennent cinq minutes.
- Vérifiez que la panne est réelle. Ouvrez le site depuis votre téléphone, en 4G ou en 5G, pas sur le Wi-Fi de la maison. Si le site s’affiche, le problème vient de votre ordinateur ou de votre connexion : cache du navigateur, adresse IP bloquée par le pare-feu de l’hébergeur, réseau filtré.
- Notez ce qui a changé. Une mise à jour d’extension, un nouveau thème, un changement de version de PHP chez l’hébergeur, une modification de fichier : très souvent, la panne suit de près un changement. Le connaître fait gagner beaucoup de temps.
- Faites une copie avant de réparer. Téléchargez les fichiers du site et un export de la base de données, ou lancez une sauvegarde depuis l’espace client de votre hébergeur. Si une manipulation tourne mal, vous pourrez revenir en arrière.
Pensez aussi aux causes extérieures à WordPress : nom de domaine expiré, hébergement non renouvelé, certificat HTTPS arrivé à échéance, incident chez l’hébergeur. La page d’état de votre hébergeur et les e-mails de votre bureau d’enregistrement de domaine (le registrar) vous le diront tout de suite.
Lire le message affiché : chaque erreur a sa piste
Le message, ou son absence, indique déjà où chercher. Les textes exacts dépendent de la langue de votre site : l’original anglais est donné entre parenthèses, car c’est lui qu’on retrouve dans la documentation.
| Ce que vous voyez | Cause la plus fréquente | Première piste |
|---|---|---|
| Message d’erreur critique (« There has been a critical error on this website ») | Une extension, le thème ou une version de PHP incompatible provoque une erreur fatale | L’e-mail du mode de récupération, puis le journal d’erreurs |
| Page entièrement blanche | Erreur PHP fatale non affichée, mémoire insuffisante | Le journal d’erreurs |
| Erreur 500 (« Internal Server Error ») | Fichier .htaccess abîmé, erreur PHP, limite du serveur | Renommer le fichier .htaccess, lire les journaux de l’hébergeur |
| Connexion à la base de données impossible (« Error establishing a database connection ») | Identifiants faux dans wp-config.php, serveur de base de données arrêté | Vérifier wp-config.php, puis contacter l’hébergeur |
| Message de maintenance qui ne part pas (« Briefly unavailable for scheduled maintenance ») | Mise à jour interrompue | Supprimer le fichier .maintenance |
| Erreur 404 sur toutes les pages sauf l’accueil | Règles d’adresses perdues | Réglages, Permaliens, puis Enregistrer |
| Le navigateur ne trouve pas le site du tout | Nom de domaine, DNS ou hébergement | Registrar et espace client de l’hébergeur |
Si seule l’administration est bloquée alors que le site public s’affiche, le problème vient plutôt de la connexion : lisez le guide sur la connexion à WordPress.
Étape 1 : utiliser le mode de récupération
Depuis la version 5.2, WordPress se protège contre les erreurs fatales. Quand une extension ou un thème fait planter le site, il affiche aux visiteurs un message d’erreur critique et envoie un e-mail à l’adresse d’administration du site. Cet e-mail nomme en général l’extension ou le thème en cause et contient un lien secret vers le mode de récupération.
En suivant ce lien, vous entrez dans l’administration avec l’élément fautif mis en pause, pour vous seulement. Vous pouvez alors le désactiver, le mettre à jour ou le remplacer. Les visiteurs, eux, voient encore l’erreur tant que la correction n’est pas faite.
- Cherchez l’e-mail dans les courriers indésirables : il y arrive souvent.
- Il part vers l’adresse indiquée dans Réglages, puis Général. Si personne ne lit plus cette boîte, l’e-mail est perdu.
- Si votre site n’envoie aucun e-mail, ce qui arrive sur certains hébergements, passez directement à l’étape suivante.
Étape 2 : activer le journal d’erreurs
Le journal d’erreurs donne la cause exacte, avec le nom du fichier qui pose problème. Ouvrez le fichier wp-config.php à la racine du site, par FTP ou avec le gestionnaire de fichiers de votre hébergeur, et ajoutez ces lignes au-dessus du commentaire qui demande d’arrêter les modifications :
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Avec ces réglages, les erreurs ne s’affichent pas aux visiteurs : elles sont écrites dans le fichier wp-content/debug.log. Rechargez la page en panne, ouvrez ce fichier et lisez les dernières lignes. Une ligne qui commence par « PHP Fatal error » et qui cite un chemin comme wp-content/plugins/nom-de-l-extension/ désigne directement le coupable.
Une fois la panne trouvée, remettez WP_DEBUG à false et supprimez le fichier debug.log. La documentation officielle de WordPress rappelle que ces outils ne doivent pas rester actifs sur un site en ligne, et le journal peut contenir des informations sur votre serveur.
Étape 3 : désactiver les extensions sans passer par l’administration
Les extensions sont la cause la plus courante d’un site inaccessible, surtout juste après une mise à jour. Si vous n’avez plus accès au tableau de bord :
- Connectez-vous en FTP ou ouvrez le gestionnaire de fichiers de votre hébergeur.
- Dans le dossier
wp-content, renommez le dossierpluginsenplugins-off. WordPress ne trouve plus les extensions et ne les charge plus. - Rechargez le site. S’il revient, la cause est bien une extension.
- Connectez-vous et ouvrez la page Extensions : WordPress constate qu’elles manquent et les enregistre comme désactivées.
- Redonnez au dossier son nom
plugins, puis réactivez les extensions une par une, en rechargeant le site après chacune. Celle qui refait tomber le site est la fautive.
Si l’e-mail ou le journal vous a déjà donné le nom de l’extension, renommez seulement son dossier. Avec un accès SSH, la commande wp plugin deactivate --all de l’outil WP-CLI désactive toutes les extensions en une ligne.
Une fois la fautive trouvée, ne la réactivez pas telle quelle : cherchez une mise à jour, signalez le problème à son auteur ou remplacez-la par une autre extension.
Étape 4 : tester un thème par défaut
Si les extensions ne sont pas en cause, le thème peut l’être, par exemple après un changement de version de PHP qu’un vieux thème ne supporte pas. Renommez le dossier du thème actif dans wp-content/themes. WordPress se rabat alors sur un thème par défaut s’il en trouve un d’installé, comme Twenty Twenty-Five. S’il n’y en a aucun, déposez-en un dans ce dossier avant le test.
Si le site revient avec le thème par défaut, le problème est dans votre thème ou dans un fichier modifié à la main, souvent functions.php. Le journal d’erreurs de l’étape 2 indique la ligne en cause.
Étape 5 : vérifier la version de PHP et la mémoire
WordPress est écrit en PHP, et la version de PHP se règle chez votre hébergeur. Deux situations reviennent souvent.
- L’hébergeur a changé la version de PHP et une ancienne extension ou un ancien thème ne suit plus. WordPress 7.1 fonctionne à partir de PHP 7.4, mais recommande PHP 8.3 ou plus. La bonne réponse est de mettre à jour ou de remplacer l’élément incompatible, pas de rester sur un PHP ancien : la version 8.2, par exemple, ne reçoit plus de correctifs de sécurité après le 31 décembre 2026.
- La mémoire est épuisée. Le journal contient alors une ligne « Allowed memory size of … bytes exhausted ». Par défaut, WordPress essaie d’obtenir 40 Mo pour un site simple et 64 Mo pour un réseau de sites. Vous pouvez relever cette limite dans wp-config.php avec
define( 'WP_MEMORY_LIMIT', '128M' );. Si la limite fixée par l’hébergeur est plus basse, c’est elle qui s’applique : il faut la changer dans l’espace client.
Étape 6 : régénérer le fichier .htaccess et supprimer .maintenance
Sur les serveurs Apache et LiteSpeed, le fichier .htaccess placé à la racine contient les règles d’adresses de WordPress. Une extension de cache ou de sécurité peut y laisser une règle cassée, ce qui provoque une erreur 500. Renommez-le en .htaccess-ancien et rechargez le site. Si l’erreur disparaît, allez dans Réglages, puis Permaliens, et cliquez sur Enregistrer : WordPress recrée un fichier propre. Recopiez ensuite, si besoin, les règles utiles de l’ancien fichier, une par une.
Les noms de fichiers qui commencent par un point sont masqués par certains logiciels FTP : activez l’affichage des fichiers cachés. Sur un serveur Nginx, ce fichier n’existe pas et les règles se trouvent dans la configuration du serveur.
Si un message de maintenance reste affiché après une mise à jour, c’est que celle-ci a été interrompue et que le fichier .maintenance est resté à la racine. Supprimez-le, puis relancez la mise à jour qui n’a pas abouti.
Étape 7 : contrôler la base de données
Si le message parle de connexion à la base de données, ouvrez wp-config.php et vérifiez les quatre valeurs DB_NAME, DB_USER, DB_PASSWORD et DB_HOST. Elles doivent correspondre exactement à celles de l’espace client de l’hébergeur. Si elles sont justes, le serveur de base de données est peut-être arrêté ou saturé : seul l’hébergeur peut le confirmer.
Quand une table est abîmée, WordPress fournit un outil de réparation. Ajoutez define( 'WP_ALLOW_REPAIR', true ); dans wp-config.php, ouvrez l’adresse votresite.fr/wp-admin/maint/repair.php et lancez la réparation. Retirez la ligne juste après : tant qu’elle est présente, cette page est accessible sans être connecté.
Quand rien ne fonctionne : restaurer une sauvegarde
Si la cause reste introuvable, la solution la plus sûre est de restaurer une sauvegarde faite avant la panne. Beaucoup d’hébergeurs en conservent plusieurs jours dans l’espace client. Restaurez les fichiers et la base de données de la même date, sinon les deux ne correspondent plus.
Si le site a été piraté (redirections vers d’autres sites, fichiers inconnus, avertissement du navigateur), restaurer ne suffit pas. Changez aussi tous les mots de passe (administration, FTP, base de données, hébergement) et trouvez la faille, souvent une extension pas à jour, sinon le problème reviendra.
Éviter que ça recommence
- Des sauvegardes automatiques, stockées en dehors de l’hébergement et testées de temps en temps.
- Des mises à jour une par une, en vérifiant le site entre chacune, plutôt que tout d’un coup.
- Une copie de test du site, souvent appelée préproduction, pour essayer les mises à jour importantes. Beaucoup d’hébergeurs la proposent.
- Moins d’extensions : chaque extension inutile retirée, c’est une source de panne et de faille en moins.
- L’outil Santé du site, dans le menu Outils : il signale une version de PHP trop ancienne, des mises à jour en attente ou des extensions inactives à supprimer.
- Une surveillance de disponibilité qui vous prévient quand le site ne répond plus, avant que vos clients ne le remarquent.
Si vous préférez ne pas vous en occuper, c’est le rôle d’une maintenance WordPress : sauvegardes, mises à jour contrôlées et intervention quand le site tombe.
Questions fréquentes
Mon contenu est-il perdu ?
Presque jamais. Vos textes et vos pages sont enregistrés dans la base de données, vos images dans le dossier wp-content/uploads. Une erreur PHP empêche l’affichage, elle n’efface rien. Tant que vous ne supprimez pas de fichiers au hasard, le contenu reste intact.
Faut-il réinstaller WordPress ?
Rarement. Si des fichiers du cœur de WordPress sont abîmés, vous pouvez les remplacer sans toucher à vos contenus : téléchargez WordPress sur fr.wordpress.org et remplacez uniquement les dossiers wp-admin et wp-includes. Ne touchez ni à wp-content ni à wp-config.php. Si l’administration fonctionne, la page Tableau de bord, puis Mises à jour, propose aussi de réinstaller la version actuelle.
Pourquoi le site marche pour les autres, mais pas pour moi ?
Le plus souvent, votre adresse IP a été bloquée par le pare-feu de l’hébergeur ou par une extension de sécurité, par exemple après plusieurs mots de passe erronés. Testez depuis un autre réseau, videz le cache de votre navigateur, puis demandez à l’hébergeur de débloquer votre adresse.
Je n’ai pas d’accès FTP, comment faire ?
La plupart des hébergeurs proposent un gestionnaire de fichiers dans l’espace client, qui permet de renommer un dossier ou de modifier wp-config.php depuis le navigateur. Les identifiants FTP se trouvent aussi dans cet espace client.
Besoin d’un coup de main ? C’est mon métier : voir Sites internet, ou décrivez-moi le problème.
Parlons de votre projet
Décrivez votre besoin en quelques lignes. Je réponds sous 48 h ouvrées avec un prix, ou avec les deux ou trois questions qui manquent.