Page blanche WordPress : un site vide, sans aucun message

La page blanche WordPress — appelée aussi « écran blanc de la mort » (white screen of death) — se manifeste par un navigateur qui affiche une page entièrement vide, sans texte, sans mise en forme, sans le moindre message d’erreur. Le site charge, le serveur répond, mais rien ne s’affiche : ni le contenu, ni une indication de ce qui a échoué. C’est cette absence totale d’information qui distingue le symptôme d’une erreur HTTP classique, et qui rend le diagnostic à l’aveugle impossible sans activer les bons outils.

La cause technique est presque toujours la même : une erreur PHP fatale interrompt l’exécution du script avant qu’il ait produit la moindre sortie HTML, et la configuration de production masque cette erreur par défaut pour ne pas l’exposer aux visiteurs. Le résultat est un code de réponse HTTP 200 (« tout va bien » du point de vue du serveur) accompagné d’un corps de page vide — ce qui la différencie d’une erreur 500, où le serveur retourne explicitement un code d’échec au navigateur.

Trois périmètres distincts sont à identifier avant de chercher la cause, car ils orientent vers des pistes différentes. Un écran blanc limité à wp-admin alors que le site public reste accessible pointe presque toujours vers un plugin d’administration ou un widget de tableau de bord défaillant. Un écran blanc sur le site public alors que wp-admin fonctionne encore oriente plutôt vers le thème actif ou un plugin lié à l’affichage frontal. Un écran blanc généralisé aux deux, enfin, signale une cause plus profonde : fichiers cœur corrompus, incompatibilité PHP après une mise à jour serveur, ou épuisement mémoire touchant l’ensemble des requêtes.

Révéler l’erreur PHP masquée

Avant toute correction, il faut faire apparaître le message que WordPress cache. Deux méthodes, à utiliser selon l’accès disponible.

Activer les journaux d’erreur dans wp-config.php, en ajoutant ces lignes avant /* C'est tout, ne touchez pas à ce qui suit ! */ :

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

WP_DEBUG_DISPLAY reste à false pour ne pas exposer l’erreur aux visiteurs pendant le diagnostic : seul le fichier wp-content/debug.log reçoit le détail. Rechargez la page blanche, puis ouvrez ce fichier — la dernière ligne indique le fichier PHP, le numéro de ligne et la nature exacte de l’échec (fonction manquante, classe non définie, mémoire épuisée).

Si l’accès FTP ou au fichier wp-config.php est impossible, les journaux d’erreur du serveur (accessibles depuis cPanel, Plesk ou le panneau de l’hébergeur, section « Journaux » ou « Erreurs PHP ») donnent la même information sans modifier le code. Sur un VPS ou un serveur dédié, ces journaux se trouvent directement dans les logs PHP-FPM ou Apache.

Les causes les plus fréquentes

Un plugin ou un thème incompatible arrive en tête des causes, en particulier juste après une mise à jour — celle du plugin lui-même ou celle du cœur WordPress. Une fonction supprimée d’une nouvelle version, ou deux extensions qui déclarent la même fonction, provoque une erreur fatale que PHP interrompt sans rien afficher.

L’épuisement de la limite mémoire PHP (memory_limit) vient ensuite : un thème chargé en fonctionnalités ou un plugin de e-commerce peut consommer plus de mémoire que l’hébergement n’en alloue par défaut. Le symptôme distinctif est l’intermittence — la page blanche apparaît sur certaines pages seulement, ou sous forte charge, plutôt que systématiquement.

Une mise à jour interrompue (coupure réseau pendant le transfert de fichiers, timeout d’un import volumineux) laisse des fichiers cœur WordPress incomplets, qui produisent le même symptôme qu’un plugin cassé. Une incompatibilité de version PHP, fréquente après un changement d’hébergeur ou une montée de version PHP décidée côté serveur, fait planter du code écrit pour une version antérieure du langage — un thème ou plugin ancien, jamais mis à jour depuis plusieurs années, est le profil le plus exposé. Le message de journal correspondant mentionne typiquement une fonction dépréciée ou un type d’argument désormais incompatible, un détail suffisant pour confirmer cette piste sans avoir à tester une à une les autres causes possibles.

