Si vous rencontrez un message d’erreur sur votre site WordPress, ne paniquez pas, les erreurs les plus courantes sont souvent faciles à résoudre.
Cet article liste les erreurs les plus courantes rencontrées par les utilisateurs et utilisatrices de WordPress et propose un point de départ pour les résoudre. Vous trouverez des articles plus détaillés ou des liens vers les forums de support dans la documentation.
L’écran blanc de la mort
Les erreurs PHP et de base de données peuvent se manifester par un écran blanc, vide, sans information, plus connu dans la communauté WordPress sous le nom « d’écran blanc de la mort » (en anglais « WSOD pour White Screen Of The Death »).
Cet écran blanc peut être provoqué par les raisons suivantes.
Une extension crée des problèmes de compatibilité
Vous pouvez essayer de trouver quelle est l’extension en cause :
- Si vous avez accès aux écrans d’administration, essayez de désactiver toutes les extensions puis de les ré-activer une par une jusqu’à reproduire l’erreur.
- Si vous n’avez pas accès au tableau de bord, connectez-vous par FTP à votre site et renommez le dossier
wp-content/plugins
enplugins_old
. Cela désactivera toutes vos extensions. Si l’erreur disparait, il y a des chances qu’une extension soit en cause. Renommez chaque dossier d’extension danswp-content/plugins
tout en vérifiant si l’erreur disparait.
Vous pouvez en apprendre plus sur la désactivation manuelle des extensions dans la FAQ de dépannage.
Votre thème est à l’origine du problème
Cela pourrait être particulièrement le cas si l’écran blanc apparait juste après avoir activé un nouveau thème, ou après création d’un nouveau site sur un réseau multisite.
Pour savoir si votre thème provoque l’erreur, vous pouvez activer un autre thème :
- Si vous avez accès au tableau de bord, activez un des thèmes par défaut de WordPress, par exemple Twenty Twenty-One.
- Si vous n’avez pas accès au tableau de bord, connectez-vous par FTP à votre site et renommez le dossier de votre thème actif afin de le désactiver.
La fonctionnalité de débogage (WP_DEBUG
) apporte plus d’informations sur les erreurs PHP ou de base de données.
Erreur Interne du Serveur
ou « Internal Server Error » en anglais.
Plusieurs causes peuvent être à l’origine d’erreurs internes du serveur. Voici quelques pistes pour les résoudre :
- La cause la plus courante est un fichier .
htaccess
altéré ou corrompu. Connectez-vous à la racine de votre site en FTP et renommez votre fichier .htaccess
en.htaccess_old
. Rechargez votre site, si l’erreur a disparue, visitez l’écran des Permaliens (Réglages puis Permaliens) et réinitialisez vos permaliens, cela générera un nouveau fichier .htaccess
. Vous pourrez alors supprimer votre fichier renommé. - Une extension pourrait être à l’origine du problème, essayez d’identifier laquelle.
- Votre thème pourrait être à l’origine du problème, essayez d’activer un thème par défaut.
- Augmentez la mémoire allouée à PHP.
- Remplacez les dossiers
wp-admin
etwp-includes
par ceux téléchargés sur wordpress.org.
Erreur de connexion à la base de données
Si vous voyez le message d’erreur « Erreur de connexion à la base de données » (en anglais « Error Establishing Database Connection »), cela veut dire qu’il y a un problème de connexion à la base de données utilisée par WordPress. Cela peut-être dû a plusieurs raisons, dont voici les plus courantes.
Le fichier wp-config.php est mal configuré
Pour vous assurer que votre fichier wp-config.php
est bien configuré, connectez-vous à votre site avec un client FTP et ouvrez le fichier wp-config.php
situé à la racine de l’installation. Ensuite, vérifiez que les informations de connexion sont correctes :
- nom de la base de données ;
- identifiant de la base de données ;
- mot de passe de la base de données ;
- et serveur de la base de données.
En savoir plus sur la modification du fichier wp-config.php.
Si vos informations de connexion sont correctes mais que l’erreur persiste, vous pouvez essayer de réinitialiser le mot de passe de la base de données et de le mettre à jour dans le fichier wp-config.php
.
Problème d’hébergeur
Si vous rencontrez toujours la même erreur après avoir vérifié les informations de connexion, vous pouvez contacter votre hébergeur. Voici les erreurs liées au serveur les plus courantes :
- Votre base de données a atteint son quota maximum et a été fermée.
- Le serveur est en surcharge ou en panne.
Dans les deux cas, contactez votre hébergeur.
Site piraté
Si aucune des deux pistes ci-dessus ne vous a permis d’identifier la source de l’erreur, alors peut-être que votre site a été piraté.
Scannez votre site sur Sucuri SiteCheck, cela pourra vous aider à savoir s’il a été effectivement piraté, et vous pouvez lire « FAQ : que faire si votre site WordPress a été piraté ? ».
Mise à jour automatique échouée
Dans certaines situations, les mises à jour automatiques de WordPress peuvent échouer. Les symptômes peuvent être :
- un écran blanc sans information ;
- un avertissement disant que la mise à jour a échouée ;
- une erreur PHP.
La fonctionnalité de mises à jour automatiques de WordPress peut échouer pour plusieurs raisons : un problème de connexion avec les fichiers principaux de WordPress, un dysfonctionnement au niveau de votre connexion internet, ou encore une configuration incorrecte des permissions de fichiers.
Si le problème persiste, vous pouvez mettre à jour WordPress manuellement.
Connexion échouée
Cette erreur se nomme « Connection Timed Out » en anglais.
Cette erreur survient lorsque votre site essaie de faire plus que ce que le serveur sur lequel il est hébergé lui permet. C’est particulièrement courant sur les hébergements mutualisés, quand la mémoire allouée est limitée. Voici quelques pistes pour résoudre ce problème :
- Une extension pourrait être à l’origine du problème, essayez d’identifier laquelle.
- Votre thème pourrait être à l’origine du problème, essayez d’activer un thème par défaut.
- Augmentez la mémoire allouée à PHP.
- Augmentez le temps maximum d’exécution dans votre fichier « php.ini ».
Ce n’est pas un fichier de WordPress, si vous n’êtes pas sûr⋅e de comment le modifier, contactez votre hébergeur pour qu’il le fasse pour vous.
Mode maintenance après une mise à jour
Quand WordPress exécute une mise à jour, il créé automatiquement un fichier .maintenance
à la racine de votre site. Si à la suite d’une mise à jour, vous voyez toujours le message « Indisponibilité temporaire pour cause de maintenance. Veuillez revenir dans un instant. » ou « Briefly unavailable for scheduled maintenance. Check back in a minute. », cela veut dire que le fichier .maintenance
n’a pas été correctement supprimé.
Pour supprimer ce fichier et le message, suivez ces étapes :
- Connectez-vous à votre site avec un client FTP.
- Supprimez le fichier .
maintenance
situé à la racine de l’installation.
Modifications non affichées
Les navigateurs stockent des informations à propos des sites que vous visitez, afin de les afficher plus rapidement lors de vos prochaines visites.
Si les modifications que vous avez apportées ne sont pas suffisamment signifiantes pour que votre navigateur rafraîchisse son cache, il affichera une ancienne version de votre site, sans vos modifications.
Pour corriger cela, videz le cache de votre navigateur.
Échec du téléversement de médias et erreurs 404
Si vous rencontrez des erreurs 404 « page non trouvée » avec les permaliens et un écran blanc quand vous téléversez des médias, peut-être que le module mod_rewrite n’est pas activé par défaut dans Apache. Ce module est une extension du serveur web Apache, qui permet de ré-écrire les URL à la volée. Il est nécessaire pour que les permaliens optimisés fonctionnent.
Ces problèmes peuvent survenir sur les réseaux multisites, mais cela peut également être le cas sur les hébergements mutualisés ou après une migration de site.
Pour résoudre ces problèmes, réinitialisez les permaliens dans Réglages puis Permaliens. Si cela ne fonctionne pas, vous devrez modifier le fichier .htaccess manuellement. Basez-vous sur les exemples courants (en anglais).
Si vous n’êtes pas à l’aise pour modifier le fichier .htaccess
, contactez votre hébergeur pour lui demander d’activer le module mod_rewrite
afin de pouvoir utiliser les permaliens optimisés.
Erreurs 404 et types de publication personnalisés
Si vous rencontrez des erreurs 404 « page non trouvée » avec vos types de publication personnalisés, essayez ces étapes :
- Assurez-vous qu’aucune de vos publications personnalisées et vos pages ont le même nom. Si c’est le cas, renommez votre page ou publication, y compris son slug.
- Dans l’écran des Réglages puis Permaliens, sélectionnez la structure par défaut de permaliens et enregistrez les réglages puis sélectionnez à nouveau votre structure préférée et enregistrez à nouveau. Cela rafraîchira les règles de ré-écriture et devrait résoudre votre problème.
Messages d’erreur spécifiques
De nombreux messages d’erreur peuvent apparaître dans les fichiers journaux. Pour accéder à ces journaux, vous devrez activer le mode de débogage puis trouver le fichier de journalisation (debug.log
) en vous connectant en FTP à votre site. Le fichier se trouve en général dans /wp-content/
.
Si vous ne savez pas comment effectuer les modifications citées ci-dessous, ou que vous utilisez un hébergement mutualisés qui ne vous le permet pas, contactez votre hébergeur afin qu’il fasse les manipulations pour vous.
Erreurs PHP
Vous trouverez ci-dessous les erreurs PHP les plus courantes. Le nom des erreurs est volontairement laissé en anglais, car le plus souvent, ces erreurs sont affichées en anglais par défaut.
Erreurs fatales et avertissements
Cannot modify header information – headers already sent
Cette erreur est en général provoquée par un espace ou un caractère situé avant ou après l’ouverture des balises PHP dans un fichier. Apprenez comment résoudre cette erreur.
Si cela se produit juste au moment de l’installation de WordPress, il y a des chances que vous ayez fait une erreur de syntaxe dans le fichier wp-config.php.
Call to undefined function
Quand une extension ou un thème WordPress fait appel à une fonction qui n’existe pas ou qui est inaccessible, l’erreur « Call to undefined function » apparaîtra. Plusieurs situations peuvent provoquer cette erreur :
- Au moment de l’installation ou la mise à jour automatique d’une extension. Essayez la méthode manuelle.
- Au moment de l’installation ou la mise à jour automatique d’un thème. Essayez la méthode manuelle.
- Une extension ou un thème pourrait être incompatible avec WordPress ou une autre extension, c’est le plus souvent le cas après des mises à jour, ou si vous essayez d’utiliser une extension prévue pour les réseaux multisite sur une installation non multisite. Essayez de mettre à jour WordPress pour résoudre ce problème.
- Si vous utilisez un thème ou une extension sur mesure, il est possible qu’un appel à une fonction qui n’existe pas y soit présent. Vérifiez votre code pour vous en assurer.
Si aucune des solutions ci-dessus fonctionne, essayez de désactiver les extensions et de changer de thème pour identifier la source du problème.
Allowed memory size exhausted
Cette erreur survient lorsque votre site essaie de faire plus que ce que le serveur sur lequel il est hébergé lui permet. C’est particulièrement courant sur les hébergements mutualisés, quand la limite de mémoire allouée est limitée. Voici quelques pistes pour résoudre ce problème :
- Augmentez la mémoire allouée à PHP.
- Augmentez le temps maximum d’exécution dans votre fichier php.ini.
Ce n’est pas un fichier de WordPress, si vous n’êtes pas sûr⋅e de comment le modifier, contactez votre hébergeur pour qu’il le fasse pour vous.
Maximum execution time exceeded
Lorsque vous recevez une erreur du type « Maximum execution time of 30 seconds exceeded », cela veut dire qu’un processus ou un script a mis trop de temps à s’exécuter. Voici plusieurs pistes pour résoudre cette erreur, en augmentant le temps maximum d’exécution, essayez-les les unes après les autres :
Via le fichier .htaccess
- Assurez-vous de faire une sauvegarde du fichier
.htaccess
avant toute modification. - Connectez-vous à votre site en FTP et ouvrez le fichier .htaccess, situé en général à la racine de votre installation, et ajoutez-y la ligne suivante :
php_value max_execution_time 60
Via le fichier php.ini
Ajoutez la ligne suivante au fichier php.ini :
max_execution_time = 60
Erreurs d’analyse / Parse errors
Syntax Error
Une erreur de syntaxe ou « Syntax Error » en anglais signifie qu’une erreur est présente dans le code PHP d’une extension ou d’un thème. Cela peut être par exemple :
- un point virgule «
;
» manquant à la fin d’une ligne ; - l’utilisation d’une apostrophe courbe «
’
» au lieu d’une apostrophe droite «'
» ; - une accolade manquante «
{ }
».
Lorsque cette erreur apparaît, elle devrait vous indiquer dans quel fichier et à quelle ligne du code elle survient. C’est parfois approximatif, alors prenez le temps de relire plusieurs fois votre code et de vérifier les lignes suivant ou précédant la ligne indiquée.
Unexpected
Une erreur de type « parse error: unexpected » signifie que lors de l’exécution d’un script, quelque chose était attendu mais le programme a trouvé autre chose. En général, un caractère est manquant, par exemple :
- Unexpected ‘=’ : le signe
$
est manquant avant l’assignation ou la définition d’une variable. - Unexpected ‘)’ : il manque une parenthèse fermante, par exemple dans un tableau, un appel de fonction.
- Unexpected ‘(‘ : il manque une parenthèse ouvrante.
- Unepxpected T_STRING : il manque une apostrophe ou un point-virgule à la fin d’une ligne.
- Unexpected T_ELSE : il existe une condition
else
sans leif
ouvrant cette condition.
Use of an undefined constant
Cette erreur vous indique que du code utilise une constante non définie. Comme pour les erreurs de syntaxe, c’est en général dû à un caractère manquant :
- le signe
$
est manquant avant l’assignation ou la définition d’une variable ; - il manque une apostrophe à l’intérieur d’un tableau, au niveau d’une clé.
Erreurs de la base de données
Les erreurs suivantes peuvent apparaître. Elles sont liées à la base de données utilisée par WordPress.
Veillez à toujours sauvegarder votre base de données avant toute action sur cette dernière.
Error 13 – Cannot Create/Write to File
Cette erreur signifie qu’il est impossible de créer un fichier, cela peut-être dû à plusieurs raisons :
MySQL ne peut pas créer un fichier temporaire
La variable MySQL tmpdir
est définie sur un répertoire qui n’est pas inscriptible quand on utilise PHP pour accéder à MySQL.
Pour le vérifier, accédez à MySQL en ligne de commande et saisissez show variables
. Vous obtiendrez une longue liste qui contiendra tmpdir = /somedir/
(quelque soit votre réglage).
Pour corriger cela, modifiez la variable tmpdir
pour qu’elle pointe vers un répertoire inscriptible :
- Trouvez le fichier
my.cnf
. Sur les systèmes de type UNIX, il est en général situé dans le répertoire /etc/. Sur windows, trouvez le fichiermy.ini
. - Ouvrez ce fichier dans un éditeur de texte et localisez la section
[mysqld]
. - Dans cette section, trouvez la ligne
tmpdir
. Si elle est commentée (elle début par un caractère dièse), supprimez le caractère#
en début de ligne. Modifiez ensuite la variabletmpdir
en lui assignant le chemin d’un répertoire inscriptible, par exemple :tmpdir = /writable/dir
.
Parfois, on utilise le répertoire/tmp
, vous pouvez aussi essayer/var/tmp
ou/usr/tmp
. Sur Windows, utilisezC:/Windows/tmp
. - Enregistre le fichier.
- Arrêtez MySQL en saisissant
mysqlshutdown -u -p shutdown
dans un terminal. - Redémarrez MySQL en allant dans le répertoire de MySQL et saisissez
./bin/safe_mysqld &
. En général, le répertoire de MySQL est/usr/local
ou/usr
sur les systèmes Linux.
Les permissions de fichiers sont incorrectes
Si les permissions de fichiers ne sont pas suffisantes, alors MySQL pourrait ne pas être en mesure de créer des fichiers.
Corrigez les permissions de fichiers, si vous ne savez pas comment faire, demandez à votre hébergeur ou à la personne qui gère votre serveur de le faire pour vous en lui expliquant le problème.
CREATE Command Denied to User
Cette erreur survient lorsque l’identifiant assigné à la base de données utilisée par WordPress n’a pas les permissions adéquates pour créer des colonnes et des tables dans la base de données.
Pour corriger de problème, vous devrez vous connecter à votre panneau de contrôle (cPanel ou Plesk) pour donner les permissions suffisantes à l’identifiant de la base de données.
Si vous créez un nouvel identifiant pour cette base de données, pensez à mettre à jour les informations dans le fichier wp-config.php.
Error 28
Cette erreur peut apparaître pour plusieurs raisons :
- Il n’y a plus d’espace libre dans le répertoire
/tmp
(peu importe quel est le répertoiretmpdir
). - Il y a trop de fichiers dans le répertoire
/tmp
(même s’il reste de l’espace libre) . - Le cache du serveur est plein.
Cette erreur est liée à MySQL et non à WordPress directement, aussi vous devriez contacter votre hébergeur. Certaines personnes ont pu résoudre le problème en lançant la commande repair table
dans phpMyAdmin.
Error 145
Cela signale qu’une table de la base de données est endommagée ou corrompue. Si vous êtes à l’aise avec phpMyAdmin, vous pouvez suivre ces instructions pour réparer vos tables de la base de données.
Si vous ne savez pas comment faire cela, contactez votre hébergeur et demandez-lui de faire une vérification et une réparation sur votre base de données.
Unknown Column
Cette erreur signifie qu’une colonne est inconnue. Cela peut être dû à une colonne manquante dans votre base de données.
Si vous venez juste de mettre à jour WordPress, essayez de le mettre à nouveau à jour manuellement.
Si l’erreur apparaît lorsque vous lancez une requête sur la base de données, alors vous utilisez peut-être le mauvais caractère pour l’apostrophe. Ce problème est abordé sur Stack Overflow (en anglais), vous pouvez également lire la documentation de MySQL (en anglais).
Ressources
Traduit par Marie Comet
Relu par Jb Audras & Jenny Dupuy
Dernière mise à jour le 04 mai 2021
Contribuer à la documentation en français de WordPress
Journal des modifications
04 mai 2021 – Jenny Dupuy – Modification d’ancres de liens non traduites, suppression de l’encodage des caractères accentués ou spéciaux dans les liens concernés