Que signifie « Il y a eu une erreur critique sur ce site » ?
Ce message veut dire que WordPress a rencontré une erreur PHP fatale et s'est arrêté avant d'afficher la page. Depuis WordPress 5.2, au lieu d'un écran blanc, vous voyez cette phrase, parfois suivie d'un lien vers la documentation sur le débogage.
Le message ne dit pas ce qui a cassé. C'est volontaire : afficher l'erreur réelle à vos visiteurs donnerait des informations sur votre serveur. La cause exacte se trouve ailleurs, dans l'e-mail envoyé à l'administrateur ou dans le journal d'erreurs.
Bonne nouvelle : vos contenus ne sont pas perdus. Articles, pages, produits et commandes sont dans la base de données, qui n'est pas touchée. C'est le code qui charge le site qui bloque.
Quelles sont les causes d'une erreur critique WordPress ?
Dans les cas que nous voyons, la cause est presque toujours l'une de ces cinq :
- Un plugin mis à jour ou installé qui entre en conflit avec un autre plugin ou avec votre thème. C'est de loin la cause la plus fréquente.
- Le thème, souvent après une modification de
functions.phpou une mise à jour du thème parent. - La version de PHP : votre hébergeur passe en PHP 8.x et un vieux plugin utilise une fonction qui n'existe plus.
- La mémoire : un plugin lourd (constructeur de pages, WooCommerce avec beaucoup d'extensions) dépasse la limite de mémoire PHP.
- Une mise à jour interrompue de WordPress ou d'un plugin, qui laisse des fichiers à moitié copiés.
Notre conseil : ne désactivez pas tous vos plugins au hasard. Lisez d'abord l'erreur. Elle donne presque toujours le nom du fichier en cause, et donc le plugin ou le thème.
Comment corriger une erreur critique WordPress ?
Voici l'ordre que nous suivons. Chaque étape est plus technique que la précédente, arrêtez-vous dès que le site revient.
1. Ouvrez l'e-mail du mode de récupération
Quand l'erreur se produit, WordPress envoie un e-mail à l'adresse de l'administrateur, avec un lien vers le mode de récupération. Ce lien ouvre wp-admin en mettant de côté le plugin ou le thème fautif. Vous pouvez alors le désactiver ou le mettre à jour en un clic. Pensez à vérifier vos spams.
2. Activez le journal de débogage
Pas d'e-mail ? Ouvrez le fichier wp-config.php à la racine du site (via le gestionnaire de fichiers de votre hébergeur ou en SFTP) et ajoutez ces lignes au-dessus de la ligne qui commence par /* C'est tout (ou /* That's all) :
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );Rechargez la page qui plante, puis ouvrez wp-content/debug.log. La dernière ligne qui commence par PHP Fatal error indique le fichier et la ligne. Par exemple, un chemin qui contient wp-content/plugins/nom-du-plugin/ désigne ce plugin.
3. Désactivez le plugin ou le thème en cause
Sans accès à wp-admin, renommez son dossier : wp-content/plugins/nom-du-plugin devient nom-du-plugin-off. WordPress ne le trouve plus et le désactive. Pour un thème, faites pareil dans wp-content/themes : WordPress bascule sur un thème par défaut s'il en reste un installé (Twenty Twenty-Four, par exemple).
4. Vérifiez la version de PHP et la mémoire
Si l'erreur parle d'une fonction « undefined » après un changement de PHP, repassez temporairement à la version précédente dans le panneau de votre hébergeur, le temps de mettre à jour le plugin. Si elle parle de « Allowed memory size », ajoutez define( 'WP_MEMORY_LIMIT', '256M' ); dans wp-config.php.
5. Restaurez une sauvegarde
Si rien ne marche et que le site fonctionnait hier, restaurez la sauvegarde de la veille depuis votre hébergeur. C'est le moyen le plus sûr quand plusieurs choses ont changé en même temps.
Une fois le site réparé, remettez WP_DEBUG à false : le fichier de log ne doit pas grossir indéfiniment.
Comment corriger l'erreur critique sans accès à wp-admin ?
Il vous faut un accès aux fichiers du site, indépendant de WordPress. Trois possibilités :
- Le gestionnaire de fichiers de l'hébergeur (hPanel chez Hostinger, cPanel chez beaucoup d'autres, l'espace client chez OVHcloud ou o2switch).
- Un client SFTP comme FileZilla, avec les identifiants SFTP ou SSH fournis par l'hébergeur.
- Le support de l'hébergeur, qui peut lire le journal d'erreurs PHP pour vous.
Avec l'un de ces accès, les étapes 2 à 4 ci-dessus fonctionnent même quand wp-admin affiche lui aussi l'erreur critique.
Erreur critique après une mise à jour : que faire ?
Si l'erreur est apparue juste après une mise à jour, le coupable est presque toujours ce qui vient d'être mis à jour. Renommez le dossier de ce plugin, rechargez le site, puis cherchez sur sa page WordPress.org ou dans son support si une version corrigée est sortie. Si c'est WordPress lui-même qui a été mis à jour, le problème vient en général d'un plugin ancien qui n'est plus compatible.
Si la mise à jour s'est interrompue, un fichier .maintenance peut rester à la racine du site. Supprimez-le, puis relancez la mise à jour.
Une erreur critique sur WooCommerce, c'est différent ?
Non, la méthode est la même. Sur une boutique, la cause est souvent une extension de paiement ou de livraison qui n'a pas suivi la dernière version de WooCommerce. Le journal d'erreurs vous donne son nom. Désactivez-la, vérifiez qu'une commande test passe, puis contactez son éditeur.
Comment éviter qu'elle revienne ?
- Faites une sauvegarde avant chaque mise à jour importante.
- Mettez à jour les plugins un par un, pas tous d'un coup : vous saurez lequel a cassé.
- Supprimez les plugins que vous n'utilisez plus, même désactivés.
- Avant de changer de version de PHP, vérifiez la compatibilité de vos plugins sur leur page WordPress.org.
Et si vous préférez qu'on s'en occupe : avec wptaskify, vous connectez Claude ou ChatGPT à votre site et à son accès SFTP. Votre IA lit le journal d'erreurs, trouve la ligne en cause, sauvegarde le fichier puis le corrige ou désactive le plugin, même quand wp-admin est inaccessible. Vous pouvez annuler chaque modification.
