WordPress est un CMS puissant, mais comme tout logiciel, il peut rencontrer des erreurs ou des dysfonctionnements. Que ce soit un conflit de plugin, un thème incompatible ou une configuration serveur incorrecte, ces problèmes peuvent paralyser votre site. Heureusement, WordPress intègre un mode debug qui permet d’identifier précisément les erreurs en affichant des messages détaillés dans les logs. Ce guide vous explique pas à pas comment activer ce mode, l’utiliser efficacement et interpréter les erreurs pour optimiser votre site.
Que vous soyez développeur, administrateur ou simple utilisateur, maîtriser le mode debug est essentiel pour maintenir la performance et la sécurité de votre installation WordPress. Nous aborderons les méthodes pour activer le débogage, configurer les fichiers de log, et résoudre les problèmes courants. Suivez ces instructions pour transformer les messages d’erreur en solutions concrètes.
Pourquoi activer le mode debug dans WordPress ?
Le mode debug est une fonctionnalité native de WordPress qui permet d’afficher ou d’enregistrer les erreurs PHP, les avertissements et les notifications. Sans ce mode, les problèmes peuvent rester invisibles, rendant le dépannage difficile. Voici les principales raisons d’activer le mode debug :
- Identifier les erreurs PHP : Les messages d’erreur révèlent des problèmes de syntaxe, des fonctions obsolètes ou des conflits entre plugins.
- Détecter les conflits de plugins : Un plugin mal codé peut générer des erreurs fatales. Le mode debug permet de repérer le coupable.
- Optimiser les performances : Les avertissements (comme les appels à des fonctions dépréciées) peuvent ralentir votre site.
- Sécuriser votre installation : Certaines erreurs exposent des chemins de fichiers sensibles, ce qui peut être exploité par des attaquants.
En activant le mode debug, vous passez d’un dépannage aveugle à une approche proactive, où chaque erreur devient une piste pour améliorer votre site.
Les différents types d’erreurs détectables
WordPress génère plusieurs types d’erreurs, classées par niveau de gravité :
- Erreurs fatales (Fatal Errors) : Elles bloquent l’exécution du script (ex. : syntax error, fonction inexistante).
- Avertissements (Warnings) : Problèmes non critiques mais à corriger (ex. : variable non définie).
- Notices : Informations utiles pour améliorer le code (ex. : utilisation de fonctions dépréciées).
- Erreurs de syntaxe : Problèmes dans le code PHP qui empêchent le chargement de la page.
Chaque type d’erreur nécessite une action différente, d’où l’importance de bien configurer le mode debug.
Méthodes pour activer le mode debug dans WordPress
Il existe plusieurs façons d’activer le mode debug, selon votre niveau technique et vos besoins. Voici les méthodes les plus courantes, classées par simplicité.
Méthode 1 : Modifier le fichier wp-config.php (recommandé)
Le fichier wp-config.php est le cœur de la configuration WordPress. C’est ici que vous allez ajouter les constantes nécessaires pour activer le mode debug.
Étapes à suivre :
- Accédez à votre fichier wp-config.php :
- Connectez-vous à votre hébergement via FTP (FileZilla, Cyberduck) ou le gestionnaire de fichiers de votre hébergeur (cPanel, Plesk).
- Le fichier se trouve à la racine de votre installation WordPress (ex. :
/public_html/wp-config.php).
- Éditez le fichier :
- Faites une sauvegarde de
wp-config.phpavant toute modification. - Ajoutez les lignes suivantes juste avant la ligne
/* That's all, stop editing! Happy blogging. */:define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); define( 'SCRIPT_DEBUG', true );
- Faites une sauvegarde de
- Interprétez les constantes :
WP_DEBUG: Active le mode debug (true/false).WP_DEBUG_LOG: Enregistre les erreurs dans un fichierdebug.logsitué dans/wp-content/.WP_DEBUG_DISPLAY: Affiche les erreurs sur l’écran (false pour les masquer, utile en production).SCRIPT_DEBUG: Charge les versions non minifiées des fichiers JavaScript et CSS (utile pour le développement).
Remarque importante : En production, désactivez WP_DEBUG_DISPLAY pour éviter d’exposer des informations sensibles aux visiteurs.
Méthode 2 : Utiliser un plugin de debug
Si vous préférez éviter de modifier manuellement les fichiers, des plugins dédiés simplifient l’activation du mode debug. Voici les plus populaires :
- Query Monitor :
- Un plugin puissant pour analyser les requêtes SQL, les hooks, les erreurs PHP et les appels AJAX.
- Interface intuitive avec des onglets pour filtrer les erreurs.
- Idéal pour les développeurs.
- Debug Bar :
- Ajoute une barre d’outils dans l’administration WordPress pour afficher les erreurs et les requêtes.
- Moins complet que Query Monitor mais plus léger.
- WP Debugging :
- Active automatiquement le mode debug et génère un fichier de log.
- Interface simple pour activer/désactiver les options.
Comment installer un plugin de debug ?
- Allez dans Tableau de bord > Extensions > Ajouter.
- Recherchez le plugin (ex. : « Query Monitor »).
- Cliquez sur Installer puis Activer.
- Consultez les rapports via l’interface du plugin.
Méthode 3 : Configurer le mode debug via le fichier .htaccess
Cette méthode est moins courante mais utile si vous ne pouvez pas modifier wp-config.php. Elle consiste à ajouter des règles dans le fichier .htaccess pour activer le débogage PHP.
Étapes :
- Ouvrez le fichier
.htaccess(à la racine de WordPress). - Ajoutez les lignes suivantes en haut du fichier :
php_flag display_errors on php_value error_reporting 32767 php_value log_errors 1 php_value error_log /chemin/vers/votre/dossier/wp-content/debug.log - Remplacez
/chemin/vers/votre/dossier/par le chemin absolu vers votre installation WordPress. - Enregistrez le fichier et vérifiez que les erreurs s’affichent ou sont enregistrées dans le fichier
debug.log.
Avertissement : Cette méthode dépend de la configuration de votre serveur PHP. Si elle ne fonctionne pas, privilégiez la méthode via wp-config.php.
Où trouver et analyser les logs de debug ?
Une fois le mode debug activé, les erreurs sont soit affichées à l’écran (si WP_DEBUG_DISPLAY est à true), soit enregistrées dans un fichier de log. Voici comment les localiser et les interpréter.
Localiser le fichier debug.log
Si vous avez activé WP_DEBUG_LOG dans wp-config.php, le fichier debug.log est généré dans le dossier /wp-content/. Voici comment y accéder :
- Via FTP :
- Connectez-vous à votre hébergement.
- Naviguez jusqu’à
/wp-content/debug.log. - Téléchargez le fichier pour l’analyser.
- Via le gestionnaire de fichiers de votre hébergeur :
- Utilisez l’outil de gestion de fichiers (ex. : cPanel > File Manager).
- Cherchez le fichier
debug.logdans/wp-content/.
Format du fichier de log : Chaque ligne contient une erreur avec les informations suivantes : [date-heure] PHP [niveau d'erreur] : [message d'erreur] dans [fichier] à la ligne [numéro]
Interpréter les messages d’erreur courants
Voici une liste des erreurs les plus fréquentes et leurs solutions potentielles :
Type d’erreur Exemple de message Cause probable Solution Erreur fatale (Fatal Error) Fatal error: Call to undefined function get_header() Fichier corrompu ou thème/plugin incompatible. Désactivez le dernier plugin installé ou réinstallez le thème. Avertissement (Warning) Warning: Invalid argument supplied for foreach() Variable non définie ou de type incorrect. Vérifiez les variables avant de les utiliser dans les boucles. Notice Notice: Undefined variable: user_id Variable utilisée sans avoir été initialisée. Déclarez la variable avant de l’utiliser ou utilisez isset(). Erreur de syntaxe Parse error: syntax error, unexpected ';' in /wp-content/plugins/plugin.php on line 45 Oubli d’un point-virgule ou parenthèse. Corrigez la syntaxe dans le fichier mentionné.
Astuce : Utilisez des outils comme PHP.net ou W3Schools pour décoder les messages d’erreur.
Bonnes pratiques pour utiliser le mode debug en toute sécurité
Le mode debug est un outil puissant, mais son utilisation en production peut poser des risques de sécurité ou de performance. Voici les bonnes pratiques à suivre :
1. Désactiver le mode debug en production
En production, ne laissez jamais le mode debug activé. Les messages d’erreur peuvent révéler :
- Les chemins absoluts de vos fichiers.
- Les noms d’utilisateurs ou mots de passe (si mal codés).
- Les vulnérabilités de votre site.
Pour désactiver le mode debug, modifiez wp-config.php et passez toutes les constantes à false ou supprimez-les.
2. Limiter l’affichage des erreurs
Utilisez WP_DEBUG_DISPLAY pour contrôler où s’affichent les erreurs :
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); // Masque les erreurs à l'écran
3. Sauvegarder les fichiers de log
Les fichiers debug.log peuvent grossir rapidement. Pour éviter de surcharger votre serveur :
- Supprimez régulièrement les anciens logs.
- Limitez la taille du fichier avec
ini_set('log_errors_max_len', 1024)danswp-config.php. - Automatisez la rotation des logs avec un script ou un plugin comme Logrotate.
4. Utiliser des environnements de développement
Pour tester en toute sécurité, utilisez :
- Local by Flywheel ou XAMPP : Installez WordPress en local pour développer et déboguer sans risque.
- Staging : Créez une copie de votre site en environnement de test (disponible chez la plupart des hébergeurs).
- Docker : Conteneurisez votre installation WordPress pour un environnement isolé.
5. Documenter les erreurs
Tenez un journal des erreurs récurrentes pour :
- Identifier les problèmes systématiques.
- Suivre l’évolution des corrections.
- Partager les logs avec des développeurs en cas de besoin.
Résoudre les erreurs courantes après activation du mode debug
Voici des solutions concrètes pour les erreurs les plus fréquentes rencontrées après l’activation du mode debug.
Erreur : « Headers already sent »
Message d’erreur : Warning: Cannot modify header information - headers already sent by (output started at /wp-content/plugins/plugin.php:12)
Cause : Un espace, une ligne vide ou un caractère invisible (comme un BOM UTF-8) avant la balise <?php ou après ?> dans un fichier PHP.
Solution :
- Ouvrez le fichier mentionné dans l’erreur (ex. :
plugin.php). - Supprimez les espaces ou lignes vides avant
<?phpet après?>. - Si le fichier est un plugin ou un thème, réinstallez-le.
- Vérifiez l’encodage du fichier (doit être UTF-8 sans BOM).
Erreur : « Memory exhausted »
Message d’erreur : Fatal error: Allowed memory size of 67108864 bytes exhausted
Cause : Votre script PHP dépasse la limite de mémoire allouée (

