Débogage WordPress : Le guide de tout ce que vous devez savoir

Publié: 2023-06-27

Le maillon le plus faible de tout projet de codage, c'est vous . Autrement dit, l'erreur humaine est presque toujours une garantie, qui se manifestera sous la forme de bogues et d'autres problèmes. Vous ne voudrez pas qu'aucun de ces éléments n'arrive sur votre site en ligne, c'est pourquoi le débogage de WordPress est une étape nécessaire au cours de votre projet.

En fait, WordPress inclut son propre mode de débogage, ce qui peut vous aider lorsque vous travaillez avec la plateforme. Si vous combinez cela avec votre débogueur hors plate-forme, vous disposerez d'un système robuste pour détecter tout ce qui se cache dans le noir.

Pour cet article, nous examinerons 🔎 le débogage de WordPress et vous montrerons comment le configurer. Cependant, nous verrons d'abord en quoi le débogage de WordPress et d'autres types de détection de bogues diffèrent. À partir de là, nous expliquerons pourquoi WordPress a besoin de son propre système de débogage avant de vous montrer comment l'utiliser.

La différence entre le débogage WordPress et le débogage général du code

Bien sûr, WordPress utilise PHP pour exécuter presque tout sous le capot, tout comme de nombreuses autres applications Web. Cependant, le débogage WordPress peut être différent du débogage général du code en raison de sa structure et de son écosystème spécifiques.

La principale différence entre le débogage WordPress et le débogage général du code est la façon dont vous afficherez les erreurs. WordPress affichera des messages d'erreur relatifs à la plate-forme sur le frontend. En revanche, le débogage général du code se produit souvent dans le Terminal ou votre éditeur de code dédié :

L'IDE Intellij IDEA exécutant un débogueur.

Une autre différence est l'utilisation de fonctions spécifiques à WordPress pour faciliter le processus de débogage. WordPress fournit son propre ensemble de fonctions que vous utiliserez pour interagir avec le système de gestion de contenu (CMS). Celles-ci diffèrent des fonctions PHP typiques et vous obligeront à adopter une approche spécifique pour les utiliser pour le débogage.

Dans l'ensemble, la différence entre le débogage WordPress et le débogage général du code réside dans la structure et l'écosystème spécifiques de WordPress. En tant que tel, vous devrez comprendre l'architecture de WordPress, ainsi que ce que la plate-forme propose pour déboguer efficacement les problèmes.

Pourquoi le débogage WordPress nécessite un processus spécifique

WordPress n'utilise pas seulement son noyau PHP. Il exécute également PHP externe sous la forme de thèmes et de plugins. Si vous combinez le développement tiers avec la manière dont tous ces éléments s'articulent, cela pourrait introduire des bogues lorsque vous mêlez tout le code. En tant que tel, WordPress propose ses propres outils de débogage pour aider à éliminer ces problèmes lors du développement.

