Cet article a été mis à jour il y a plus de 22 mois. Le contenu qu'il propose n'est peut-être plus à jour.

Page blanche sur WordPressCeux qui utilisent WordPress régulièrement ont déjà eu ce problème : le bug de la page blanche.

Vous chargez votre site, vous mettez à jour un plugin ou un thème et c’est le drame : vous avez le droit à une magnifique page blanche à chaque fois que vous vous rendez sur une page de contenu ou sur l’administration de votre CMS. Pourquoi ce bug est-il présent, et comment faire pour s’en débarrasser ? Suivez le guide.

Le problème de la page blanche

Rien à voir donc avec la panne d’inspiration. Le problème de la page blanche, c’est plutôt quand vous essayez de charger une page de votre site et que vous n’avez rien en retour : pas de message d’erreur, mais pas de contenus non plus… Ce bug est souvent lié à un problème d’incompatibilité avec votre serveur, vos plugins ou votre thème.

C’est d’ailleurs assez simple à détecter : quelle que soit la page que vous cherchez, vous aurez à chaque fois une jolie page blanche. Il est impossible de passer outre. Il vous faut donc traiter les causes potentielles les unes après les autres pour corriger le tout.

Supprimer le bug de la page blanche

La fausse alerte

C’est parfois le cas lorsque l’on rencontre le bug de la page blanche. Parfois, votre serveur met du temps à réagir, ou alors une mise à jour est un peu plus lourde et longue que les autres. Dans les deux cas, le résultat est soit une blancheur immaculée, soit des messages d’erreur…

» La solution : essayez de charger une autre page du site (que ce soit un article ou une autre page de l’administration de WordPress). Si cela fonctionne, le problème est résolu. Sinon testez les causes suivantes.

Les plugins

Souvent, la page blanche est liée à un des plugins présent dans votre installation WordPress. Soit vous en avez installé un, soit il s’est mis à jour, ce qui provoque dans les deux cas une incompatibilité. Il est aussi possible que votre serveur ait été modifié (version de PHP, htaccess, …) et que les nouveaux paramètres entrent en conflit avec vos différentes extensions.

» La solution :

  • renommez le répertoire plugin en plugin2. Il est situé dans monsite.com/wp-content/plugin.
  • Rendez-vous ensuite sur la page des extensions de WordPress, ce qui forcera la désactivation de ceux-ci. Elle est située à cette adresse : monsite.com/wp-admin/plugins.php
  • Si votre site charge toujours une page blanche, le problème ne venait pas de là.
  • Si on contraire cela fonctionne, il faut faire l’inverse en renommant plugin2 en plugin. Réactivez ensuite un à un les plugins pour savoir lequel est le fautif pour le supprimer, le remplacer ou le mettre à jour.

Le thème

Le thème peut aussi poser problème. Si certaines fonctions ou si certains fichiers ne sont pas correctement codés, cela peut provoquer le bug de la page blanche sur une, sur plusieurs ou sur l’ensemble des pages de votre blog WordPress.

» La solution : la solution est identique à celle des plugins :

  • renommez le répertoire de votre thème actuel en nomdemontheme2. Il est situé dans monsite.com/wp-content/themes/nomdemontheme.
  • Rendez-vous ensuite sur la page des thèmes de WordPress, ce qui forcera la désactivation de ce dernier. Cette page est située à l’adresse suivante : monsite.com/wp-admin/themes.php. Vous devriez voir un message du type « votre thème est endommagé, retour au thème par défaut« .
  • Si votre site charge toujours une page blanche, le problème ne venait pas de là.
  • Si cela fonctionne, il faut faire marche arrière en renommant nomdemontheme2 en nomdemontheme. Réactivez votre thème uniquement après l’avoir corrigé.

Le fichier .maintenance

Lorsque WordPress se met à jour, il se place en mode de maintenance. Pour cela, il créer un fichier .maintenance à la racine du site. Lorsqu’il met à jour le cœur du CMS, un plugin ou thème, il va utiliser temporairement ce fichier mais va parfois rencontrer un bug lors de sa suppression. Si cet élément est encore présent sur votre hébergement, il va empêcher tout visiteur de venir lire vos contenus, d’où la page blanche ou la page de maintenance par défaut.

» La solution : si vous êtes sûr que toute mise à jour est terminée, supprimez purement et simplement le fichier .maintenance située à la racine du site.

Une mise à jour incomplète de WordPress

Il est aussi possible que vous ayez mis à jour WordPress, que ce dernier ait bien supprimé le fichier.maintenance, mais que la mise à jour soit corrompue ou incomplète. Il suffit parfois d’un seul fichier mal transféré pour avoir le bug de la page blanche.

» La solution : rendez-vous sur WordPress Francophone pour télécharger la dernière version du CMS. Avec votre logiciel FTP (comme Filezilla), faite un transfert de tous les fichiers de l’archive sur votre hébergement pour remplacer tous les fichiers d’un coup. Normalement, cela devrait résoudre automatiquement le problème.

Le fichier htaccess

