WordPressサイトを運営していると、

「挙動がおかしい」
「デザインが崩れている」
「エラーが出ている」

といった状況に遭遇することがあります。

これらの原因を調査するのに便利なのが「Query Monitor」というプラグインです。

当記事では、Query Monitorで具体的にどのような情報を確認できるのかをご紹介します。

WordPressテーマ「GLUE」
WordPressテーマ「GLUE」
無料で高機能なWordPressテーマが手に入る。

Query Monitorの機能概要

Query Monitorは、WordPressサイトの状態を可視化し、問題発生時の原因調査やページパフォーマンス改善に活用できるツールです。

主な機能は次の通り。

  • ページに関する基本情報(表示時間・メモリ使用量など)を確認できる
  • PHPエラーや警告、Noticeの発生箇所を一覧で確認できる
  • SQLクエリの一覧、処理時間、呼び出し元を確認できる
  • JavaScriptCSSによる不要ファイルの読み込み状況を確認できる
  • 条件文(Conditional Tags)や翻訳ファイル、HTTPリクエストなども確認可能

サイトで問題が起きたときや、検証作業の際に導入すると便利なプラグインです。

プラグインのインストール

プラグイン「Query Monitor」のインストール画面

管理画面から「Query Monitor」を検索してインストールするか、下のボタンからもダウンロード可能です。プラグインファイルを wp-content/plugins ディレクトリにアップした後、管理画面から有効化してください。

Query Monitor

プラグインのインストールにつきましてはこちらで詳しく解説しています。

使い方

Query Monitorを有効化すると、ツールバーに読み込みにかかった時間やメモリの使用量が表示されます。

ツールバーに表示されるQuery Monitor

状態を確認したいページで、ツールバーを確認する使い方です。

もしサイト上に表示されていない場合は、以下の記事を参考に設定を変更してください。

まずは、上記の数値を見るだけでも「ページが重いかどうか」の目安になります。

ページの表示速度や改善策を詳細に知りたい場合は、Google開発のこちらの拡張機能が便利です。

Query Monitorで確認できる項目一覧

ツールバーをクリックすると、Query Monitorのメニュー項目が展開されます。

Query Monitorのメニュー一覧

左側の項目ごとにまとめたので、気になる箇所の見方や使い方をご覧ください。

概要

Query Monitor「概要」

Query Monitorを有効化すると、まずここでページ全体の処理時間、メモリ使用量、データベースクエリ数など、ページ表示の基本情報を確認できます。

ページ表示時間やメモリの使用量が極端に大きい場合は、そのページで何か改善すべきことがあるということになります。

PHPエラー

Query Monitor「PHPエラー」

発生しているPHPエラー、警告、Noticeなどを一覧で確認できます。どのページでどんなエラーが出ているかを把握し、開発者に正確に報告できます。

エラーの種類については、下記記事が参考になります。

データベースクエリー

Query Monitor「データベースクエリー」

SQLクエリの一覧、処理時間、呼び出し元を確認できます。重複や遅いクエリがある場合、ページ表示が遅くなる原因を特定するのに役立ちます。

SQLクエリとは、データベースに「この情報をください」と命令する文章のことです。

上記画面では、呼び出し元がWordPressコアなのか、テーマなのか、プラグインなのかを確認できますね。

タイミング

Query Monitor「タイミング」

通常は「No data logged. Read about timing and profiling in Query Monitor.」のように表示されますが、これはタイミング情報(処理時間の詳細)が計測されていないだけです。

ページ表示やサイトの動作には影響はないですし、運営者が無理に設定する必要もありません。

ログ

Query Monitor「ログ」

こちらも通常は、「No data logged. Read about logging variables in Query Monitor.」と表示されます。開発者が設定したカスタムログがまだ記録されていない状態を示しています。

何か表示される場合のみ、開発者(開発元の担当)に内容を伝えるだけで十分です。

リクエスト

Query Monitor「リクエスト」

現在のHTTPリクエストやリダイレクトの情報を確認できる箇所です。URLやパラメータの誤り、リダイレクトループなどの原因を把握できます。

ページに問題がある場合は、赤字や警告文が表示されますので、↑のような画面でしたら問題なしです。

管理画面・ブロック等の項目

Query Monitor「管理画面」

「管理画面」は、管理画面を開いているときだけ表示される項目です。そのため、フロント(公開ページ)では通常表示されません。

フロントでは、「管理画面」の代わりに以下の項目が確認できます。

  • ブロック:Gutenberg(ブロックエディター)で使用されているブロックごとの情報を確認できます。
  • テンプレート:ページで読み込まれているテンプレートファイルの情報を確認できます。

不具合が出ていない限り、ざっと確認するだけで十分です。

Scripts・Styles

