Qu'est-ce que le plugin Query Monitor ?

Publié: 2022-12-07

Si vous avez déjà rencontré un site Web lent que vous ne savez tout simplement pas comment accélérer ou si un client vous informe qu'il recherche une amélioration des performances, le plug-in Query Monitor pourrait bien être votre nouveau meilleur ami. Query Monitor « est le panneau des outils de développement pour WordPress.

Il permet le débogage des requêtes de base de données, des erreurs PHP, des hooks et des actions, des blocs d'éditeur de blocs, des scripts et des feuilles de style en file d'attente, des appels d'API HTTP, etc. Et, surtout si vous êtes développeur, c'est un outil que vous voulez avoir dans votre boîte à outils lorsque vous devez inévitablement déboguer des erreurs ou des comportements inattendus sur les sites Web WordPress.

Dans cet article, nous examinerons ce qu'est le plugin Query Monitor et comment il peut vous aider en tant que développeur à mieux comprendre tout le code exécuté sur votre site Web WordPress.

Qu'est-ce que le moniteur de requêtes

Query Monitor est un plugin qui est vraiment un "couteau suisse" pour les développeurs. Bien que vous ayez l'habitude de consulter les modèles, la mise en file d'attente de scripts et de styles, ainsi que tous les différents plug-ins utilisés sur votre site, Query Monitor vous permet d'aller plus loin.

Avec le plugin Query Monitor installé, vous pouvez regarder les requêtes de base de données qui se produisent réellement, toutes les différentes parties de modèle qui sont incluses dans le cadre d'un chargement de page particulier, et vraiment explorer tout ce qui pourrait causer des problèmes de performances sur votre site Internet.

Quand avez-vous besoin de Query Monitor ?

Query Monitor est le plus important lorsque vous avez identifié un problème sur votre site Web, qu'il s'agisse d'un problème de performances globales, de problèmes sur une page spécifique ou de problèmes signalés par un outil tel que GTMetrix ou Google PageSpeed. Cependant, lorsque vous utilisez ces outils, ils peuvent parfois masquer le problème réel.

Par exemple, si vous constatez un faible score de performances dans votre analyse Google PageSpeed, y a-t-il une requête de base de données malveillante qui prend plus de temps qu'elle ne devrait s'afficher sur chaque page ? Étant donné que PageSpeed ​​n'a pas accès au backend de votre site, il ne peut pas vous fournir d'informations plus spécifiques autres que "cette partie de votre site doit être plus rapide". C'est là que Query Monitor entre en jeu.

À quoi ressemble l'interface du moniteur de requête ?

Bien que Query Monitor ait une tonne de fonctionnalités intégrées (que vous pouvez parcourir plus complètement dans le cadre de la documentation), nous nous concentrerons sur trois parties spécifiques du plug-in : le débogage des requêtes de base de données, la recherche de plus d'informations sur les modèles qui votre site WordPress utilise et approfondit les crochets et les actions utilisés.

Après avoir installé le plugin Query Monitor, si vous êtes connecté en tant qu'utilisateur WordPress, vous verrez que Query Monitor a sa propre section dans la barre d'administration où vous pouvez accéder aux statistiques détaillées qui vous aideront à démarrer le débogage.

Requêtes de base de données

Si vous sélectionnez l'élément Queries dans la section Query Monitor de la barre d'administration, une fenêtre contextuelle apparaîtra au bas de votre écran décomposant les différentes requêtes de base de données que votre site a effectuées pour afficher la page sur laquelle vous vous trouvez.

Ici, vous pouvez non seulement filtrer les requêtes de base de données en fonction de la partie de WordPress qui a effectué la requête à l'origine, mais vous pouvez également voir facilement quand des requêtes de base de données en double ont été effectuées qui pourraient bénéficier de la mise en cache d'objets.

Un exemple de Query Monitor affichant les différentes requêtes de base de données pour notre exemple de site

En faisant défiler cette liste, vous pouvez voir chaque requête de base de données utilisée pour afficher la page sur laquelle vous vous trouvez actuellement, ainsi que la partie de la base de code WordPress qui a permis à la base de données et le temps d'exécution de la requête.

La colonne Time est triable, vous pouvez donc voir très rapidement les requêtes qui prennent le plus de temps à s'exécuter dans le cadre du chargement de votre page et commencer le débogage là-bas.

