Tu connaissais le bleu screen of death, lorsque ton windows plante d’un seul coup ? Dis bonjour au White screen of death sur WordPress.
Cette erreur, ce problème, ce désagrément, appels le comme tu le veux, est des plus ennuyeux. En effet, si on connaît plus généralement le problème erreur de connexion à la base de donnée sous WordPress, le syndrome de la page blanche, ou white screen of death, nous confronte à un problème plus épineux car… on n’a aucune indication sur la source du problème.
Pour tout te dire, je n’avais encore jamais rencontré ce problème, après des années d’utilisation de WordPress. Mais ce qui est formidable avec la formation WordPress, c’est qu’on en apprend tous les jours. Un de mes stagiaires, que je salut et remercie donc, a réussi à générer cette erreur de la page blanche sous WordPress, alors qu’il en était à sa toute première installation ! Le moment pour moi de tenter de comprendre comment résoudre un soucis… qui parait insoluble de prime abord.
J’ai donc fais un tour sur le web, et je te rapporte dans ce billet les trucs et astuces que le monde anglophone nous apprend. Tu trouveras à la fin de cet article tous les liens que j’ai utilisé pour écrire ce qui suit.
Si toi aussi tu rencontres un problème avec une page blanche sous WordPress, tu devrais réussir à débloquer la situation en appliquant un des conseils qui suit !
Keep Cool !
Le moins que l’on puisse dire, c’est que face à une page blanche… on se sent impuissant. Et la première des réactions normale, serait de paniquer. Mais bien entendu, ce n’est pas ce qu’il faut faire ! En gardant la tête froide, on arrive plus facilement à débloquer la situation et surtout, on évite de l’empirer !
Même si ce premier conseil peut sembler hors de propos, car sans relation direct avec WordPress, il te sera d’une grande aide.
Donc on respire, on se détend, et on y va a taton. On finira bien par trouver la solution, y’a pas de raison !
Sauvegarde, sauvegarde, sauvegarde !
À les sauvegardes… si j’en ais pas déjà parlé 100 fois ici, j’en ais jamais parlé ! C’est assez incroyable que certaine personne se pose la question de la sauvegarde que lorsque cela est trop trop tard. Bien entendu, je ne parle pas de toi 😉 Enfin… il se peut que tu sois dans ce cas car, après tout, si tu lis cet article et que tu espères de tout cœur y trouver la réponse qui te sauvera, c’est très certainement que tu n’as pas fais de sauvegarde.
Si avant que cette mésaventure t’apprennes à débloquer le problème de la page blanche sous WordPress, il te permette avant tout d’apprendre qu’il faut faire des sauvegardes de ton site WordPress, ce sera déjà pas mal. Après tout, nous sommes humain, et nous apprenons bien plus de nos propres erreurs, que celles des autres.
Toujours dans mon habit de formateur WordPress, j’ai découvert un super plugin pour faire des sauvegardes. Promis, je t’en parles bientôt. Dès que le billet sera publié, je le mettrais en ligne et ferais un lien dans cet article.
Mais pourquoi est-il aussi Méchant ? (Parce que !!!)
Toujours aussi stressé ? Allé, regarde cette petite vidéo, ça devrait te faire du bien 😉
Bon, passons aux choses sérieuses !
Si WordPress peut parfois nous faire devenir vert en nous générant une page blanche, cela peut venir de pas mal de raisons, dont voici les plus communes :
- Tu as atteins la limite d’exécution PHP
- Un plugin s’est planté
- Un thème s’est planté
- Une mise à jour automatique de WordPress s’est mal déroulée
- Ton fichier wp-config.php est corrompu
- Ton fichier .htaccess est corrompu
Nous allons passer tout cela à la loupe, step by step comme on dit à clermont ferrand !
Accrois ta mémoire, mange du poisson
Comme je te l’ais dis, j’ai lu pas mal de pages traitant de cette fameuse page blanche ou white screen of death. Le premier conseil qui revient assez souvent, c’est d’augmenter la mémoire allouée à PHP.
Bon, normalement si PHP consommait trop de mémoire, ce ne serait pas une page blanche que tu obtiendrais, mais plutôt quelque chose qui ressemblerait à cela :
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home4/xxx/public_html/wp-includes/plugin.php on line xxx
Mais il est pas non plus improbable que l’erreur ne remonte pas. On verra dans le paragraphe suivant comment on pourrait y parvenir.
Quoi qu’il en soit, augmenter la mémoire allouer à WordPress n’est pas bien compliqué… si ton hébergeur te laisse faire. En effet, même en effectuant la manipulation qui suit, si ton hébergeur te limite, tu ne pourras pas augmenter la mémoire allouer à WordPress.
Et puis pour être francs, pourquoi se priver de tenter le coup ? Même si ton problème ne vient pas de là, ça ne pourra pas faire de mal d’allouer un peu plus de mémoire à ton WordPress ! La manipulation est des plus simples. Ouvres le fichiers wp-config.php présent sur la racine de ton hébergement, et ajoute cette ligne :
define(
'WP_MEMORY_LIMIT'
,
'64M'
);
Bon tu l’auras compris, pas la peine de rêver et de vouloir allouer 4 Go, ça ne passera pas. Si tu veux savoir jusqu’où tu peux aller, à ma connaissance, la seule solution est d’appeler le support de ton hébergeur*.
Petite question à toi lecteur, si tu as la réponse, merci de la laisser en commentaire. Comment fait-on pour savoir quelle est la mémoire que notre hébergeur nous alloue… sans l’appeler ?
Faisons parler cette page blanche !
Si tu sais lire un peu être les lignes, tu l’auras compris, à mon humble avis, la toute première chose à faire ce n’est pas d’augmenter la taille de la mémoire allouée, mais plutôt de faire parler cette vilaine page blanche, et tenter de la faire parler. Pour y arriver, ce n’est pas bien compliqué. Connectes-toi à ton client FTP favoris, connectes-toi à ton site, et édites le fichier wp-config.php de ton site qui te fais tant suer. À la ligne
define('WP_DEBUG', false);
change la valeur false par true. Sauvegarde, renvois le fichier sur ton hébergement, et rafraichis ta page. Deux cas de figure :
- Il se passe rien, et il va falloir continuer à creuser.
- Tu as une ligne qui apparait.
Si tu es dans le deuxième cas, tant mieux, ca va allé vite !
Voici le type de ligne que tu pourrais bien voir :
Fatal error: Class 'WPBakeryShortCode' not found in /home/trainingsj/www/wp-content/plugins/Ultimate_VC_Addons/modules/Ultimate_Buttons.php on line 701
Sans même être un grand spécialiste ni de WordPress, ni de PHP, tu dois bien te doute qu’une ligne commençant par Fatal error… c’est jamais très bon 🙂
En lisant un peu plus la ligne en question, on comprend d’où vient le problème. Ici le problème se passe dans le répertoire wp-content -> plugins -> Ultimate_VC_Addons.
Il se peut que tu rencontres d’autres messages d’erreur (en fait, je dirais même que ça serait normal, vu que ton problème sera certainement du à autre chose qu’à ce plugin très précis ;). À toi de t’adapter. Mais lis le paragraphe suivant, et tu seras comment on règle ce type de problème.
Désactive tes plugins…
Deux cas de figures, soit tu souhaites désactiver un plugin WordPress parce qu’après avoir lancé le mode débug de WordPress tu sais que le problème vient d’un plugin, soit parce que tu sais toujours pas, et qu’il faut bien commencer quelque part !
Pour désactiver tes plugins WordPress un par un voir tous tes plugins d’un seul coup, deux méthodes.
… par le FTP
Si tu veux le faire par le FTP, solution qui me semble la plus simple à mes yeux, connectes toi sur ton hébergement, rends toi dans le répertoire wp-content -> plugins. Une fois que tu y es, fais un clique droit sur le répertoire du plugin que tu souhaites désactiver et clique sur renommer (ou encore appuis sur la touche F2 ;). Il te suffira de renommer le nom du répertoire du plugin en question pour le désactiver. À toi de décider comment le renommer. Personnellement, j’aime bien rajouter un _ devant le nom. Cela donne _nom-du-plugin. Mais tu peux aussi faire nom-du-plugin.desactive. À toi de voir. Désactive un plugin, recharge ton interface WordPress, et vois si le plugin que tu as désactivé te permet maintenant de retrouver ton site comme avant. Si ce n’est pas le cas, réitère la procédure ou… désactive les tous d’un coup.
Si tu veux tous les désactiver d’un seul coup, et que tu possèdes beaucoup de plugins, cela peut prendre du temps de les renommer les uns après les autres. Pour aller plus vite, renomme directement le répertoire plugins. Si ton site se remet à fonctionner normalement, alors c’est que le problème vient bien de là. Et là, tu y couperas pas, il faudra les désactiver un par un, mais au moins, tu sauras que tu ne fais pas ça pour rien !
… par PhpMyAdmin
Bon déjà, si je te parle de PhpMyAdmin, et que tu sais pas comment y accéder, oublie, et utilises uniquement la solution FTP. Mais si tu es un peu plus téméraire, connecte toi à PhpMyAdmin, et localise la table wp_options, tu y trouveras une entrée appelée active_plugins. Passe sa valeur à a:0:{}. Attention, tu vas désactiver tout tes plugins d’un seul coup.
Désactive tes thèmes
Tu as désactivez tes plugins, et cela n’a toujours pas solutionné ton problème ? Bon, c’est que cela doit venir d’un thème. La procédure est un peu différente. Avant de faire ce qui suit, je te conseil très vivement de faire une sauvegarde en local du répertoire themes de ton site. Une fois que c’est fait, supprime le répertoire du thème que tu es entrain d’utiliser, et laisse les thèmes par défaut de WordPress. Par défaut, WordPress viendra réutiliser un de ses thèmes par défaut. Bien entendu, tout ça se fait en FTP.
Si tu aimes le danger, voyons comment tu pourrais le faire avec PhpMyAdmin 🙂
Ça se passe toujours dans la table wp_options mais cette fois-ci, tu vas devoir changer les valeurs de template, stylesheet et current_theme en faisant passer la valeur à twentyeleven ou un autre nom de thème WordPress que tu as sur ton hébergement.
Une fois que c’est fait, rends toi à nouveau sur ton site et test. Avec un peu de chance, le problème venait de là.
Tu as vraiment pas de chance…
Bon, tu viens de tester ce qui généralement résout ce type de problème et… rien n’y fait ! Tu commences à avoir chaud hein ? 🙂
Allé, te décourage pas, tu as encore des solutions à tester !
.htaccess
Bon, il se pourrait que ton problème vienne de ton fichier .htaccess. Tu le trouveras à la racine de ton site, sur ton hébergement.
Pour info, voila à quoi doit ressembler à fichier .htaccess basique avec WordPress :
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Et si tu as eu la bonne idée de faire tourner une version multisites de WordPress en sous-domaine, cela donner cela :
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^(wp-(content|admin|includes).*) $1 [L] RewriteRule ^(.*\.php)$ $1 [L] RewriteRule . index.php [L]
Tu peux toujours tenter de venir remplacer les valeurs que tu trouveras dans ton fichier .htaccess par ces dernières mais… faut bien attention à sauvegarder ce qui s’y trouve avant !
Petite précision si tu n’es pas un expert des clients FTP. un fichier commençant par un point, comme .htaccess, signifie que ce fichier est un fichier caché. Par définition, tu ne devrais pas le voir… bah oui… s’y c’est un fichier caché pardi ! Si tu utilises FileZilla, va sur le menu serveur et cliques sur Forcer l’affichage des fichiers cachés. Petite info comme ça… mais si tu le sais pas, tu pourrais le chercher un moment ce fichier, sans jamais le trouver.
Cache-cache…
En fait, tu le savais pas, mais ton site voulait jouer à cache-cache avec toi 😉 Tu t’en doutes certainement, nous allons parler du cache ici. En fait, un problème de cache déclencherait une page blanche de manière un peu plus aléatoire, comme une page blanche sur un billet très long, ou encore seulement sur le front office, et pas sur le back office. Désactive donc le cache pour voir si cela va résoudre ton problème.
Mauvais caractères…
Non, je ne parle pas de ton état en ce moment, mais du fait que de mauvais caractères peuvent s’être glissés dans ton fichiers wp-config.php par exemple. En fait, j’ai déjà vu le cas avec un autre stagiaire. Alors que nous utilisions bien notepad, un caractère cabalistique s’était glissé dedans. Nous avions beau l’éditer, impossible de le voir. Alors déjà, je te conseil vivement de ne plus continuer à utiliser NotePad, mais plutôt NotePad++.
Ensuite, copie colle le contenu du fichier wp-config-sample.php dedans et change à la main (sans copier / coller) avec les bonnes infos de ta base de donnée. Renomme le fichier wp-config.php qui est déjà sur ton serveur en _wp-config.php et envois le nouveau que tu as préparé.
Tiens… ce fichier ne devrait pas être là !
Je parle du fichier .maintenance. En effet, il se peut que tu trouves ce fichier sur la racine de ton site. Si tel est le cas, et que tu n’as pas fait de mise à jour, il se peut que WordPress ait fait une mise à jour automatique et qu’il n’ait pas été bien supprimé. Supprime le à la main.
Réinstalle WordPress…
Il se peut que tu sois toujours bloqué… et il va falloir passer à la vitesse supérieure. Encore une fois, fais une sauvegarde avant de faire ce qui suit.
Télécharge l’archive de WordPress, décompresse là, et envois tout sur ton serveur… C’est un peu radicale. Mais au point où tu en es…
Pour conclure
J’espère de tout cœur que ce billet t’aura permis de solutionner ton problème de page blanche. Si tu connais d’autres astuces, tu sais quoi faire hein… postes un commentaire !
Webographie
Voici la liste des sites que j’ai utilisé pour écrire cet article :
- WordPress.org : Common WordPress Errors
- WP Beginner : How to fix the wordpress white screen of death
- Web Synthesis : Troubleshooting WordPress white screen of death
- Tuts plus : Fixing WordPress white screen of death
- The Theme Foundry : WordPress White Screen of death
*En parlant de support client hébergeur, permet moi de faire un petit écart à cet article pour te dire que depuis toujours je travail avec OVH quand je dois faire du mutualisé, et iKoula pour les serveurs infogérés. Si j’ai rien à redire sur OVH niveau hébergement, je dois avouer qu’un stagiaire travaillais lui chez 1&1. Nous avons du appeler son hébergeur pour résoudre un soucis. Et là, je dois avouer que j’ai été bleuffé. Premièrement, l’appel est pas sur-taxé, c’est cool pour le porte-monnaie. Deuxièmement, l’appel à abouti en quelques secondes. Et enfin, je suis tombé sur une personne charmante qui, même si le problème ne venait pas à proprement parlé du serveur, à passé plus de 15 minutes avec moi pour nous débloquer un soucis de remonté d’erreur sur le back office de WordPress. Après plusieurs années passées chez OVH, je peux vous dire qu’en un seul appel, ils m’ont fait me poser de sérieuses questions ! Bon, un mauvais point pour eux, ils ne nous permettent pas de gérer des entrées DNS en mode wildcards ou joker. Mais bon, on peut très bien avoir son hébergement d’un côté, et ses domaines d’un autre 😉