Query Monitor

Description

Query Monitor is the developer tools panel for WordPress and WooCommerce. It enables debugging of database queries, PHP errors, hooks and actions, block editor blocks, enqueued scripts and stylesheets, HTTP API calls, and more.

Il comprend des fonctionnalités avancées telles que le débogage des appels Ajax, des appels API REST, des vérifications des capacités de l’utilisateur/utilisatrice, ainsi qu’une prise en charge complète des thèmes en bloc et de l’édition complète du site. Il permet de limiter la plupart des résultats par extension ou thème, ce qui vous permet de déterminer rapidement les extensions, thèmes ou fonctions peu performantes.

Query Monitor se concentre fortement sur la présentation de ses informations d’une manière utile, par exemple en affichant des requêtes de base de données agrégées groupées par extensions, thème ou les fonctions qui en sont responsables. Il ajoute un menu de la barre d’outils de l’admin affichant une vue d’ensemble de la page actuelle, avec des informations de débogage complètes affichées dans des panneaux une fois que vous avez sélectionné un élément de menu.

Query Monitor prend en charge les versions de WordPress datant de moins de trois ans et la version 7.4 ou supérieure de PHP.

Pour des informations complètes, veuillez consulter le site Web de Query Monitor.

Voici un aperçu de ce qui s’affiche à chaque chargement de page :

  • Requêtes de base de données, y compris les notifications pour les requêtes lentes, en double ou erronées. Permet le filtrage par type de requête (SELECT, UPDATE, DELETE, etc), par composant responsable (plugin, thème, noyau WordPress), et par fonction appelante, et fournit des vues agrégées séparées pour chacun.
  • Le nom du fichier du modèle, la hiérarchie des fichiers modèles et les noms de toutes les parties du modèle qui ont été chargées ou non (pour les thèmes de blocs et les thèmes classiques).
  • Les erreurs PHP sont joliment présentées avec le composant responsable et la pile d’appels, ainsi qu’un avertissement visible dans la barre d’outils de l’admin.
  • Utilisation de la fonctionnalité « Doing it Wrong » ou « Deprecated » dans le code de votre site.
  • Blocs et propriétés associées dans le contenu des publications et dans l’éditeur de site (FSE).
  • Correspondance entre les règles de réécriture, les chaînes de requête associées et les variables de requête.
  • Les scripts et feuilles de style en attente, ainsi que leurs dépendances, les dépendances et les alertes pour les dépendances brisées.
  • Réglages linguistiques et fichiers de traduction chargés (fichiers MO et fichiers JSON) pour chaque domaine de texte.
  • API HTTP demandes, avec code de réponse, composant responsable et temps pris, avec des alertes pour échec ou erreur demandes.
  • ilisateur des contrôles de capacité, ainsi que le résultat et tout autre paramètres passé au contrôle de capacité.
  • Informations sur l’environnement, y compris des informations détaillées sur PHP, la base de données, WordPress et le serveur web.
  • Les valeurs de toutes les fonctions conditionnelles de WordPress telles que is_single(), is_home(), etc.
  • Transitions qui ont été mises à jour.
  • Utilisation de switch_to_blog() et restore_current_blog() sur les installations multisite.

De plus :

  • Chaque fois qu’une redirection se produit, Query Monitor ajoute un entête HTTP contenant la pile d’appels, afin que vous puissiez utiliser votre inspecteur HTTP favori ou les outils de développement du navigateur pour retracer ce qui a déclenché la redirection.
  • La réponse de toute requête Ajax initiée par jQuery- sur la page contiendra diverses informations de débogage dans ses en-têtes. Les erreurs PHP sont également affichées dans la console de développement du navigateur.
  • La réponse d’une demande authentifié WordPress API REST contiendra un aperçu des informations de performance et erreurs PHP dans son en-têtes, tant que l’utilisateur/utilisatrice authentifié a autorisation à voir les sorties de Query Monitor. Une une demande d’API REST enveloppée inclura encore plus d’informations de débogage dans le qm propriété de la réponse.

Par défaut, la sortie de Query Monitor n’est affichée qu’aux administrateurs et administratrices sur les installations à site unique, et aux super admins sur les installations multisites.

En plus de cela, vous pouvez définir un cookie d’authentification qui vous permet de voir la sortie de Query Monitor lorsque vous hors connexion (ou si vous êtes connecté en tant que non-administrateur). Voir le panneau des réglages pour plus de détails.

Autres extensions

Je maintiens plusieurs autres extensions pour les développeurs/développeuses. Découvrez-les ici :

  • User Switching permet de passer instantanément d’un compte à l’autre dans WordPress.
  • WP Crontrol permet de voir et de contrôler ce qui se passe dans le système WP-Cron