Les requêtes de base de données lentes et en double peuvent être un énorme problème pour les sites WordPress et passent souvent inaperçues. Cependant, en examinant les requêtes de la base de données avec Query Monitor, vous pouvez commencer à voir s'il y a, par exemple, une méta-requête post qui doit être refactorisée parce que votre site est devenu trop volumineux.

Informations sur le modèle

En particulier lors du débogage d'une sortie inattendue sur le front-end d'un site, il est très utile de savoir quel modèle est utilisé et quelles parties de modèle sont chargées. C'est un autre domaine où Query Monitor peut être très utile.

En sélectionnant l'option Template dans la liste déroulante du moniteur de requête, vous pouvez voir le modèle principal qui a été utilisé pour rendre la page, ainsi que toutes les parties du modèle qui ont été utilisées.

Un exemple de Query Monitor montrant les modèles utilisés pour charger une page WordPress

Avec ces informations, non seulement vous pouvez voir quel modèle est actuellement utilisé, mais vous pouvez également obtenir des informations sur la façon dont la hiérarchie des modèles a été analysée dans le cadre de la construction de cette page, ainsi que sur les classes de corps incluses.

Cela fait de l' Template de Query Monitor une vue très puissante lorsque vous commencez à déboguer des problèmes frontaux.

Par exemple, si vous avez un plugin censé appliquer un style à une page via une classe CSS, le meilleur endroit pour commencer à déboguer les problèmes de style liés à cela est d'utiliser l'onglet Template pour vérifier si cette classe de corps est même ajoutée à la page comme prévu avant de plonger dans le débogage du CSS.

Crochets et actions

Un autre domaine d'exécution de WordPress qui peut être difficile à déboguer devient évident une fois que vous commencez à utiliser les actions et les filtres. Les actions et les filtres sont utilisés par toutes sortes de plugins et de thèmes différents pour personnaliser les fonctionnalités de WordPress, mais vous ne pouvez pas toujours être sûr qu'ils se déclenchent exactement comme vous le souhaitez.

Par exemple, un problème courant est qu'une fonction est liée à une action ou à un filtre, mais que sa fonctionnalité est remplacée par une autre fonction exécutée avec une priorité plus élevée. En utilisant l'onglet Hooks and Actions de Query Monitor, vous pouvez facilement explorer et voir quelles fonctions sont liées à quelles actions et exactement où dans le cycle d'exécution et de chargement de la page qu'elles exécutent.

Un exemple de l'onglet Hooks & Actions de Query Monitor utilisé pour le débogage

La colonne la plus à droite vous indique même quel composant est responsable de la fonctionnalité appelée, donc si vous trouvez un conflit, vous pouvez explorer cette partie de la base de code et déterminer exactement ce qui se passe et ce qui doit être modifié.

Moniteur de requête vs WP_DEBUG

Une idée fausse courante est que Query Monitor vous donne accès à des informations qui auraient été disponibles si la constante WP_DEBUG était activée sur votre site. Bien que Query Monitor fournisse certaines des mêmes informations qui seraient disponibles si vous déboguiez votre site WordPress, les informations que nous avons détaillées ci-dessus seraient beaucoup plus difficiles à obtenir sans un débogage approfondi du code individuel.

Avec Query Monitor, non seulement vous obtenez une interface agréable et propre pour parcourir ces informations, mais vous les obtenez toutes prêtes à l'emploi, sans avoir à modifier votre base de code, ce qui vous permet de commencer très rapidement à déboguer les problèmes et de déterminer quelle partie de votre base de code doit être modifiée.

De plus, comme il ne s'exécute que pour les utilisateurs connectés, vous pouvez être sûr que les non-administrateurs de votre site ne voient pas les informations de débogage et que les performances de la page des utilisateurs non connectés ne sont pas affectées par la requête. Moniteur en cours d'exécution.

Emballer

Surtout lorsque vous ne savez pas par où commencer pour déboguer un problème particulier sur votre site WordPress, Query Monitor peut être un excellent moyen d'obtenir un aperçu général de toutes les parties cruciales du cycle d'exécution de WordPress. Parcourir les différents onglets vous permettra de voir si quelque chose ne semble pas correct et d'approfondir cette partie spécifique du chargement de la page. Avec cet outil puissant dans votre boîte à outils de débogage, vous pourrez isoler les problèmes plus rapidement et reprendre la construction de votre site WordPress.

Pourquoi utilisez-vous Query Monitor et comment cela a-t-il aidé votre flux de travail ? Faites-nous savoir ci-dessous dans les commentaires.