Un autre domaine que vous devrez comprendre (et qui explique pourquoi vous avez besoin d'un débogage WordPress dédié) est sa structure de base de fichiers et de dossiers. La création d'un thème, par exemple, repose sur une hiérarchie de modèles qui peut avoir de l'importance lorsque vous effectuez une analyse de ligne pour trouver la source d'une erreur.

Un aperçu de la hiérarchie des modèles WordPress.
Crédit image : WordPress.org

De plus, la conception de WordPress est basée sur une bonne expérience utilisateur (UX). Le processus de débogage WordPress dédié prend en compte la nécessité d'un rapport d'erreur convivial. Au lieu d'utiliser des traces de pile compliquées dans votre éditeur de code, WordPress affiche à la place un message d'erreur clair sur le frontend :

Une erreur WordPress sur le front-end du site Web.

En parlant d'UX, WordPress propose un ensemble de fonctions personnalisées pour vous aider à rendre votre flux de travail plus efficace et sécurisé. Par conséquent, le processus de débogage spécifique de WordPress signifie que vous devrez comprendre ces fonctions et comment elles interagissent avec la plate-forme.

Dans l'ensemble, WordPress a un écosystème complexe, un accent sur l'UX et des fonctions personnalisées. Tout cela nécessite son propre mode de débogage. Dans la section suivante, nous verrons comment activer cette option.

Comment activer le mode de débogage de WordPress (et ce que cela fait)

Vous pouvez activer le mode de débogage de WordPress via le fichier wp-config.php . Nous avons un guide rapide sur la façon de procéder, et cela ne devrait pas vous prendre plus d'une minute environ. Cependant, il existe quelques modes différents que vous voudrez connaître et éventuellement utiliser :

  • WP_DEBUG . C'est le mode de débogage de base dans WordPress. Il permet le débogage général au sein de la plate-forme.
  • WP_DEBUG_LOG . Ce mode enregistre toutes les erreurs, avertissements et avis PHP dans un fichier debug.log dans le répertoire wp-content . Il est utile pour identifier les problèmes difficiles à trouver qui n'apparaissent pas sur le frontend.
  • WP_DEBUG_DISPLAY . Ce mode affiche toutes les erreurs, avertissements et avis PHP sur le frontend. C'est utile pour identifier les problèmes avec les thèmes et les plugins, mais cela peut également afficher des messages pour les éléments qui ne semblent pas cassés. Par exemple, vous verrez souvent des avis pour des conventions de validation de données incorrectes.

Ces trois fonctions peuvent s'entremêler, vous devrez donc faire attention afin de les utiliser de manière optimale et sûre. Par exemple, vous souhaiterez souvent activer WP_DEBUG et WP_DEBUG_LOG pour stocker les erreurs dans le fichier debug.log . Cependant, si vous ne désactivez pas WP_DEBUG_DISPLAY , l'affichage de ces erreurs sur le frontend serait mauvais pour UX.

Vous pouvez également aller au-delà des commandes pain et beurre et activer d'autres constantes que nous abordons dans un autre article :

  • SCRIPT_DEBUG . Pour des raisons de performances, WordPress utilise des fichiers CSS et JavaScript minifiés, mais ceux-ci pourraient être un cauchemar à déboguer. Une fois que vous activez SCRIPT_DEBUG , WordPress utilisera à la place les versions de développement non optimisées des fichiers.
  • SAVEQUERIES . Cela enregistre toutes les requêtes de base de données dans un tableau, ce qui peut vous aider à identifier les requêtes lentes ou inefficaces qui affectent les performances de votre site.

WordPress ne serait pas la plateforme qu'elle est sans ses plugins. En tant que tel, il existe de nombreux plugins utiles pour aider au débogage de WordPress. Ensuite, nous en examinerons quelques-uns.

Utilisation des plugins de débogage WordPress pendant le développement

Les plugins devraient faire partie de votre arsenal pour vous aider à rechercher les erreurs. En fait, la documentation officielle de WordPress sur le débogage inclut certaines options recommandées.

Par exemple, Query Monitor vous donnera des informations détaillées sur les requêtes que vous exécutez. C'est un moyen fantastique d'aider à identifier les requêtes qui causent des problèmes de performances.

La barre de débogage ajoute un menu de débogage à la barre d'administration de WordPress. Cela vous permet d'accéder à tout moment aux informations de débogage et inclut des informations détaillées sur les erreurs PHP, les requêtes de base de données ainsi que les requêtes HTTP.

Étant donné que WordPress utilise de nombreuses fonctions et constantes personnalisées, vous voudrez probablement garder un œil sur leur obsolescence. Le plugin Log Deprecated Notices identifie (et enregistre) toute utilisation de fonctions, crochets ou arguments obsolètes dans WordPress. Vous utiliserez le plugin pour vous aider à maintenir votre code à jour avec les dernières normes WordPress.

Cependant, il existe de nombreux autres plugins que vous pouvez installer pour aider au débogage de WordPress. Une option fantastique est simplement Afficher les crochets :

Ce plugin vous permet de visualiser chaque hook exécuté par une page. Ce sera souvent un plugin incontournable, car vous pouvez voir en un coup d'œil ce que WordPress utilise une page, ce qui réduira votre recherche initiale d'un bogue.

Si vous souhaitez trouver un plugin qui soit plus une solution tout-en-un, DebugPress pourrait être un bon choix :

Ce plugin vous donne des informations de débogage en temps réel, qui incluent les erreurs PHP, les requêtes de base de données et les requêtes HTTP. Il comprend également une console en temps réel pour surveiller les erreurs côté serveur.

Vous voudrez peut-être semi-automatiser l'instanciation initiale du mode de débogage de WordPress. C'est à cela que sert l'excellent plugin WP Debugging.

Il vous permet de définir des états par défaut pour toutes les constantes de débogage disponibles sans avoir à ouvrir le fichier wp-config.php . Vous les basculerez via une activation et une désactivation rapides dans le menu Plugins de WordPress.

Choisir les plugins de débogage WordPress

Lorsqu'il s'agit de choisir des plugins de débogage WordPress, les mesures de qualité des plugins telles que l'heure de la dernière mise à jour sont moins préoccupantes. En effet, ils effectuent souvent des tâches qui ne nécessitent pas une base de code actuelle constante.

Par exemple, Log Deprecated Notices a sa dernière mise à jour en 2021. Cependant, malgré cela, c'est toujours un plugin recommandé pour les développeurs WordPress. En tant que tel, nous dirions que si le plugin fonctionne comme prévu et n'introduit pas d'autres problèmes, vous serez bon de l'utiliser à des fins de débogage.

Les avantages de la surveillance des performances des applications (APM)

Les outils APM vous permettent de surveiller les performances des applications, y compris celles des sites Web WordPress. Les informations détaillées sur les performances incluent les temps de réponse, les taux d'erreur, etc.

Il peut sembler que les outils APM et le débogage n'aient pas grand-chose en commun. Cependant, cela peut vous aider à atténuer certains travaux de débogage, selon le scénario. De plus, vous pouvez d'abord déboguer, puis maintenir ces performances à l'aide d'APM.

En ce qui concerne le débogage WordPress, les outils APM présentent un certain nombre d'avantages :

  • Vous pouvez identifier les goulots d'étranglement des performances sur votre site Web WordPress. L'analyse en temps réel vous permet d'identifier tout problème susceptible de ralentir votre site Web.
  • Les outils APM peuvent vous aider à optimiser les performances de votre site. Cela vous permet d'apporter des améliorations ciblées et de mettre à niveau les performances globales.
  • En surveillant les mesures de performance clés, vous pouvez identifier tout problème susceptible d'avoir un impact sur la santé de votre site Web.
  • Les outils APM peuvent également aider à identifier les problèmes de sécurité sur votre site Web WordPress. En surveillant le trafic et l'activité du site, vous êtes en mesure de détecter tout comportement inhabituel ou suspect pouvant indiquer un problème de sécurité.

Il existe quelques outils APM disponibles qui conviennent bien à WordPress. Par exemple, Kinsta a son propre outil APM, tandis que WP Engine intègre l'APM de New Relic dans ses services.

En général, les outils APM peuvent aider à améliorer l'expérience utilisateur de votre site Web WordPress et avoir un impact sur votre travail de débogage. Bien qu'il ne s'agisse pas d'un substitut, APM peut vous aider à déterminer si les corrections de bogues sont optimales et où vous pouvez améliorer votre code.

Conseils pour vous aider avec le débogage de WordPress

Notre objectif pour cet article est le débogage de WordPress. Dans cet esprit, nous vous proposerons six conseils pour vous aider à avoir une meilleure session de débogage.

  1. Commencez par une analyse de code statique
  2. Appuyez-vous sur vos outils de débogage
  3. Classez chaque bug que vous rencontrez
  4. Revenir en arrière et effectuer des recherches binaires pour rechercher tous les bogues possibles
  5. Exécuter un débogueur après chaque nouvelle suite de code
  6. Cherchez à résoudre les problèmes plutôt qu'à écraser les bogues

1. Commencez par une analyse de code statique

Une analyse de code statique consiste à analyser le code sans l'exécuter. Votre objectif est d'identifier les erreurs et les vulnérabilités potentielles. Vous pouvez le faire via une analyse ligne par ligne, bien qu'un outil soit plus efficace. PHP CodeSniffer ou PHP Mess Detector fonctionnent bien ici, le premier faisant également partie des outils d'édition de JetBrains.

Ces outils peuvent aider à identifier les violations des normes de codage, le code inutilisé et d'autres problèmes potentiels susceptibles d'affecter les performances et la sécurité de votre site Web WordPress. Vous les installerez généralement sur votre environnement de développement et les exécuterez sur votre base de code. Le rapport généré décrira tous les problèmes potentiels. Cela vous donne un moyen de les identifier et de les corriger.

Commencer par une analyse de code statique vous permet d'éliminer les problèmes potentiels dès le début du processus de développement. Cela peut vous aider à vous assurer que votre site Web WordPress fonctionne bien, avant que les problèmes ne deviennent plus difficiles et prennent plus de temps à résoudre.

2. Appuyez-vous sur vos outils de débogage

En parlant d'outils de débogage, ils sont presque essentiels, quel que soit votre langage ou votre plate-forme CMS. Cela est particulièrement vrai pour WordPress, car il existe une gamme de superbes plugins pour vous aider. Cependant, des outils tiers hors plateforme apporteront également de la valeur.

Dans la plupart des cas, les outils de débogage vous permettront de mieux comprendre votre site. Cela vous permettra de prendre des décisions plus éclairées en matière d'optimisation des performances, d'amélioration de l'expérience utilisateur et de renforcement de la sécurité.

3. Classer chaque bogue que vous rencontrez

Une tâche d'administration de routine avec le débogage consiste à classer chaque bogue que vous rencontrez. Cela peut être utile pour identifier la cause première d'un problème et déterminer la meilleure solution.

Vous voudrez prendre en compte plusieurs facteurs ici, tels que la gravité du problème, l'impact sur l'expérience utilisateur et la complexité du correctif. Par exemple, vous pouvez utiliser un système de niveaux de gravité, tels que critique, majeur, mineur ou cosmétique. Cela peut aider à hiérarchiser les bogues à traiter en premier, en fonction de leur impact sur les fonctionnalités du site Web et l'expérience utilisateur.

Une autre façon de classer les bogues consiste à utiliser des catégories telles que la convivialité, la fonctionnalité ou la sécurité. Cela peut aider à identifier comment le bogue affecte des zones spécifiques de votre site Web. À son tour, cela permet de déterminer plus facilement la cause première du problème et la meilleure approche pour le résoudre.

De plus, vous n'avez pas besoin d'un système spécial pour les stocker - une feuille de calcul fonctionne très bien. Vous pouvez même avoir un système dans votre éditeur de code ou votre environnement de développement intégré (IDE), tel qu'un codage couleur.

4. Revenir en arrière et effectuer des recherches binaires pour rechercher tous les bugs possibles

Le "retour en arrière" est l'endroit où vous revenez sur vos pas pour identifier où un bogue est apparu en premier. Vous pouvez consulter les modifications récentes du code, tester les bases de code précédentes ou consulter vos journaux. C'est un bon moyen de rationaliser le processus de débogage pour vous assurer de résoudre tous les problèmes potentiels.

De la même manière, les recherches binaires peuvent être une technique utile pour le débogage de WordPress, en particulier lorsqu'il s'agit de problèmes complexes. Cela implique de tester différentes parties de la base de code de manière systématique pour identifier l'emplacement du bogue. Vous pouvez isoler des sections spécifiques du code, exécuter des tests, puis passer à la section suivante pour affiner davantage le problème.

C'est un moyen efficace d'identifier les bogues et de trouver des solutions pour les corriger. Vous économiserez probablement du temps et des efforts par rapport aux approches de débogage plus aléatoires. Mieux encore, cela pourrait être une meilleure approche pour les bases de code plus volumineuses ou les problèmes plus complexes.

Cependant, une recherche binaire nécessite une approche méthodique et organisée afin de tester et d'évaluer tous les problèmes potentiels. En tant que telle, la documentation est importante, car elle vous permet de reproduire et de résoudre facilement les problèmes que vous identifiez.

5. Exécutez un débogueur après chaque nouvelle suite de code

Tout comme pour enregistrer vos modifications à intervalles réguliers, vous devez également prendre l'habitude d'exécuter un débogueur après chaque suite de code complète. Bien sûr, vous voudrez vous assurer que le code fonctionne comme vous le souhaitez avant de continuer.

L'un des grands avantages ici est de ne pas avoir de bogues persistants qui traînent. Cela peut aider à éviter que les problèmes ne fassent boule de neige et deviennent plus difficiles à résoudre à mesure que le développement progresse.

Cependant, cette approche peut prendre du temps, en particulier pour les grandes bases de code ou les problèmes non critiques. Pour cette raison, vous pouvez limiter l'exécution d'un débogueur aux seules modifications de code critiques ou aux zones plus problématiques de votre base de code.

6. Cherchez à résoudre les problèmes plutôt qu'à écraser les bogues

En ce qui concerne le débogage de WordPress, il peut être utile de vous concentrer sur la simple « élimination des bogues » pour la résolution de problèmes. Cela signifie adopter une approche plus proactive pour identifier et résoudre les problèmes, plutôt que de simplement réagir aux erreurs au fur et à mesure qu'elles se produisent.

Pour commencer, recherchez la cause première du problème, puis travaillez pour résoudre cette cause, plutôt que de simplement résoudre les symptômes immédiats du problème. Cela peut impliquer de retravailler certaines sections de la base de code ou d'adopter de nouvelles pratiques de développement pour éviter que des problèmes similaires ne se reproduisent à l'avenir.

Cette approche peut améliorer la qualité et la fiabilité globales de vos projets, réduire la probabilité de problèmes futurs et améliorer l'UX. De plus, cette approche peut vous aider à identifier les domaines d'amélioration de votre processus de développement, ce qui conduira à des pratiques de développement plus efficaces et efficientes.

Aller en haut

Conclusion 🧐

En bref, le débogage WordPress utilisera la plateforme pour signaler les erreurs de code qui affectent son fonctionnement. De plus, vous utiliserez des plugins dédiés dans la plupart des cas pour vous alerter des problèmes. En fait, les options que vous obtenez pour déboguer WordPress peuvent fonctionner côte à côte avec vos outils de débogage typiques tels que Xdebug.

La bonne nouvelle est que vous n'avez pas de processus d'intégration maladroit en ce qui concerne WordPress. Vous pouvez travailler avec le fichier wp-config.php et activer le débogueur (et la connexion) en utilisant des valeurs booléennes. Cela montrera toute erreur associée avec plus de détails que vous n'obtiendriez souvent. À partir de là, vous pouvez travailler pour corriger les bogues et rapprocher votre site de la fin.

Avez-vous des questions sur le débogage de WordPress ou sur des scénarios que vous avez rencontrés ? Faites-nous savoir dans la section commentaires ci-dessous!