Thanks

The time that I spend maintaining this plugin and others is in part sponsored by:

Déclaration de confidentialité

Query Monitor est confidentiel par défaut et le sera toujours. Il ne stocke de manière persistante aucune des données qu’il collecte. Il n’envoie de données à aucun tiers et n’inclut aucune ressource tierce. La déclaration de confidentialité de Query Monitor peut être trouvée ici.

Déclaration d’accessibilité

Query Monitor a pour objectif d’être entièrement accessible à tous ses utilisateurs et utilisatrices. La déclaration d’accessibilité de Query Monitor peut être trouvée ici.

Captures d’écrans

  • Menu de la barre d’outils d’admin
  • Base de données agrégée Des requêtes par composant
  • Requêtes de base de données
  • Timeline
  • rochets et actions
  • Nécessite HTTP
  • Logs

FAQ

Cette extension fonctionne-t-elle avec PHP 8 ?

Yes, it’s actively tested and working up to PHP 8.5.

Who can see Query Monitor’s output?

Par défaut, la sortie de Query Monitor n’est affichée qu’aux administrateurs et administratrices sur les installations à site unique, et aux super admins sur les installations multisites.

En outre, vous pouvez définir un cookie d’authentification qui vous permet d’afficher la sortie de Query Monitor lorsque vous n’êtes pas connecté, ou lorsque vous êtes connecté en tant qu’utilisateur/utilisatrice qui ne peut généralement pas voir la sortie de Query Monitor. Voir le panneau Réglages pour plus de détails.

Est-ce que Query Monitor lui-même a un impact sur le temps de génération des pages ou sur l’utilisation de la mémoire ?

Réponse courte : oui, mais uniquement un peu.

Réponse longue : Query Monitor a un impact limité sur le temps de génération des pages car il s’accroche à quelques endroits de WordPress de la même manière que les autres extensions le font. L’impact est négligeable.

Sur les pages qui comportent un nombre particulièrement élevé de requêtes de base de données (des centaines), Query Monitor utilise actuellement plus de mémoire que je ne le souhaiterais. Cela est dû à la quantité de données capturées dans la trace de pile pour chaque requête. J’ai travaillé et je continuerai à travailler pour réduire cela.

Puis-je empêcher Query Monitor de collecter des données pendant des demandes de longue durée ?

Yes, you can call do_action( 'qm/cease' ) to instruct Query Monitor to cease operating for the remainder of the page generation. It will detach itself from further data collection, discard any data it’s collected so far, and skip the output of its information.

Cette fonction est utile pour les opérations de longue durée qui exécutent un très grand nombre de requêtes de base de données, qui consomment beaucoup de mémoire ou qui ne concernent pas le moniteur de requêtes, par exemple :

  • Sauvegarder ou restaurer votre site
  • Importer ou exporter une grande quantité de données
  • Exécution d’analyses de sécurité

Y a-t-il des modules pour Query Monitor ?

La liste des extensions complémentaires pour Query Monitor peut être trouvée ici.

En outre, Query Monitor prend en charge de manière transparente les modules complémentaires pour l’extension Debug Bar. Si des modules complémentaires de Debug Bar sont installés, désactivez Debug Bar et les modules complémentaires s’afficheront dans le menu de Query Monitor.

Où puis-je suggérer une nouvelle fonctionnalité ou signaler un bogue ?

Veuillez utiliser le suivi des problèmes sur le repo GitHub de Query Monitor car il est plus facile de suivre les problèmes à cet endroit, plutôt que sur les forums d’assistance de wordpress.org.

Query Monitor est-il déjà inclus dans mon hébergement ?

Certains hébergeurs incluent Query Monitor à leur plateforme d’hébergement, ce qui signifie que vous n’avez pas besoin de l’installer de votre coté. En voici quelques-uns :

Puis-je cliquer sur les traces de pile pour ouvrir le fichier dans mon éditeur ?

Oui, vous pouvez l’activer dans le panneau des Réglages.

Comment puis-je signaler un bogue de sécurité ?

You can submit a private security vulnerability report to Query Monitor via the Security tab on the GitHub repo. The GitHub Security Advisory process facilitates private collaboration on security issues. You’ll receive credit for a valid report and a CVE if necessary.

Do not report security issues on the WordPress.org support forums or via email. Thank you.

Acceptez-vous des dons ?

J’accepte les parrainages via le programme GitHub Sponsors. Si vous travaillez dans une agence qui développe avec WordPress, demandez à votre entreprise de fournir un parrainage afin d’investir dans sa chaîne d’approvisionnement. Les outils que je maintiens permettent probablement à votre entreprise d’économiser du temps et de l’argent, et le parrainage GitHub peut désormais se faire au niveau de l’organisation.

