L’écran blanc de la mort : une page blanche qui dit tout, sauf ce qui se passe

Page blanche. Aucun message d’erreur. Aucune indication. Juste le vide — que vous chargiez le front-office, le back-office, ou les deux. C’est ce que la communauté WordPress appelle le WSOD (White Screen of Death), et c’est probablement l’une des pannes les plus déstabilisantes parce qu’elle ne donne rien à quoi se raccrocher.

La bonne nouvelle : dans 95 % des cas, c’est récupérable sans réinstaller WordPress, sans perdre de contenu, et sans toucher à la base de données. Le problème vient quasi systématiquement d’un plugin, d’un thème ou d’une limite mémoire PHP franchie. Ce guide suit une progression logique : du diagnostic le plus rapide au plus technique.

Pourquoi un écran blanc apparaît

WordPress affiche une page blanche (et rien d’autre) quand PHP plante avant d’avoir pu envoyer la moindre réponse au navigateur. Sans erreur visible, parce que le mode debug est désactivé par défaut.

Les causes les plus fréquentes :

Solution 1 — Activer WP_DEBUG pour voir l’erreur

Avant de toucher quoi que ce soit, forcez WordPress à vous dire ce qui se passe. Connectez-vous en FTP (ou via le gestionnaire de fichiers de votre hébergeur) et ouvrez wp-config.php à la racine.

Trouvez la ligne :

define( 'WP_DEBUG', false );

Remplacez-la par :

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

Rechargez votre site, puis consultez /wp-content/debug.log via FTP. Vous verrez quelque chose comme :

Fatal error: Uncaught Error: Call to undefined function get_field()
in /wp-content/plugins/mon-plugin/includes/class-mon-plugin.php on line 47

Le fichier et la ligne indiqués vous donnent la cause exacte. La suite du diagnostic dépend de ce que vous lisez.

Pensez à remettre WP_DEBUG à false dès que le problème est résolu — laisser le mode debug actif sur un site en production expose des informations sensibles.

Solution 2 — Désactiver tous les plugins par FTP

Si le log pointe vers un plugin (ou si vous n’avez pas accès à l’admin du tout), la méthode la plus rapide est la désactivation en masse via FTP, sans passer par le tableau de bord.

  1. Connectez-vous en FTP et naviguez jusqu’à /wp-content/.
  2. Renommez le dossier plugins en plugins_OFF (WordPress ne trouvera plus aucun plugin, ils seront tous désactivés d’un coup).
  3. Rechargez votre site : s’il réapparaît, un plugin était responsable.
  4. Renommez plugins_OFF en plugins pour les remettre en place.
  5. Réactivez les plugins un par un depuis l’admin (qui est maintenant accessible), en rechargeant le site à chaque activation. Le WSOD revient ? Le dernier plugin activé est coupable.

Cette méthode est aussi efficace quand un plugin casse le site après une mise à jour — même logique, même chemin FTP.

Solution 3 — Passer au thème par défaut

Si la désactivation des plugins n’a rien changé, le thème actif est suspect. Même procédure par FTP :

  1. Naviguez jusqu’à /wp-content/themes/.
  2. Renommez le dossier de votre thème actif (ex : mon-thememon-theme_OFF).
  3. WordPress va automatiquement chercher un thème de repli. S’il en trouve un (Twenty Twenty-Four, par exemple), il l’utilisera.
  4. Si aucun thème de repli n’existe, WordPress retourne une erreur explicite — ce qui est déjà plus utile qu’une page blanche.

Si le site revient avec le thème par défaut, le problème est dans votre thème. Vérifiez en priorité le fichier functions.php : une modification récente (même minime) peut provoquer un WSOD immédiat si elle contient une erreur de syntaxe.

Solution 4 — Augmenter la limite mémoire PHP

Un WSOD déclenché par un memory_limit trop bas s’accompagne souvent d’un message dans le log du type :

Fatal error: Allowed memory size of 67108864 bytes exhausted

Trois endroits où vous pouvez relever cette limite :

Dans wp-config.php (méthode la plus simple, prioritaire) :

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

Dans .htaccess (si votre hébergeur le permet) :

php_value memory_limit 256M

Dans php.ini (si vous avez accès au fichier) :

memory_limit = 256M

La valeur 256M est un point de départ raisonnable pour un site WordPress avec une dizaine de plugins actifs. Sur un site WooCommerce chargé ou avec un page builder lourd, montez à 512M.

Pour les autres directives PHP qui peuvent provoquer des comportements similaires :

DirectiveRôleSymptôme si trop basValeur conseillée
memory_limitMémoire max par processus PHPÉcran blanc, erreur “exhausted”256M – 512M
max_execution_timeDurée max d’un scriptÉcran blanc sur pages lourdes, timeout120 – 300
max_input_varsNb de variables POST/GETProblèmes avec menus complexes, WooCommerce3000 – 5000
post_max_sizeTaille max d’une requête POSTUploads qui échouent silencieusement64M – 128M

