Page Blanche : Le White Screen of Death
Quand votre site retourne HTTP 200 mais n'affiche rien
La page blanche, aussi appelée "White Screen of Death" (WSOD) par analogie avec l'écran bleu Windows, est l'un des problèmes les plus pernicieux en développement web. Votre site retourne généralement un code HTTP 200 (succès), mais le navigateur n'affiche rien. Aucune erreur visible, aucun message, juste du vide.
Ce problème est particulièrement insidieux car les outils de monitoring classiques ne le détectent pas. Ils vérifient le code HTTP, voient un 200, et considèrent que tout va bien. Pendant ce temps, vos utilisateurs voient une page vide et pensent que votre site est cassé. L'impact sur le SEO peut aussi être catastrophique si Google crawl pendant l'incident.
La cause est presque toujours une erreur fatale côté serveur (PHP Fatal Error, exception non gérée) qui interrompt l'exécution avant que le moindre output ne soit généré. Le serveur web n'a rien à envoyer, donc il envoie une réponse vide avec un code 200. Le diagnostic nécessite un accès aux logs.
Causes courantes de la page blanche
La page blanche est presque toujours causée par une erreur qui stoppe l'exécution du script avant tout output :
- Erreur PHP fatale : parse error (syntax), appel à une fonction inexistante, classe non trouvée (autoload échoué). Le script s'arrête avant de pouvoir générer du HTML. Avec display_errors=Off en production, rien ne s'affiche.
- Dépassement de memory_limit : le script tente d'utiliser plus de mémoire que le maximum autorisé. PHP tue le processus brutalement, sans avoir le temps d'afficher quoi que ce soit. Courant avec les gros imports ou les boucles infinies.
- Plugin ou extension défaillant : en WordPress, Drupal, Magento, un plugin mal codé ou incompatible peut causer une erreur fatale au chargement. Le site ne peut même pas afficher la page d'erreur.
- Conflit de version PHP : du code écrit pour PHP 7 peut crasher sur PHP 8 (fonctions dépréciées, comportements changés). La mise à jour de PHP sans test préalable est une cause fréquente.
Diagnostic du White Screen of Death
Le diagnostic d'une page blanche requiert de rendre les erreurs visibles :
- Activer l'affichage des erreurs : temporairement, ajoutez ini_set("display_errors", 1); error_reporting(E_ALL); en haut du script, ou modifiez php.ini. Vous verrez l'erreur exacte.
- Consulter les logs PHP : examinez /var/log/php-fpm/error.log, /var/log/apache2/error.log, ou le chemin configuré dans php.ini (error_log). L'erreur fatale y est consignée.
- Isoler le composant fautif : en WordPress, renommez le dossier plugins/ pour désactiver tous les plugins. Si le site revient, réactivez-les un par un. Même procédure pour les thèmes.
- Vérifier les modifications récentes : la page blanche est-elle apparue après un déploiement, une mise à jour, un changement de config ? Git log et les timestamps des fichiers sont vos amis.
Exemple de debugging pour page blanche
Voici comment rendre les erreurs visibles pour diagnostiquer une page blanche :
ATTENTION : ne laissez jamais display_errors=On en production. Une fois l'erreur identifiée et corrigée, désactivez l'affichage des erreurs. Les messages d'erreur peuvent révéler des informations sensibles (chemins, credentials partiels).
Détecter les pages blanches avec MoniTao
Le monitoring HTTP classique ne suffit pas. Voici comment MoniTao vous protège :
- Vérification de contenu : configurez MoniTao pour vérifier qu'un texte spécifique est présent dans la page (ex: votre logo alt, un footer, ""). Si absent = alerte.
- Taille de réponse minimale : une page blanche a une taille de 0 ou quelques bytes. Alertez si la réponse est anormalement petite par rapport à la normale.
- Multi-point de contrĂ´le : surveillez plusieurs pages critiques (accueil, login, checkout). Une page blanche peut n'affecter qu'une partie du site.
- Corrélation avec les logs : quand MoniTao détecte une anomalie, examinez immédiatement les logs PHP pour identifier l'erreur fatale sous-jacente.
Checklist de résolution
- Activer temporairement display_errors ou consulter les logs PHP
- Identifier l'erreur exacte (Fatal error, Parse error, Memory limit)
- Vérifier les modifications récentes (git log, timestamps)
- Tester en désactivant plugins/extensions un par un
- Vérifier la compatibilité de version PHP
- Configurer la vérification de contenu dans MoniTao
Questions fréquentes sur la page blanche
Pourquoi mon monitoring ne détecte pas la page blanche ?
Les outils de monitoring classiques vérifient le code HTTP. Une page blanche retourne 200 (OK), donc le monitoring pense que tout va bien. Utilisez la vérification de contenu MoniTao pour détecter ce type de problème.
Comment activer les erreurs PHP en urgence ?
Ajoutez au début de votre index.php : ini_set("display_errors", 1); error_reporting(E_ALL); Ou créez un fichier .user.ini avec display_errors=On. N'oubliez pas de désactiver après le debug.
La page blanche n'apparaît que sur certaines pages. Pourquoi ?
L'erreur fatale est probablement dans un code spécifique à ces pages (contrôleur, template, plugin activé conditionnellement). Analysez les logs pour trouver le fichier fautif.
Comment prévenir les pages blanches en production ?
Tests automatisés complets, environnement de staging, déploiements progressifs, monitoring avec vérification de contenu, et surtout : ne jamais déployer le vendredi après-midi.
WordPress affiche une page blanche après une mise à jour. Que faire ?
Via FTP, renommez wp-content/plugins/ en plugins_old/ pour désactiver tous les plugins. Si le site revient, le coupable est un plugin. Sinon, testez le thème en renommant wp-content/themes/votre-theme/.
Quelle est la différence entre page blanche et erreur 500 ?
L'erreur 500 affiche une page d'erreur du serveur. La page blanche est une réponse vide avec code 200. Les deux peuvent avoir les mêmes causes (erreur PHP fatale), mais la configuration du serveur détermine le comportement.
Ne laissez plus les pages blanches vous surprendre
La page blanche est un problème sournois qui échappe au monitoring traditionnel. Elle peut persister pendant des heures avant qu'un utilisateur ne la signale, causant des pertes de revenus et un impact SEO. La clé est un monitoring plus intelligent qui vérifie le contenu réel, pas juste le code HTTP.
MoniTao avec sa fonctionnalité de vérification de contenu vous permet de détecter immédiatement les pages blanches. Configurez un mot-clé qui doit être présent sur chaque page critique, et recevez une alerte si ce mot-clé disparaît. Combiné avec des logs bien configurés, vous pouvez diagnostiquer et résoudre une page blanche en quelques minutes.
Liens utiles
PrĂŞt Ă dormir sur vos deux oreilles ?
Commencez gratuitement, sans carte bancaire.