De plus, si vous aimez cette extension, j’aimerais que vous laissiez un avis. Parlez-en aussi à vos amis !

Avis

20 avril 2026
I’ve been using Query Monitor since 2023, and I honestly can’t imagine debugging WordPress sites without it anymore. It’s not just a plugin, it’s a complete developer toolbox that sits in the admin bar. It’s lightweight enough to keep running on production sites without noticeable overhead. John Blackbourn has built something truly special here. Five stars isn’t enough. Thank you for this masterpiece.
8 avril 2026
This plugin helped me realize a problem right in front of my eyes this whole time. A fantastic tool for troubleshooting database issues!
5 février 2026 1 réponse
Good. Shows a lot of useful stuff. Note that you will need to add /wp-content/db.php to your gitignore.
Lire les 466 avis

Contributeurs/contributrices & développeurs/développeuses

« Query Monitor » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.

Contributeurs

“Query Monitor” a été traduit dans 26 locales. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « Query Monitor » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.

Journal des modifications

4.0.6 (11 April 2026)

Version 4 of Query Monitor adds a new timeline view, and switches from rendering its panels server-side in PHP to efficiently rendering them client-side in Preact.

Version 4.0.6 fixes a compatibility issue with the GeneratePress theme.

More information at querymonitor.com/4.

4.0.5 (10 April 2026)

Version 4 of Query Monitor adds a new timeline view, and switches from rendering its panels server-side in PHP to efficiently rendering them client-side in Preact.

Version 4.0.5 fixes the following:

  • Ensures closing script tags within data don’t break the output
  • Adds « Doing it Wrong » data to the timeline view

More information at querymonitor.com/4.

4.0.4 (10 April 2026)

Version 4 of Query Monitor adds a new timeline view, and switches from rendering its panels server-side in PHP to efficiently rendering them client-side in Preact.

Version 4.0.4 fixes the following:

  • Ensures the Scripts panel remains visible when no scripts are enqueued in the header
  • Corrects the display of number formatting in some locales

More information at querymonitor.com/4.

4.0.3 (9 April 2026)

Version 4 of Query Monitor adds a new timeline view, and switches from rendering its panels server-side in PHP to efficiently rendering them client-side in Preact.

Version 4.0.3 fixes the following:

  • Improves compatibility with plugins that perform non-UTF8 queries or make other use of non-UTF8 data
  • Avoids a PHP warning for undefined file and line number in some stack trace frames
  • Simplifies and standardises the format of names used for closure callbacks
  • Improves styling and layout of the timeline view

More information at querymonitor.com/4.

4.0.2 (9 April 2026)

Version 4 of Query Monitor adds a new timeline view, and switches from rendering its panels server-side in PHP to efficiently rendering them client-side in Preact.

Version 4.0.2 fixes the following:

  • Adds further backwards compatibility for third-party plugins that read from the QM data collectors and output their own panels
  • Adds transient updates to the timeline view

More information at querymonitor.com/4.

4.0.1 (7 April 2026)

Version 4 of Query Monitor adds a new timeline view, and switches from rendering its panels server-side in PHP to efficiently rendering them client-side in Preact.

  • Version 4.0.1 fixes a backwards compatibility issue with plugins that register their own menus or sub-menus in Query Monitor.

More information at querymonitor.com/4.

4.0.0 (7 April 2026)

Version 4 of Query Monitor adds a new timeline view, and switches from rendering its panels server-side in PHP to efficiently rendering them client-side in Preact. This new approach provides several benefits:

  • Performance is greatly increased, particularly on sites where a large number of queries are performed, a large number of PHP errors are triggered, or a large amount of data is collected in one of the other panels.
  • Further future enhancements are facilitated, such as displaying client-side metrics, lazy-loading data, showing data from different requests, and more remixing of data into different views.
  • The raw data collected by Query Monitor has been reduced in size and memory usage, and is now exposed to the page as JSON. Take a look at the QueryMonitorData object in your browser console to play around with it.

More information at querymonitor.com/4.

3.20.4 (19 March 2026)

3.20.3 (17 March 2026)

  • Clicking QM in the the admin toolbar a second time will now close the panel
  • Improvements to accessibility of the toggle buttons
  • Failed HTTP API GET requests now show a clickable link

3.20.2 (11 December 2025)

  • Prevents a PHP error being triggered under certain conditions and when no database queries are performed.

Earlier versions

For the changelog of earlier versions, refer to the releases page on GitHub.