Guide · Dépannage

« Il y a eu une erreur critique sur ce site » : que faire ?

Par , fondateur de Webmint · mis à jour le 22 octobre 2026
Messages d'erreur rouges dans une console
Réponse courte

Ce message signale une erreur PHP fatale, causée presque toujours par une extension, le thème ou un changement de version de PHP. Vos contenus ne sont pas perdus : on rétablit le site en neutralisant l'élément fautif, par le lien de récupération envoyé par WordPress ou en renommant son dossier.

Pas le temps de vous en occuper ? Dépannage WordPress · diagnostic 90 € HT, sans vous déplacer : tout se fait à distance.

Étape par étape

  1. Notez ce qui a changé juste avant la panne : mise à jour d'une extension, nouveau thème, code ajouté, changement de version de PHP chez l'hébergeur.
  2. Cherchez dans la boîte de l'adresse d'administration, indésirables compris, l'e-mail envoyé par WordPress : il nomme en général l'élément en cause et contient un lien vers le mode de récupération.
  3. Ouvrez ce lien, connectez-vous et désactivez l'extension ou le thème signalé, puis quittez le mode de récupération depuis la barre d'administration.
  4. Sans e-mail, renommez par SFTP le dossier de l'extension suspecte dans wp-content/plugins, par exemple contact-form-7 en contact-form-7-off.
  5. Sans piste, renommez le dossier plugins entier, ouvrez la page Extensions, puis remettez le nom d'origine et réactivez les extensions une par une.
  6. Toujours bloqué : activez WP_DEBUG et WP_DEBUG_LOG dans wp-config.php, rechargez la page et lisez wp-content/debug.log pour trouver le fichier et la ligne en cause.
  7. Site rétabli, remettez WP_DEBUG à false, supprimez debug.log et mettez à jour ou remplacez l'extension fautive.

Que signifie « Il y a eu une erreur critique sur ce site » ?

Ce message signifie qu'un code PHP a planté pendant le chargement de la page, et que WordPress a coupé l'affichage plutôt que de montrer l'erreur brute. Vos contenus sont intacts. Depuis la version 5.2, WordPress intercepte ces erreurs fatales au lieu d'afficher une page blanche, et tente d'envoyer un e-mail à l'adresse d'administration réglée dans Réglages > Général. Ce message détaille l'erreur (fichier, ligne, extension ou thème concerné) et contient un lien de connexion en mode de récupération.

Le site public et l'administration tombent souvent ensemble. La base de données, elle, n'est en général pas touchée : pages, commandes et réglages sont toujours là.

Les causes qu'on rencontre au quotidien sont peu nombreuses :

  • une extension mise à jour appelle une fonction qu'une autre ne fournit plus
  • deux extensions déclarent la même fonction
  • un thème qui n'a pas bougé depuis des années ne supporte pas la version de PHP du serveur
  • un extrait de code collé dans functions.php contient une parenthèse en trop
  • la mémoire allouée à PHP ne suffit plus

Comment utiliser le lien du mode de récupération ?

Le lien reçu par e-mail ouvre une page de connexion. Connecté avec un compte administrateur, vous arrivez dans un tableau de bord où l'élément en faute est mis en pause, pour votre session uniquement : les visiteurs voient toujours l'erreur. Allez dans Extensions, désactivez l'élément signalé, puis cliquez sur « Quitter le mode de récupération ». Contrôlez ensuite le site dans une fenêtre de navigation privée. Ce lien a une durée de validité limitée, et WordPress n'envoie pas un nouvel e-mail à chaque erreur.

Dans la pratique, l'e-mail n'arrive pas toujours. L'adresse d'administration est parfois celle de l'ancien prestataire, et beaucoup d'hébergements remettent mal les e-mails envoyés par PHP sans extension SMTP. La constante RECOVERY_MODE_EMAIL, ajoutée dans wp-config.php, désigne une adresse dédiée à ces alertes. Mieux vaut la régler avant d'en avoir besoin.

Le mode de récupération met en pause une extension ou un thème. Une erreur dans wp-config.php, dans wp-content/mu-plugins ou dans les fichiers du cœur ne se traite pas de cette façon : il faut lire l'erreur exacte.

