Ton site affiche “Une erreur critique est survenue” : ce que ça signifie vraiment

Ce message est l’un des plus déroutants que WordPress puisse afficher, parce qu’il ne dit rien. Pas de ligne de code, pas de plugin cité, juste : “Une erreur critique est survenue sur votre site. Veuillez consulter votre boîte mail pour de plus amples informations.”

Bonne nouvelle : WordPress a prévu un mécanisme de récupération guidé depuis la version 5.2. Tu n’as pas besoin d’accéder au serveur en FTP pour t’en sortir — dans la majorité des cas. Ce guide te mène étape par étape du message d’erreur jusqu’au site fonctionnel.

Pourquoi ce message apparaît

WordPress bascule sur ce message générique quand une erreur PHP fatale empêche le chargement normal du site. PHP s’arrête net, WordPress ne peut pas afficher l’interface, alors il joue la sécurité et masque les détails techniques à tes visiteurs.

Les causes les plus fréquentes :

Cause probableSigne distinctifSolution prioritaire
Plugin récemment activé / mis à jourErreur apparue juste après une actionDésactiver le plugin via recovery mode
Thème actif incompatibleErreur sur le front ET le back-officeBasculer sur Twenty Twenty-Four
memory_limit trop basErreur aléatoire, souvent sous chargeAugmenter la mémoire PHP
Fichier core corrompuRien ne fonctionne, même WP-adminRéinstaller WordPress manuellement
Conflit PHP version / pluginErreur après migration d’hébergeurVérifier la version PHP du serveur

Étape 1 — Lire l’e-mail de recovery mode (ne le rate pas)

Dès que WordPress détecte l’erreur fatale, il envoie automatiquement un e-mail à l’adresse administrateur. Objet typique : “Votre site rencontre une erreur technique”.

Cet e-mail contient deux informations capitales :

  1. Le détail de l’erreur : un extrait du log PHP avec le fichier exact, la ligne, et le type d’erreur (ex. Fatal error: Call to undefined function...). Lis cette ligne attentivement — elle te donne le nom du plugin ou du thème fautif directement dans le chemin du fichier (/wp-content/plugins/nom-du-plugin/...).
  2. Un lien unique de récupération valable 1 heure, du type https://tonsite.fr/wp-login.php?action=enter_recovery_mode&rm_token=XXXX&rm_key=YYYY.

Si tu ne trouves pas l’e-mail : vérifie les spams. Si l’adresse e-mail de l’administrateur est mal configurée ou que WordPress n’envoie pas d’e-mails, tu devras passer par l’étape FTP/base de données (voir étape 5).

Étape 2 — Entrer en recovery mode

Clique sur le lien de l’e-mail. WordPress ouvre une session de récupération sécurisée :

Une fois connecté, WordPress t’indique directement quel composant a été mis en pause. C’est lui le suspect numéro un.

Étape 3 — Identifier et désactiver le fautif

Dans le tableau de bord en recovery mode, va dans Extensions > Extensions installées ou Apparence > Thèmes.

Si c’est un plugin

  1. Repère le plugin signalé (ou celui que tu viens d’installer/mettre à jour)
  2. Clique sur Désactiver
  3. Quitte le recovery mode en cliquant sur “Quitter le mode de récupération” dans la banderole
  4. Teste ton site

Si le site revient, le plugin est confirmé fautif. Options :

Si c’est le thème actif

  1. Va dans Apparence > Thèmes
  2. Active temporairement un thème natif WordPress (Twenty Twenty-Four)
  3. Quitte le recovery mode et teste

Si ça fonctionne, le problème vient du thème. Vérifie s’il y a une mise à jour disponible ou contacte son auteur.

Étape 4 — Vérifier et ajuster la mémoire PHP

Si aucun plugin ou thème n’est clairement identifié, l’erreur peut venir d’une mémoire insuffisante. Le log PHP mentionnera alors Allowed memory size of X bytes exhausted.

memory_limit : quantité de RAM PHP allouée à chaque requête. En dessous de 256 Mo sur un site WordPress avec plusieurs plugins actifs, les crashs deviennent fréquents.

Ajoute cette ligne dans ton fichier wp-config.php, juste avant /* C'est tout, arrêtez d'éditer ! */ :

define('WP_MEMORY_LIMIT', '256M');

Si ton hébergeur le permet, modifie aussi directement le php.ini :