Query Monitor「Scripts・Styles」

ページで読み込まれているJavaScript(Scripts)やCSS(Styles)の一覧と依存関係を確認できます。

注意したいのは、「必要のないファイルが大量に読み込まれていないか」という点です。一覧の「Handle」列を見ると、ファイルの役割(テーマ由来か、特定のプラグイン由来かなど)が概ね分かります。

もし用途が分からないファイルや不要そうなものが見つかった場合は、テーマの開発元や担当の開発者に相談するのが安心です。

フックとアクション

Query Monitor「フックとアクション」

WordPressでは、テーマやプラグインが「フック」と呼ばれる仕組みを使って機能を追加しています。

この項目で、どのフックが実行されたのか、どの処理につながっているのかを一覧で確認できます。

開発者向けの内容なので、運営者が普段チェックする必要はなく、「どのプラグインがどの処理に関わっているか」を開発者に伝えるための参考情報として利用すれば十分です。

言語

Query Monitor「言語」

WordPressサイトで利用されている翻訳ファイル(.moファイル)や、現在の言語設定を確認できます。

たとえば、次のようなシーンで「翻訳ファイルが正しく読み込まれているか」を確認できるイメージです。

  • 日本語サイトなのに英語の翻訳が一部出てしまう
  • プラグインの日本語化が反映されない

右端に「見つかりませんでした」と表示されている場合、指定された翻訳ファイルがサーバー上に存在しないという意味です。

ただ未翻訳の箇所があるだけの場合もあるため、「存在しない=不具合」とは限りません。

必要に応じて、この情報を開発者に伝えればスムーズに対応してもらえます。

HTTP API Calls

Query Monitor「HTTP API Calls」

外部サービスとの通信(APIリクエスト)が発生した場合に表示されます。通信が行われていなければ空欄のままです。

Transient Updates

Query Monitor「Transient Updates」

WordPress が内部的に利用している一時的なキャッシュ(Transient API)の更新状況を確認できます。通常の運営では特に気にしなくても大丈夫です。

Capability Checks

Query Monitor「Capability Checks」

現在ログインしているユーザーが持っている権限を確認できます。

WordPressでは、管理者・編集者などのユーザー権限ごとに、できることが細かく分かれています。

ここでは、特定の処理を行う際にユーザー権限が不足していないかをチェックできますが、初期状態では何も表示されません。

そのため、次のようなプラグインを使って、ユーザーを切り替えながら確認した方がスムーズです。

環境

Query Monitor「環境」

WordPressサイトが動作しているサーバーやPHPの環境情報を確認できます。具体的には以下の項目が表示されます。

  • PHPのバージョン
  • データベース(MySQLやMariaDB)のバージョンやホスト名、ユーザー名など
  • WordPress本体のバージョンやデバッグモードの状態
  • サーバーのIPアドレスやホスト名など

不具合や動作不良が発生している場合、ここの情報を開発者やサーバー担当者に共有すると、原因の特定がスムーズになります。

条件文

Query Monitor「条件文」

WordPressでは、ページごとに処理を切り替えるための条件文(Conditional Tags)が用意されています。ここでは、現在開いているページがどの条件に該当しているかを確認できます。

たとえば、こんなイメージですね。

  • is_front_page → ホームページかどうか
  • is_page → 固定ページかどうか

特定の表示や動作が、ページごとに変わらない場合は、条件文が正しく機能していない可能性があります。ここで確認できる内容を参考情報として開発者に伝えてみてください。

まとめ

WordPressプラグイン「Query Monitor」についてご紹介しました。

サイトの表示速度や処理状況・エラー・読み込みファイルなどを幅広く確認できるデバッグツールですが、最低限チェックしたい項目は次の通りです。全箇所を常時チェックする必要はありません。

  • ページに関する基本情報(表示時間・メモリ使用量・SQLクエリ数など)
  • PHPエラーや警告の有無
  • SQLクエリの重複や遅延(ページ表示が遅い場合の参考)
  • Scripts・Stylesによる不要ファイルの読み込み
  • サイトの環境情報(PHP・MySQL・WordPressのバージョンなど)

これ以外の情報も、不具合や特定の動作を調べる際に開発者と共有すれば、問題の切り分けがスムーズになります。サイトで何か問題が起きたときは、ぜひQuery Monitorを活用してみてください。

トラブルシューティング関連の記事

魅力的なブログがつくれる
WordPressテーマ集
WordPressテーマ「PANDORA」
レイアウト自由自在なブログ・メディアを構築。
WordPressテーマ「NULL」
技術や知見をシェアする開発者ブログを構築。
WordPressテーマ「Muum」
デザイン・SEOともに最高峰のブログに。
WordPressテーマ「Cherie」
華やかなブログで集客できるテンプレート。