Query Monitor

説明

Query Monitor は WordPress および WooCommerce 開発者向けのツールパネルです。データベースクエリー、PHP エラー、フックとアクション、ブロックエディターのブロック、読み込まれた JavaScript とスタイルシート、HTTP API 呼び出しなどがデバッグ可能になります。

高度な機能として、Ajax と REST API の呼び出しデバッグ、ユーザー権限チェックがあり、ブロックテーマとフルサイト編集にも完全対応しています。また、結果のほとんどは対象のプラグインまたはテーマを特定することもできるため、パフォーマンスの悪いプラグイン、テーマ、または関数を迅速に判断できます。

Query Monitor は役立つ情報を見せることに注力しており、たとえばデータベースクエリーはプラグイン、テーマ、関数ごとにグループ分けして表示されます。管理バーに現在のページの概要を表示し、メニュー項目を選択すれば完全なデバッグ情報が表示されます。

Query Monitor は最大3年前までの WordPress バージョン、および PHP 7.4以上に対応しています。

より詳しい情報は、Query Monitor のサイトを見てください。

それぞれのページ読み込みで表示される概要はこちらです:

  • データベースクエリー、遅いクエリー、重複クエリー、エラーのあるクエリー。クエリーの種類 (SELECT, UPDATE, DELETE など)、関連するコンポーネント (プラグイン、テーマ、WordPress コア)、呼び出している関数、そしてそれぞれを組み合わせフィルタリングも可能。
  • テンプレートのファイル名、完全なテンプレート階層、ロードされた、またはロードされなかったすべてのテンプレートパーツの名前 (ブロックテーマと従来のテーマのいずれも)。
  • PHPエラーとその関連するコンポーネント、コールスタック、警告を管理バーに表示。
  • サイト上のコードで使用されている関数の間違いや非推奨。
  • 投稿コンテンツ内およびフルサイト編集 (FSE) 内のブロックと関連プロパティ。
  • 一致するリライトルール、関連するクエリー文字列とクエリー変数。
  • 読み込まれた JavaSrcript とスタイルシート、その依存関係および壊れてしまった依存関係についての警告。
  • 言語設定とそれぞれのテキストドメインで読み込まれた翻訳ファイル (MO ファイルと JSON ファイル)。
  • レスポンスコード付きの HTTP API リクエスト、関連するコンポーネント、所要時間、失敗あるいはエラーのあるリクエストだった場合の警告。
  • ユーザーの権限チェックとその結果、権限チェックに渡されたあらゆる変数。
  • PHP、データベース、WordPress、Web サーバーに関する詳細な環境情報。
  • is_single(), is_home() のような WordPress 条件分岐関数の値。
  • 更新された Transient。
  • マルチサイトでの switch_to_blog()restore_current_blog() の使用。

おまけ:

  • リダイレクトが起きると Query Monitor はコールスタックを含んだ HTTP ヘッダーを追加するので、お好きな HTTP インスペクターやブラウザーの開発者ツールでリダイレクトを発生させたものをトレースすることができます。
  • ページ内で jQuery から実行された Ajax リクエストのレスポンスはヘッダーに様々なデバッグ情報を含んでいます。PHP エラーもデヴェロッパーコンソールに出力されます。
  • 認証済みの WordPress REST API リクエストのレスポンスには、認証済みユーザーが Query Monitor の出力を表示する権限を持っている限り、パフォーマンス情報と PHP エラーの概要がヘッダーに含まれます。エンベロープ化された REST API リクエストでは、レスポンスの qm プロパティにさらに詳しいデバッグ情報が含まれます。

初期設定だと、Query Monitor の出力はシングルサイトで管理者、マルチサイトで特権管理者にだけ表示されます。

さらに、ログインしていないとき (もしくは管理者以外でログイン中のとき) でも Query Monitor の出力を見ることができるよう認証用の Cookie を設定することができます。詳しくは設定パネルを見てください。

ブラウザー拡張機能

Query Monitor はオプションのブラウザー開発者ツール拡張機能としても利用できます。これは、管理バーに出力されるページ内パネルの代わりとなる手段です。

ブラウザー拡張機能の利用には、ページ内パネルに比べていくつかの利点があります:

  • 検証しているページ内で Query Monitor パネルがスペースを占有しない
  • 他の開発者ツールパネルと同様に、パネルのサイズ変更、切り離し、移動ができる

Query Monitor のブラウザー拡張機能についての情報はこちらで確認できます

他のプラグイン

開発者向けの他のプラグインもいくつかメンテナンスしています。チェックしてみてください:

  • User Switching は、WordPress のユーザーアカウントを瞬時に切り替えられるプラグインです。
  • WP Crontrol は、WP-Cron システムで実行されている内容を表示・制御できるプラグインです

謝辞

このプラグインや他のプラグインのメンテナンスに費やす時間は、一部次のスポンサーの支援を受けています:

