« Il y a eu une erreur critique sur ce site » : comment réparer WordPress

Vous ouvrez votre site et, à la place de votre page d’accueil, un simple message : « Il y a eu une erreur critique sur ce site. » Parfois le site public fonctionne mais l’administration est bloquée, parfois c’est l’inverse. Pas de panique : ce message n’est pas un piratage et vos contenus ne sont pas perdus. C’est la façon dont WordPress signale une erreur de code. Voici comment trouver la cause et remettre le site en ligne.
Que signifie ce message ?
Depuis la version 5.2, WordPress intercepte les erreurs fatales PHP, c’est-à-dire les erreurs qui empêchent l’exécution du code. Plutôt qu’un écran blanc, il affiche ce message et tente de vous prévenir par e-mail.
Les causes les plus fréquentes :
- une extension mise à jour, nouvellement installée ou incompatible avec une autre ;
- une mise à jour du thème, ou une modification du fichier functions.php ;
- un changement de version de PHP chez l’hébergeur, incompatible avec une extension ancienne ;
- une limite de mémoire atteinte ;
- une mise à jour interrompue qui a laissé des fichiers incomplets.
Avant toute manipulation, si votre hébergeur propose une sauvegarde récente ou un instantané, notez sa date : c’est votre filet de sécurité.
Étape 1 : consulter l’e-mail et le mode de récupération
WordPress envoie un e-mail à l’adresse d’administration du site, intitulé en général « Votre site rencontre un problème technique ». Il indique souvent l’extension ou le thème en cause et contient un lien vers le mode de récupération.
Ce lien vous connecte à l’administration en neutralisant l’élément fautif. Il ne vous reste qu’à désactiver l’extension concernée (ou à changer de thème), puis à quitter le mode de récupération. Pensez à vérifier le dossier des courriers indésirables.
Étape 2 : désactiver les extensions sans accès à l’administration
Pas d’e-mail ? Connectez-vous aux fichiers du site par FTP (ou par le gestionnaire de fichiers de votre hébergeur) :
- ouvrez le dossier wp-content ;
- renommez le dossier plugins en plugins-off : toutes les extensions sont alors désactivées ;
- rechargez le site. S’il fonctionne, une extension est en cause ;
- redonnez au dossier son nom plugins, puis renommez les extensions une à une (dans ce dossier) jusqu’à trouver celle qui provoque l’erreur.
Une fois l’extension identifiée, laissez-la désactivée et cherchez une version corrigée, ou une alternative.
Étape 3 : tester le thème
Si les extensions ne sont pas en cause, le thème l’est peut-être. Dans wp-content/themes, renommez le dossier du thème actif : WordPress basculera sur un thème par défaut s’il en reste un d’installé. Si le site s’affiche à nouveau (avec une autre apparence), le problème vient du thème ou d’une modification récente de son code.
Étape 4 : activer le journal de débogage
Pour connaître la cause exacte, activez le journal d’erreurs. Dans le fichier wp-config.php, à la racine du site, ajoutez ces lignes avant la ligne qui indique de ne plus rien modifier :
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Rechargez la page en erreur, puis ouvrez le fichier wp-content/debug.log. La dernière ligne « PHP Fatal error » indique le fichier et la ligne en cause : le chemin révèle presque toujours l’extension ou le thème concerné.
Important : une fois le problème réglé, remettez WP_DEBUG à false et supprimez le fichier debug.log, qui ne doit pas rester accessible.
Étape 5 : vérifier la version de PHP
Si l’erreur est apparue sans aucune mise à jour de votre part, l’hébergeur a peut-être changé la version de PHP. Le journal mentionne alors souvent une fonction « undefined » ou obsolète. Deux options : mettre à jour l’extension concernée (la meilleure), ou revenir temporairement à la version de PHP précédente depuis le panneau de l’hébergeur, le temps de trouver une solution durable.
Étape 6 : augmenter la mémoire si nécessaire
Si le journal indique « Allowed memory size exhausted », le site manque de mémoire. Vous pouvez augmenter la limite dans wp-config.php :
define( 'WP_MEMORY_LIMIT', '256M' );
L’hébergeur fixe toutefois un maximum qu’il n’est pas possible de dépasser. Et un besoin de mémoire anormal révèle souvent une extension mal conçue : augmenter la limite masque le problème sans le régler.
Étape 7 : en dernier recours, restaurer ou réinstaller
- Restaurer une sauvegarde antérieure à l’erreur, si vous en avez une récente et fiable. Attention aux contenus ajoutés depuis.
- Réinstaller les fichiers de WordPress (sans toucher à wp-content ni à wp-config.php) si une mise à jour du cœur a été interrompue.
Prévenir les erreurs critiques
- faites une sauvegarde avant chaque mise à jour ;
- mettez à jour les extensions une par une, en vérifiant le site entre chaque ;
- testez les mises à jour importantes sur une copie du site (préproduction) ;
- supprimez les extensions abandonnées par leurs auteurs.
Si une mise à jour importante doit rendre le site indisponible quelques minutes, vous pouvez aussi mettre le site en mode maintenance le temps de l’intervention.
Questions fréquentes
L’erreur critique signifie-t-elle que mon site est piraté ?
Non, dans la grande majorité des cas. Il s’agit d’une erreur de code, le plus souvent provoquée par une mise à jour ou une incompatibilité. Un piratage se manifeste plutôt par des redirections, des pages inconnues ou des alertes de Google.
Je n’ai pas reçu l’e-mail de WordPress, que faire ?
Vérifiez les courriers indésirables et l’adresse d’administration définie dans les réglages. Si l’e-mail n’arrive pas, passez par l’accès FTP ou le gestionnaire de fichiers de l’hébergeur pour désactiver les extensions, et activez le journal de débogage.
Puis-je perdre mes contenus à cause d’une erreur critique ?
Non, l’erreur bloque l’affichage mais ne supprime pas les contenus stockés dans la base de données. Les risques viennent surtout des manipulations faites pour réparer : d’où l’intérêt d’une sauvegarde avant toute intervention.
Comment éviter que l’erreur se reproduise ?
Faites une sauvegarde avant chaque mise à jour, mettez à jour les extensions une par une, testez les changements importants sur une copie du site et gardez une version de PHP compatible avec vos extensions.
Pour aller plus loin
Votre site est bloqué et vous préférez ne pas toucher aux fichiers ? Je peux intervenir pour le remettre en ligne, puis prendre en charge sa maintenance WordPress pour que les mises à jour se fassent sans casse.