Comment désactiver une extension sans accès à l'administration ?

Renommez son dossier dans wp-content/plugins. WordPress ne trouve plus le fichier principal et cesse de charger l'extension. On y accède par un client SFTP comme FileZilla, par le gestionnaire de fichiers de l'hébergeur ou par SSH. La page Extensions affiche ensuite un avertissement indiquant que l'extension a été désactivée, et ses réglages restent en base.

Commencez par l'extension mise à jour ou installée en dernier, repérable à la date de modification de son dossier. Sans piste, renommez le dossier plugins en plugins-off, connectez-vous et ouvrez la page Extensions pour que WordPress enregistre la désactivation de toutes les extensions. Remettez ensuite le nom plugins et réactivez-les une par une, en rechargeant une page publique entre chaque. Celle qui fait revenir l'erreur est la coupable, ou l'une des deux qui entrent en conflit.

Pour le thème, même principe dans wp-content/themes : si le dossier du thème actif est renommé, WordPress se rabat sur un thème par défaut, à condition d'en trouver un. Beaucoup de sites ont supprimé Twenty Twenty-Four et Twenty Twenty-Five. Déposez alors d'abord une copie de Twenty Twenty-Five téléchargée sur wordpress.org.

Avec SSH et WP-CLI, wp plugin list –skip-plugins –skip-themes affiche l'état des extensions sans charger le code qui plante, et wp plugin deactivate nom-de-l-extension –skip-plugins désactive celle qui est visée. Sans ces options, WP-CLI tombe sur la même erreur que le site.

Quelle méthode choisir selon les accès dont vous disposez ?

La méthode pour rétablir le site dépend de ce à quoi vous avez accès : la boîte de l'administrateur, les fichiers, SSH ou le seul panneau de l'hébergeur. Le tableau associe chaque situation au geste qui convient.

Votre situationCe qu'on faitÀ savoir
E-mail de récupération reçuOuvrir le lien, désactiver l'élément signaléPause limitée à votre session, lien à durée limitée
Accès SFTP ou gestionnaire de fichiersRenommer le dossier de l'extension dans wp-content/pluginsSes réglages restent en base
Aucune piste sur l'extensionRenommer plugins en plugins-off, puis réactiver une par uneRecharger une page publique entre chaque
Thème en causeRenommer le dossier du thème actifUn thème par défaut doit être présent
Accès SSH avec WP-CLIwp plugin deactivate avec l'option –skip-pluginsSans cette option, WP-CLI plante comme le site
Cause toujours inconnueActiver WP_DEBUG_LOG et lire debug.logSupprimer le fichier ensuite, il est lisible en ligne
Panneau de l'hébergeur seulementRevenir à la version de PHP précédenteQuelques jours au plus, le temps de remplacer l'extension
Rétablir le site selon vos accès

Activer le journal de débogage dans wp-config.php

Quand la cause n'est pas évidente, il faut lire le message PHP. Ouvrez wp-config.php, à la racine du site, avec un éditeur de code (Notepad++, VS Code) ou l'éditeur du gestionnaire de fichiers, après en avoir gardé une copie. Un traitement de texte remplace les apostrophes droites par des apostrophes typographiques et provoque une nouvelle erreur. Les constantes utilisées ci-dessous sont décrites dans .

La ligne define( 'WP_DEBUG', false ); existe presque toujours déjà. Modifiez-la au lieu d'en ajouter une seconde : une constante définie deux fois génère un avertissement, et la première valeur l'emporte. Ajoutez en dessous les deux autres lignes, le tout au-dessus du commentaire qui demande de ne plus rien modifier. Les erreurs seront écrites dans wp-content/debug.log sans être affichées aux visiteurs :

  • define( 'WP_DEBUG', true );
  • define( 'WP_DEBUG_LOG', true );
  • define( 'WP_DEBUG_DISPLAY', false );

Comment lire le fichier debug.log ?