Si vous êtes sur un hébergement mutualisé sans accès à php.ini, ces réglages passent souvent par le panneau de contrôle (cPanel, Plesk). Sur Plesk, l’accès SSH vous permettra aussi de diagnostiquer plus finement ce qui se passe côté serveur.

Solution 5 — Regénérer le fichier .htaccess

Un .htaccess corrompu peut provoquer un écran blanc uniquement en front-office (l’admin reste accessible). Solution rapide :

  1. Via FTP, renommez .htaccess en .htaccess_OLD à la racine de WordPress.
  2. Rechargez le site : si ça revient, le .htaccess était le problème.
  3. Dans l’admin WordPress, allez dans Réglages > Permaliens et cliquez simplement sur Enregistrer les modifications — WordPress régénère un .htaccess propre.

Solution 6 — Vérifier les fichiers core WordPress

Si rien de ce qui précède ne fonctionne, une mise à jour interrompue a peut-être laissé des fichiers core corrompus. Téléchargez la même version de WordPress depuis wordpress.org, et remplacez manuellement via FTP les dossiers wp-admin et wp-includessans toucher à wp-content (vos thèmes, plugins et uploads sont là).

Ne remplacez pas wp-config.php ni les fichiers à la racine comme index.php ou .htaccess sans les avoir sauvegardés.


Récapitulatif : cause → solution

Cause probablePremière action
Erreur PHP fatale (log vide)Activer WP_DEBUG, lire /wp-content/debug.log
Plugin incompatibleRenommer /wp-content/plugins en plugins_OFF
Thème corrompuRenommer le dossier du thème actif
Mémoire PHP épuiséeAjouter define('WP_MEMORY_LIMIT','256M') dans wp-config.php
.htaccess corrompuRenommer .htaccess, régénérer via Réglages > Permaliens
Fichiers core corrompusRemplacer wp-admin et wp-includes via FTP

Le WSOD n'affecte que l'admin, le front fonctionne. Pourquoi ?

C’est souvent un plugin d’administration qui pose problème, ou une limite max_input_vars trop basse qui fait planter les pages avec beaucoup de champs (menus, options de thème). Désactivez les plugins depuis FTP et relevez max_input_vars à 3000 minimum.

Je n'ai pas accès au FTP. Comment désactiver les plugins autrement ?

Si vous avez accès à phpMyAdmin, vous pouvez désactiver tous les plugins en vidant la valeur active_plugins dans la table wp_options. Cherchez la ligne où option_name = 'active_plugins' et remplacez la valeur par a:0:{}. C’est une manipulation de base de données : faites une sauvegarde avant.

Le debug.log est vide. Est-ce normal ?

Si le fichier est vide alors que le WSOD persiste, vérifiez que WordPress a bien les droits d’écriture dans /wp-content/. Sur certains hébergements, les permissions restrictives empêchent la création du fichier. Vous pouvez aussi essayer de passer WP_DEBUG_DISPLAY à true temporairement pour voir l’erreur directement à l’écran (sur un site en production, uniquement depuis votre IP si possible).

Après avoir résolu le WSOD, dois-je laisser WP_DEBUG activé ?

Non. Remettez WP_DEBUG à false dès que le site est rétabli. Le mode debug peut afficher des chemins de fichiers serveur et d’autres informations sensibles dans les logs ou à l’écran, ce qui est inutile — voire risqué — sur un site en production.

L'écran blanc revient régulièrement. C'est un signe de quoi ?

Un WSOD récurrent pointe souvent vers un problème structurel : mémoire PHP chroniquement insuffisante, thème trop lourd, plugins en conflit permanent, ou hébergement sous-dimensionné. Si vous le croisez régulièrement, c’est le bon moment pour réfléchir à un plan de maintenance sérieux plutôt que de continuer à éteindre les incendies un par un.

Quand passer la main à un pro

Si après toutes ces étapes l’écran blanc persiste — ou si vous n’avez tout simplement pas accès au FTP (prestataire injoignable, accès non communiqués) — le diagnostic devient plus complexe : erreur dans un fichier mu-plugin, conflit au niveau du serveur web, base de données partiellement corrompue. Ce sont des situations où gratter sans les bons outils fait plus de dégâts que le WSOD lui-même.

Dans ce cas précis, la priorité est de récupérer les accès avant tout. Le guide sur comment récupérer un site quand votre prestataire a disparu couvre exactement ce scénario. Et si vous n’avez jamais eu les accès FTP/hébergeur en main, l’article sur les 7 accès à exiger de votre agence vous évitera de vous retrouver bloqué la prochaine fois.

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