Ce fichier situé à la racine permet de configurer votre serveur, gérer la réécriture d’URL et divers paramètres de votre hébergement et de WordPress. L’htaccess peut cependant mettre à terre votre blog. C’est notamment le cas quand certains plugins le modifient (comme les plugins de cache par exemple).

» La solution : faite une copie du fichier .htaccess puis supprimez-le. Si c’est le fautif, tout devrait « plus ou moins » rentrer dans l’ordre.

Attention, vous aurez peut-être corrigé le bug de la page blanche, mais en fonction de votre hébergement et de vos plugins, vous aurez d’autres bugs (erreurs 404, messages d’erreur, cache inexistant, ..). Vous devrez donc créer un autre fichier htaccess vide pour qu’il puisse être mettre à jour par le CMS et les plugins. Par exemple,  un simple changement des permaliens de WordPress qui nécessite la présence de ce fichier.

Une corruption de la base de données

Votre base de donnée peut être complètement corrompue, et ce pour diverses raisons. C’est d’ailleurs sans doute ce qui peut arriver de pire à votre blog, car les autres bugs provoquant la page blanche se corrigent en générale de manière assez facile.

» La solution : Il n’y a que deux solutions possible :

  • Vous réparez la base de donnée, soit via un plugin, soit via le PHPmyadmin de votre hébergement.
  • Vous importez une base de donnée plus ancienne, là aussi via un plugin ou PHPmyadmin, mais vous perdrez les données créées depuis cette sauvegarde.

WP-Config au mauvais format

Il arrive parfois qu’une mauvais ligne de code se soit glissée dans le fichier wp-config.php situé à la racine de votre site, ou que celui-ci soit au mauvais format (par exemple un mauvais encodage de caractères).

» La solution : Il n’y a que deux solutions possible :

  • Si c’est un problème d’encodage, ouvrez le fichier wp-config.php et enregistrez-le au bon format : normalement en ANSII
  • Si c’est une erreur, ouvrez le fichier wp-config.php pour remplacer son contenu par wp-config-sample.php. attention à bien conserver cependant les données de connexion à la base de données, ou encore les éventuelles lignes rajoutées par certains plugins, par exemple pour le cache

Mémoire limite

Là, c’est plus ou moins problématique. Parfois, certains scripts, plugins ou contenus nécessitent beaucoup de mémoire serveur pour s’exécuter. Si ceux-ci sont trop lourd, cela provoque des messages d’erreurs, des bugs ou une belle page blanche comme on l’aime…

» La solution : 3 solutions s’ouvrent à vous pour augmenter la taille de mémoire limite d’exécution de vos scripts

  • Dans le fichier wp-config.php situé à la racine du site, ajoutez ou modifiez la ligne suivante en augmentant la valeur située à la fin. Mettez 128, ce qui vous laissera une marge suffisante pour exécuter vos scripts. Attention, vous serez toujours bridé par la configuration du serveur. Si celui-ci est limité à 64, vous ne pourrez dépasser cette valeur même avec le fichier de configuration de WordPress.
define('WP_MEMORY_LIMIT', '128M');
  • Changez directement la valeur de la mémoire d’exécution au niveau de votre hébergeur. En fonction de celui-ci, cela peut se faire via une interface d’administration, via le fichier .htacess ou encore via une fichier de configuration Ini. Le mieux, c’est de vous renseigner auprès de votre hébergeur.
  • Dernière solution, changez d’hébergeur…

CHMOD

Chaque fichier placé sur votre serveur possède des droits en lecture, écriture et exécution en fonction de l’utilisateur. Ces droits, s’ils sont mal attribués, peuvent planter votre blog et faire apparaître (encore) la page blanche (ou d’innombrables messages d’erreurs). Pour changer ces droits, on fait un CHMOD des fichiers, selon une série de 3 chiffres. Pour donner quelques exemples :

  • 777 donne tous les droits à l’utilisateur (risque élevé pour la sécurité)
  • 444 Le fichier ne peut qu’être lu. Il ne peut être ni exécuté sur le serveur, ni modifié

» La solution : Utilisez votre logiciel FTP ou l’interface d’administration de votre hébergement pour changer les droits des différents fichiers. De manière générale, voici les CHMOD que je vous conseille :

  • 755 sur les répertoires
  • 644 sur les fichiers

C’est ensuite au cas par cas qu’il faudra modifier certains CHMOD. Par exemple, certains plugins ont besoin que leur répertoire soit en CHMOD 766 ou 777 (les plugins de cache, les plugins de sauvegarde de la base de données, …).

Fichier config.php corrompu

Last but not least, il est possible que le fichier config.php de votre WordPress contienne une erreur (espace en trop, point virgule en moins, …). La remise en état de celui-ci peut tout simplement faire revenir votre blog d’entre les morts.

» La solution : commencez par sauvegarder votre fichier actuel sur votre disque dur puis supprimez celui sur le serveur. Renommez ensuite le fichier config-sample.php en config.php (vous le trouverez également en téléchargeant la dernière version de WordPress), puis entrez dedans la configuration de votre base de données fournie par votre hébergeur. Si la page blanche venait de là, le fichier sample qui était propre a normalement résolu le problème.

Si aucune de ces solutions ne marche, tirez-vous une balle, ou posez votre question en commentaire. ;)