Rechargez la page en erreur, puis ouvrez wp-content/debug.log. La ligne qui compte commence par PHP Fatal error, suivie par exemple de Uncaught Error: Call to undefined function, d'un chemin du type /wp-content/plugins/nom-extension/includes/fichier.php et d'un numéro de ligne. Le dossier qui apparaît dans ce chemin désigne en général le coupable. Pas toujours celui qui vient d'être mis à jour : une extension peut planter parce qu'une autre, dont elle dépend, a changé.

Si debug.log reste vide, l'erreur survient peut-être avant le chargement de la configuration. Consultez alors le journal d'erreurs PHP de l'hébergement, dans son panneau ou sous forme de fichier error_log.

Tant qu'il existe, debug.log peut être lu à l'adresse votresite.fr/wp-content/debug.log, sauf si l'hébergeur bloque cet accès. Supprimez-le et remettez WP_DEBUG à false dès le diagnostic terminé. Depuis WordPress 5.1, WP_DEBUG_LOG accepte aussi un chemin de fichier, ce qui permet de placer le journal hors du dossier public.

Les messages qui reviennent le plus souvent, et ce qu'ils désignent :

  • Call to undefined function : une extension appelle une fonction qui n'existe plus, souvent après la mise à jour d'une autre dont elle dépend
  • Allowed memory size of … bytes exhausted : la limite de mémoire de PHP est atteinte. On la relève avec define( 'WP_MEMORY_LIMIT', '256M' ); dans wp-config.php, dans la limite de ce que l'hébergeur autorise
  • Cannot redeclare : deux codes déclarent la même fonction, souvent un extrait collé à la fois dans functions.php et dans une extension d'extraits de code
  • Syntax error, unexpected : une faute de frappe à la ligne indiquée ou juste avant

Pourquoi l'erreur apparaît-elle alors que personne n'a touché au site ?

Parce que le serveur ou une mise à jour automatique, eux, ont changé. Un cas fréquent : l'hébergeur fait passer le serveur à une version plus récente de PHP, et un vieux thème ou une extension abandonnée ne suit pas. La version utilisée se lit dans Outils > Santé du site > Informations > Serveur. Revenir à la version précédente depuis le panneau de l'hébergeur rétablit souvent le site, le temps de remplacer l'extension. Ce retour en arrière doit rester provisoire : les anciennes versions de PHP ne reçoivent plus de correctifs de sécurité.

Depuis WordPress 5.5, chaque extension et chaque thème peut se mettre à jour automatiquement. Une mise à jour qui casse le site pendant la nuit est donc possible sans que personne ne se soit connecté. La page Extensions indique, ligne par ligne, si la mise à jour automatique est activée.

Que faire si le site affiche un autre message ?

Chaque message pointe vers une cause différente, et la méthode de ce guide ne vaut que pour l'erreur critique. Voici les messages voisins et la première vérification à faire pour chacun.

Si le site redirige vers d'autres adresses, affiche des pages en langue étrangère dans Google ou contient des comptes inconnus, il s'agit d'un piratage : suivez la marche à suivre pour un site WordPress piraté.

Un site qui s'affiche mais met plusieurs secondes à répondre relève d'une autre démarche, décrite dans notre guide sur le site WordPress lent.

Les autres messages :

  • Brièvement indisponible pour cause de maintenance programmée : une mise à jour interrompue a laissé un fichier .maintenance à la racine. Supprimez-le par SFTP, puis relancez la mise à jour, car l'extension concernée peut être restée à moitié installée
  • Erreur lors de la connexion à la base de données : les valeurs DB_NAME, DB_USER, DB_PASSWORD ou DB_HOST de wp-config.php ne correspondent plus, ou le serveur de base de données ne répond pas. L'hébergeur sait vous dire lequel des deux
  • Erreur 500 : une règle invalide dans le fichier .htaccess ou une erreur PHP. Renommez .htaccess, puis régénérez-le en enregistrant Réglages > Permaliens sans rien changer
  • Page entièrement blanche : souvent une erreur PHP que WordPress n'a pas pu intercepter. Le journal de débogage ou le journal d'erreurs de l'hébergeur la montre
  • Erreur 404 sur toutes les pages sauf l'accueil : les règles de réécriture ont sauté. Enregistrez de nouveau Réglages > Permaliens

Ce que nous ferions à votre place