memory_limit = 256M
max_execution_time = 120
max_input_time = 120

max_execution_time : durée max d’un script PHP avant interruption forcée. À 30 secondes par défaut, ça peut tuer des imports ou des pages complexes.
max_input_time : durée max pour recevoir les données envoyées (formulaires, uploads). Une valeur de 120 secondes est raisonnable.

Certains hébergeurs (OVH, o2switch, Infomaniak) exposent ces réglages dans leur panel d’administration — cherche une section “PHP” ou “Configuration PHP”. Sinon, un fichier .htaccess peut suffire :

php_value memory_limit 256M
php_value max_execution_time 120

Pour aller plus loin sur les performances serveur, l’article sur la performance web et les Core Web Vitals couvre aussi l’impact du temps serveur sur le ressenti utilisateur.

Étape 5 — Quand l’e-mail n’est pas arrivé : accès FTP direct

Sans lien de recovery mode, il faut intervenir manuellement.

Désactiver tous les plugins via FTP :

  1. Connecte-toi en FTP (FileZilla ou client de ton hébergeur)
  2. Va dans /wp-content/
  3. Renomme le dossier plugins en plugins_disabled
  4. Recharge ton site — si ça fonctionne, un plugin est fautif
  5. Renomme le dossier en plugins, puis désactive-les un par un depuis le back-office

Réinstaller les fichiers core WordPress :

  1. Télécharge la dernière version de WordPress depuis wordpress.org
  2. Uploade tous les fichiers sauf wp-content/ et wp-config.php (qui contient tes identifiants base de données)
  3. Cette opération écrase les fichiers core potentiellement corrompus sans toucher à tes données

Si tu gères régulièrement des accès techniques, l’article sur les 7 accès à exiger de votre agence web rappelle pourquoi avoir toujours les credentials FTP et hébergeur à portée de main n’est pas optionnel.

FAQ

Le lien de recovery mode a expiré, que faire ?

Le lien est valable 1 heure. Si tu l’as raté, rafraîchis le site côté admin — WordPress renverra un nouvel e-mail à la prochaine détection d’erreur. Sinon, passe directement par FTP (étape 5).

Le site fonctionne mais mon thème premium est fautif — je dois tout perdre ?

Non. Active un thème natif temporairement, puis vérifie si une mise à jour du thème premium est disponible. La plupart des éditeurs de thèmes sérieux publient des correctifs rapidement. Tu peux aussi contacter leur support avec le détail de l’erreur PHP issu de l’e-mail.

Comment activer l'affichage des erreurs PHP pour avoir plus de détails ?

Dans wp-config.php, passe WP_DEBUG à true et active WP_DEBUG_LOG pour écrire les erreurs dans /wp-content/debug.log sans les afficher aux visiteurs. Remets ces constantes à false une fois le problème résolu — jamais en production au-delà du diagnostic.

L'erreur revient après quelques heures, même plugin désactivé ?

C’est souvent un problème de mémoire ou de max_execution_time trop bas, déclenché par une tâche planifiée (WP-Cron, backup automatique). Augmente les limites PHP et surveille les logs. Si le problème persiste, c’est un signal que la maintenance de ton site mérite une vraie attention structurée.

Mon hébergeur refuse de modifier le php.ini, que faire ?

Essaie d’abord via .htaccess (directive php_value). Si ça ne fonctionne pas non plus, c’est une limitation de l’offre d’hébergement — certains mutualisés entrée de gamme plafonnent la mémoire PHP. Passe à une offre supérieure ou change d’hébergeur.

Quand passer la main à un pro

Tu as suivi toutes les étapes, l’erreur revient, ou le log PHP mentionne des fichiers core WordPress sans plugin ou thème identifiable : c’est le signe d’un problème plus profond — base de données corrompue, hébergeur instable, ou site qui n’a pas été maintenu depuis longtemps. Un œil extérieur avec accès serveur résout ça en 30 minutes là où on peut tourner en rond des heures seul. La check-list pour choisir une agence web sérieuse peut aider à trouver quelqu’un qui sait lire un log PHP sans te faire payer une refonte entière.

Ce problème, Peechy s'en occupe

Plutôt que de tout gérer seul, confiez votre site à une agence qui s'occupe de tout — hébergement, sécurité, maintenance et corrections. Encore plus simple en abonnement : on règle les soucis avant même que vous les remarquiez.

Confier mon site à Peechy