Le plugin Query Monitor

Publié: 2021-02-19

Chaque fois qu'un site Web WordPress se charge, de nombreuses choses se passent dans les coulisses, car les informations sont extraites d'une base de données et la page est construite puis chargée. Étant donné que ces requêtes récupèrent des informations de la base de données et peuvent impliquer chaque thème, plug-in et fichier principal, il est extrêmement utile de pouvoir les surveiller d'une manière ou d'une autre. Dites bonjour au plugin Query Monitor.

Le plugin Query Monitor est l'un des outils les plus populaires pour (vous l'avez deviné) surveiller les requêtes WordPress. Avec une équipe dédiée fournissant un excellent support et des mises à jour régulières, le plug-in Query Monitor fournit une aide inestimable aux développeurs Web lors du débogage de sites Web.

Examinons de plus près le plug-in Query Monitor et voyons comment il peut être utilisé.

Présentation du plugin Query Monitor

Query Monitor est un outil de débogage WordPress gratuit. Comme avec tous les plugins WordPress, vous pouvez installer Query Monitor à partir de la zone d'administration du plugin.

Une fois le plugin installé et activé, un groupe de chiffres apparaîtra sur chaque page que vous visitez (dans les vues frontend et backend) qui détaillent les statistiques de charge de la page actuelle. Ces 4 chiffres indiquent le temps de génération de la page, l'utilisation de la mémoire PHP, le temps de requête de la base de données et le nombre de requêtes effectuées.

Si vous survolez ces chiffres, un menu déroulant apparaîtra qui fournira des liens vers des données supplémentaires.

Lorsque vous cliquez sur l'un de ces liens, une fenêtre apparaît au bas de la page avec un menu latéral identique au menu illustré ci-dessus que vous pouvez utiliser pour filtrer les résultats. La capture d'écran ci-dessous vous montre certains des résultats de l'option "Hooks & Actions" :

Le dernier onglet du menu s'appelle "Conditions" et n'est pas le même pour chaque page. Par exemple, dans le backend, cela s'affiche comme ceci :

Mais si vous affichez le même menu sur le front-end de votre site Web, vous verrez des informations différentes car des conditions alternatives sont utilisées :

Cet onglet peut être un excellent outil lorsque vous souhaitez identifier le bon crochet ou la bonne balise conditionnelle à utiliser lors de l'ajout d'une nouvelle fonctionnalité de plugin ou de thème.

Ce que fait le plugin Query Monitor

Lorsque vous visitez une page WordPress (que ce soit depuis la zone d'administration ou depuis le front-end), le plugin rassemble tous les processus WordPress qui se déroulent à la fois sur le serveur et entre le serveur et le navigateur du visiteur. Afin de vous les montrer, il crée un rapport facile à lire qui peut être visualisé comme indiqué ci-dessus.

Puisqu'il fonctionne sur toutes les pages de votre site Web (à la fois depuis l'administrateur et le front-end), vous pouvez l'utiliser pour déboguer n'importe quel processus frontal ou back-end. Cela peut aller de l'identification et du débogage des requêtes de base de données lentes, des appels AJAX, des demandes d'API REST, et bien plus encore. Les informations fournies sont extrêmement utiles lorsqu'il s'agit d'essayer d'identifier un problème spécifique et peuvent considérablement accélérer le dépannage.

Quelques exemples de moniteur de requête

Il existe un grand nombre de cas où l'utilisation de Query Monitor peut aider. Par exemple, la surveillance des dépendances de script, les crochets WordPress, les détails de l'environnement d'hébergement et les balises de requête conditionnelles peuvent aider à résoudre de nombreux problèmes. Nous allons jeter un coup d'œil à quelques utilisations courantes ci-dessous.

Dépannage des erreurs de syntaxe

Pour les besoins de cet exemple, nous avons utilisé une requête SQL personnalisée dans le modèle d'un seul article.

 //// SLOW QUERY TEST global $wpdb; $prefix = $wpdb->prefix; $slowq = "SELECT * FROM {$prefix}_options WHERE option_name LIKE '%siteurl%'"; $results = $wpdb->get_results( $slowq ); echo $results[0]->option_value;

Lorsque nous actualisons la page, nous pouvons voir que nous n'avons aucun résultat pour la sortie d'impression PHP. De plus, l'onglet Query Monitor est devenu rouge.

Si vous survolez l'avertissement, un autre avertissement plus détaillé s'affichera et indiquera "Erreurs de base de données (1)". Cliquez dessus et vous pourrez voir l'erreur en détail pour vous aider à comprendre l'erreur de syntaxe.

Maintenant, si vous corrigez l'erreur et rechargez la page, l'avertissement devrait disparaître.

Comme vous pouvez le voir, nous avons rapidement trouvé la cause de notre problème en utilisant le plugin Query Monitor. Sans la possibilité de surveiller les requêtes de cette manière, cela pourrait vous prendre des heures pour essayer de comprendre pourquoi vous n'avez pas de sortie d'écho et ne voyez toujours pas le "_" supplémentaire qui devrait être supprimé.

Les requêtes HTTP ralentissent les temps de chargement du site Web

De nombreux plugins ont tendance à utiliser trop de ressources externes en faisant de nombreuses requêtes à des API externes. Cela peut certainement ralentir votre site et les plugins qui font cela doivent être évités si possible.

Google Analytics ou des plugins de commentaires comme Disqus, Jetpack ou Facebook Comments sont des plugins qui font exactement cela.

Un script externe extrait les requêtes d'autres sites Web. Ce n'est pas nécessairement mauvais (tout site Web WordPress est susceptible d'utiliser des ressources externes). Mais lorsque vous utilisez un plugin ou un script qui demande plusieurs ressources externes, il est important de vous assurer que vous en avez réellement besoin et que vous avez appliqué la meilleure solution de contournement possible pour minimiser les appels externes.

Vous pouvez voir la différence vous-même en téléchargeant un script jQuery sur un serveur externe. Jetez un œil aux heures de requête à l'aide des onglets 'Request' et 'HTTP API calls' de Query Monitor. Chargez ensuite le script jQuery sur votre propre serveur et demandez à votre site Web de l'appeler à partir de ce nouvel emplacement interne. Vous pourriez être surpris lorsque vous comparez la différence entre les temps de demande externes et internes .

Utilisez ces outils pour vérifier tous les plugins que vous utilisez pour voir s'ils ralentissent votre site Web.

Modèles de thème

Le plugin Monitor peut également être utile aux développeurs de thèmes car ils peuvent afficher la hiérarchie des modèles et les fichiers PHP qui ont été utilisés pour créer les pages de votre site Web.

Cool, non ? Toutes les infos au bout de vos doigts. Le nom du thème actif, les classes de corps pour la requête en cours, toutes les parties de modèle qui ont été chargées (ou non chargées) pour la page en cours, ainsi que le nom de fichier et la hiérarchie du modèle.

Conclusion

Posséder les bons outils peut rendre le travail d'un développeur tellement plus facile et le plug-in Query Monitor est définitivement à ajouter à la boîte à outils ! Tirez le meilleur parti du plugin pour surveiller les ressources utilisées comme la mémoire ou le contenu mis en cache ou recherchez un plugin qui cause des problèmes de performances pour votre site Web.

Si vous souhaitez plus d'informations sur l'utilisation de Query Monitor, consultez leur page GitHub qui fournit une liste complète des fonctionnalités. Bon débogage !