Commencez par l'e-mail de WordPress, puis renommez le dossier de la dernière extension mise à jour. Ces deux gestes règlent la plupart des erreurs critiques, sans rien abîmer.

Ne réinstallez pas WordPress par-dessus et ne supprimez aucun dossier. Vous effaceriez les indices qui expliquent la panne, et la version exacte de l'extension, utile pour revenir en arrière. Ne restaurez une sauvegarde qu'en connaissant sa date : restaurer à l'aveugle écrase les commandes, rendez-vous et messages reçus depuis, et cette perte-là ne se rattrape pas.

Un retour à l'ancienne version de PHP se garde quelques jours. Pas plus.

Si le site encaisse des paiements ou prend des rendez-vous, fixez-vous une limite. Dossier plugins renommé sans résultat, erreur dans le cœur ou la base, signes de piratage : arrêtez là et faites intervenir quelqu'un. Notre dépannage WordPress commence par un diagnostic sous 2 h ouvrées, à 90 € HT, déduit si vous nous confiez la réparation.

Comment éviter que l'erreur revienne ?

Testez les mises à jour sur une copie du site avant de les appliquer en ligne, au moins pour les extensions de paiement, de formulaire et le constructeur de pages. Gardez des sauvegardes quotidiennes stockées hors de l'hébergement.

Faites le tri dans les extensions : celles qui ne sont plus mises à jour depuis longtemps cassent les premières au prochain changement de PHP. Leur fiche dans indique la date de la dernière mise à jour. Vérifiez enfin que l'adresse de Réglages > Général est une boîte que vous lisez.

La maintenance WordPress, à partir de 49 € HT par mois, prend en charge les mises à jour testées sur une copie et les sauvegardes quotidiennes.

Questions fréquentes

L'administration fonctionne mais le site affiche l'erreur, pourquoi ?

L'erreur vient alors souvent d'un modèle de page du thème ou d'un code court d'extension utilisé uniquement côté public. Désactivez la dernière extension mise à jour depuis la page Extensions, puis rechargez le site dans une fenêtre privée. Si une seule page est touchée, regardez quels blocs ou codes courts elle contient.

Vais-je perdre mes pages ou mes commandes ?

En général non. Les contenus et les commandes sont stockés dans la base de données, que l'erreur critique ne modifie pas. Le risque vient plutôt des manipulations faites dans l'urgence, comme une réinstallation complète ou la restauration d'une sauvegarde ancienne qui écrase les données récentes.

Puis-je revenir à l'ancienne version de l'extension ?

Oui, c'est souvent le plus rapide. Pour une extension gratuite, les versions précédentes sont proposées dans la vue avancée de sa page sur wordpress.org. Remplacez le dossier dans wp-content/plugins par l'ancienne version, puis coupez sa mise à jour automatique le temps qu'un correctif sorte. Pour une extension payante, passez par votre compte chez l'éditeur.

Peut-on contacter l'assistance de WordPress ?

Il n'existe pas de service client pour WordPress lui-même : c'est un logiciel libre, maintenu par une communauté. Les forums d'entraide de wordpress.org, avec une section en français, répondent bénévolement. Pour le serveur, adressez-vous à votre hébergeur. Pour une extension payante, à son éditeur. Un site hébergé sur WordPress.com relève du support de WordPress.com.

WordPress est-il fragile ?

Le cœur de WordPress est stable. Ce qui casse, ce sont les combinaisons : une extension abandonnée, un thème ancien, une nouvelle version de PHP. Un site qui garde peu d'extensions, toutes maintenues, et dont les mises à jour sont testées sur une copie tombe rarement en panne.

Combien coûte une intervention ?

Le diagnostic coûte 90 € HT et il est déduit si vous nous confiez la réparation. Il est fait sous 2 h ouvrées, et vous recevez un devis ferme avant toute intervention. Dans la plupart des cas, la réparation a lieu le jour même. Pour la suite, la maintenance coûte 49, 99 ou 149 € HT par mois selon la formule.

Vous préférez qu'on s'en occupe ?

Site piraté, erreur critique, écran blanc après une mise à jour : on diagnostique sous 2 h ouvrées, on répare, puis on sécurise.