プライバシー声明

Query Monitor は初期設定でプライベートであり、今後もその方針は変わりません。収集したデータを永続的に保存することはなく、第三者へのデータ送信や第三者のリソースの読み込みも行いません。Query Monitor の完全なプライバシー声明はこちらで確認できます

アクセシビリティ声明

Query Monitor はすべてのユーザーが完全に利用できることを目指しています。Query Monitor の完全なアクセシビリティ声明はこちらで確認できます

スクリーンショット

FAQ

このプラグインは PHP 8で動作しますか。

はい。PHP 8.5まで動作テスト済みです。

Query Monitor の出力は誰が閲覧できますか ?

初期設定だと、Query Monitor の出力はシングルサイトで管理者、マルチサイトで特権管理者にだけ表示されます。

さらに、ログインしていないとき、または通常は Query Monitor の出力を見ることができないユーザーでログインしているときでも、その出力を見ることができるよう認証用の Cookie を設定することができます。詳しくは設定パネルを見てください。

Query Monitor 自体はページの生成時間やメモリー消費に影響を与えますか?

簡潔に言うと、そうですが、少しだけです。

詳しい回答: Query Monitor は他のプラグインと同様に WordPress のいくつかの箇所にフックしているため、ページの生成時間にわずかな影響があります。ただしその影響は無視できる程度です。

データベースクエリーの数が特に多いページ (数百件程度) では、Query Monitor が現状望ましい以上にメモリーを消費します。これは各クエリーのスタックトレースとして取得するデータ量が原因です。この点は継続的に改善に取り組んでいます。

長時間実行されるリクエストの間、Query Monitor がデータを収集しないようにできますか。

はい。do_action( 'qm/cease' ) を呼び出すことで、以降のページ生成中は Query Monitor の動作を停止するよう指示できます。これによりそれ以上のデータ収集から切り離され、それまでに収集したデータは破棄され、情報の出力もスキップされます。

これは、非常に多くのデータベースクエリーを実行する、大量のメモリーを消費する、あるいはそもそも Query Monitor で気にする必要のない、長時間実行される処理に役立ちます。例:

  • サイトのバックアップや復元
  • 大量のデータのインポートやエクスポート
  • セキュリティスキャンの実行

Query Monitor のアドオンプラグインはありますか。

Query Monitor のアドオンプラグインの一覧はこちらで確認できます。

さらに、Query Monitor は Debug Bar プラグインのアドオンを透過的にサポートしています。Debug Bar のアドオンがインストールされている場合、Debug Bar を無効化するだけで Query Monitor のメニューにそのアドオンの情報が表示されます。

新機能の提案やバグレポートはどこで受け付けていますか。

wordpress.org のサポートフォーラムではなく、Query Monitor の GitHub リポジトリにあるイシュートラッカーを使ってください。その方がイシューの進捗を追いかけるのに適しています。

利用しているホスティングにはすでに Query Monitor が含まれていますか。

ホスティングプラットフォームに Query Monitor があらかじめ組み込まれていて、自分でインストールする必要がない Web ホストもあります。把握している範囲では以下のとおりです:

スタックトレースをクリックして私のエディターでファイルを開くことはできますか?

はい。設定パネルで有効にできます。

セキュリティのバグはどのように報告すればよいですか。

Query Monitor へのセキュリティ脆弱性の非公開報告は、GitHub リポジトリの Security タブから行えます。GitHub Security Advisory のプロセスにより、セキュリティ問題について非公開で協力しながら対応できます。有効な報告には謝辞が贈られ、必要に応じて CVE も発行されます。

セキュリティ問題は WordPress.org のサポートフォーラムやメールでは報告しないでください。ありがとうございます。

寄付を受け付けていますか。

GitHub Sponsors プログラムを通じてスポンサーシップを受け付けています。WordPress で開発を行う制作会社にお勤めの方は、サプライチェーンへの投資として、会社にスポンサーシップの提供を打診してみてください。私がメンテナンスしているツールはおそらく会社の時間とコストの節約になっていますし、GitHub のスポンサーシップは組織単位でも行えるようになりました。

また、このプラグインがお気に召したのなら、レビューを残してください。お友達にも伝えてくださいね !

評価

2026年8月26日
This is an absolute must have for plugin development.
2026年7月7日
This plugin does an excellent job of displaying information that is helpful in troubleshooting while working on WordPress theme and plugin development. I appreciate how PHP errors and deprecation warnings are grouped together and moved away from the published page view. Being able to see transient updates and SQL queries at a glance is so nice.
2026年5月23日
Saved my sanity today, (Orderable had been calling on a youtube link and added each page load 5s)
2026年4月20日
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.
2026年4月8日
This plugin helped me realize a problem right in front of my eyes this whole time. A fantastic tool for troubleshooting database issues!
469件のレビューをすべて表示