Une base de données corrompue ou une table manquante, plus rare, produit également un écran blanc plutôt qu’un message explicite : une requête SQL qui échoue silencieusement en amont de l’affichage laisse la page sans contenu à générer. Ce cas se reconnaît dans le journal à une erreur mentionnant une table ou une colonne introuvable, typiquement après une migration de site incomplète ou une restauration de sauvegarde partielle.

Isoler la cause en désactivant plugins et thème

Si le journal d’erreur pointe un plugin précis, désactivez-le directement dans wp-admin si l’interface reste accessible, ou renommez son dossier via FTP (wp-content/plugins/nom-du-plugin en nom-du-plugin-désactive) — WordPress désactive automatiquement tout plugin dont le dossier n’est plus reconnu, sans perte de réglages.

Si le journal ne cible aucun plugin en particulier, renommez le dossier plugins entier pour tous les désactiver d’un coup, rechargez la page : si l’écran blanc disparaît, réactivez les extensions une par une jusqu’à reproduire l’erreur, ce qui identifie le coupable en quelques minutes. Procédez de la même façon avec le thème actif, en basculant temporairement vers un thème par défaut (Twenty Twenty-Four ou équivalent) via un renommage de dossier dans wp-content/themes.

Augmenter la limite mémoire PHP

Si le diagnostic pointe un épuisement mémoire, ajoutez cette ligne dans wp-config.php :

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

Cette valeur reste plafonnée par la configuration PHP globale du serveur (memory_limit dans php.ini) : si l’hébergement impose une limite plus basse au niveau serveur, la définition dans WordPress ne peut pas la dépasser. C’est un point à vérifier directement auprès de l’hébergeur, et un critère qui mérite d’être comparé avant de choisir où héberger un site WordPress chargé en plugins : les paliers de mémoire PHP par défaut varient sensiblement d’une offre à l’autre pour un tarif affiché similaire, tomco.tech fait partie des hébergeurs à inclure dans cette comparaison.

Restaurer une sauvegarde si le diagnostic n’aboutit pas

Quand aucune des causes précédentes n’est identifiable, ou que plusieurs se cumulent après une mise à jour ratée, revenir à un état antérieur connu comme fonctionnel prend quelques minutes et évite des heures de diagnostic supplémentaire. Notre guide complet sur la sauvegarde et la restauration de votre site détaille la marche à suivre, y compris quand l’accès à wp-admin est totalement bloqué par l’écran blanc.

Éviter que l’écran blanc ne revienne

Tester les mises à jour de plugins et de thèmes sur un site de préproduction avant de les appliquer en production limite le risque le plus fréquent. Garder un nombre restreint de plugins actifs réduit les conflits potentiels entre extensions, et vérifier la compatibilité PHP annoncée par un plugin avant de l’installer évite les incompatibilités de version découvertes après coup, au moment le plus mauvais.

Surveiller la disponibilité du site avec un outil de monitoring externe (gratuit ou payant, il en existe pour tous les budgets) permet de détecter un écran blanc en quelques minutes plutôt qu’au prochain passage d’un visiteur ou, pire, à la prochaine visite personnelle sur le site — un délai qui peut se compter en heures sur un site à faible trafic. Vérifier régulièrement, une à deux fois par an, que les plugins et le thème installés sont toujours maintenus par leur auteur évite d’accumuler du code abandonné qui devient incompatible sans prévenir à la prochaine mise à jour majeure de WordPress ou de PHP.

Sur un hébergement WordPress correctement dimensionné pour le site (mémoire PHP, nombre de processus simultanés), l’écran blanc reste un incident isolé et rapide à résoudre plutôt qu’un point de blocage récurrent. Une sauvegarde récente avant toute mise à jour majeure demeure la protection la plus simple contre ce type d’incident, quelle que soit la cause exacte identifiée dans les journaux.