貢献者と開発者

Query Monitor はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“Query Monitor” は26ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“Query Monitor” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

4.0.7 (2026年6月20日)

  • WordPress 7.0のサポートを確認
  • 管理バーメニューを改善する
  • db.php が存在しない場合でも、タイムラインにデータベースクエリを表示する
  • エンキューされた JavaScript および CSS の依存関係に関する問題のエラー表示を強化する
  • Chrome ブラウザの旧バージョン向けに後方互換性を追加する

4.0.6 (2026年4月11日)

Query Monitor のバージョン4では新しいタイムラインビューが追加され、パネルのレンダリングを PHP によるサーバーサイドから Preact による効率的なクライアントサイドへと切り替えました。

バージョン4.0.6は、GeneratePress テーマとの互換性の問題を修正します。

詳細は querymonitor.com/4 を参照してください。

4.0.5 (2026年4月10日)

Query Monitor のバージョン4では新しいタイムラインビューが追加され、パネルのレンダリングを PHP によるサーバーサイドから Preact による効率的なクライアントサイドへと切り替えました。

バージョン4.0.5では以下の問題を修正:

  • データに含まれる閉じスクリプトタグが出力を壊さないようにする
  • タイムラインビューに “Doing it Wrong” のデータを追加する

詳細は querymonitor.com/4 を参照してください。

4.0.4 (2026年4月10日)

Query Monitor のバージョン4では新しいタイムラインビューが追加され、パネルのレンダリングを PHP によるサーバーサイドから Preact による効率的なクライアントサイドへと切り替えました。

バージョン4.0.4では以下の問題を修正:

  • ヘッダーにスクリプトがエンキューされていない場合でも、「Scripts」パネルが表示されたままになるようにする
  • 一部のロケールにおける数値書式の表示を修正する

詳細は querymonitor.com/4 を参照してください。

4.0.3 (2026年4月9日)

Query Monitor のバージョン4では新しいタイムラインビューが追加され、パネルのレンダリングを PHP によるサーバーサイドから Preact による効率的なクライアントサイドへと切り替えました。

バージョン4.0.3では以下の問題を修正:

  • 非UTF8のクエリを実行する、または非UTF8のデータをその他の方法で使用するプラグインとの互換性を改善する
  • 一部のスタックトレースフレームでファイル名や行番号が未定義の場合に発生する PHP の警告を回避する
  • クロージャコールバックに使用される名前の形式を簡素化・統一する
  • タイムラインビューのスタイルとレイアウトを改善する

詳細は querymonitor.com/4 を参照してください。

4.0.2 (2026年4月9日)

Query Monitor のバージョン4では新しいタイムラインビューが追加され、パネルのレンダリングを PHP によるサーバーサイドから Preact による効率的なクライアントサイドへと切り替えました。

バージョン4.0.2では以下の問題を修正:

  • QM のデータコレクターから読み取って独自のパネルを出力するサードパーティ製プラグインとの後方互換性をさらに追加する
  • タイムラインビューにトランジエントの更新を追加する

詳細は querymonitor.com/4 を参照してください。

4.0.1 (2026年4月7日)

Query Monitor のバージョン4では新しいタイムラインビューが追加され、パネルのレンダリングを PHP によるサーバーサイドから Preact による効率的なクライアントサイドへと切り替えました。

  • バージョン4.0.1では、Query Monitor 内に独自のメニューやサブメニューを登録するプラグインとの後方互換性の問題を修正しました。

詳細は querymonitor.com/4 を参照してください。

4.0.0 (2026年4月7日)

Query Monitor のバージョン4では新しいタイムラインビューが追加され、パネルのレンダリングを PHP によるサーバーサイドから Preact による効率的なクライアントサイドへと切り替えました。この新しい方式には、いくつかの利点があります:

  • 特に大量のクエリが実行される、大量の PHP エラーが発生する、またはほかのパネルで大量のデータが収集されるサイトにおいて、パフォーマンスが大幅に向上します。
  • クライアントサイドの指標の表示、データの遅延読み込み、別のリクエストからのデータの表示、さまざまなビューへのデータの再構成など、今後のさらなる機能強化が可能になります。
  • Query Monitor が収集する生データのサイズとメモリ使用量が削減され、ページに JSON として公開されるようになりました。ブラウザのコンソールで QueryMonitorData オブジェクトを確認して試してみてください。

詳細は querymonitor.com/4 を参照してください。

3.20.4 (2026年3月19日)

3.20.3 (2026年3月17日)

  • 管理バーの QM をもう一度クリックするとパネルが閉じるようになる
  • 切り替えボタンのアクセシビリティを改善
  • 失敗した HTTP API の GET リクエストにクリック可能なリンクを表示するようになる

旧バージョン

旧バージョンの変更履歴については、GitHub のリリースページを参照してください。