ログファイルには、MyKinstaからアクセス可能です。SFTPでダウンロードすることもできます。サイトのパフォーマンスに関する問題をトラブルシューティングする際に有用です。
デバッグ
サイトに何らかの問題やエラーが発生したら、その原因や解決策を探るためにトラブルシューティングを行う必要があります。
WordPressは動的なコンテンツ管理システム(CMS)であり、バックグラウンドでコードが常に実行され、ページが生成されます。そのため、プラグイン間のコードの衝突、テーマの構文エラー、functions.phpファイルの壊れたコード、その他のPHP関連のエラーが発生することがあります。
このような問題に対処するには、WordPress組み込みのデバッグモードが有用です。サイトのトラブルシューティングに役立ち、すべてのPHPエラー、通知、警告を表示することで、ボトルネックを特定することができます。また、特定の種類の問題を調査するのに役立つデバッグオプションもあります。
通常、デバッグモードを有効にするには wp-config.php
ファイルを編集する必要があります。これは、WordPressのログイン認証情報が手元になかったり、SFTPクライアントをインストールしていなかったりする場合には不便です。弊社では、WordPressのワークフローを改善する機能やツールを継続的に開発、導入しています。MyKinstaの「WordPressデバッグ」ツールを利用すると、コーディングなしで簡単にデバッグモードを有効化(および無効化)することができます。
問題の原因を特定したら、その内容をプラグインやテーマの開発者、またはサイトの開発者に報告することをお勧めします。すぐに解決されない場合は、解決まで特定のプラグインやテーマの使用を一時停止することも一つの方法です。
WP_DEBUGを有効にする
WP_DEBUG
を有効にするには、MyKinstaにログインし、有効にしたいサイトと環境を選択します。
「ツール」画面を開き「WordPressデバッグ」の「利用する」ボタンをクリックします。
これにより、MyKinstaのエラーログに加えて、WordPressサイトのあらゆるPHPエラー、通知、警告が表示されるようになります。これらはサイトのフロントエンドとバックエンド(WordPressの管理画面)の両方に表示されます。下のスクリーンショットは、デバッグモード有効時に見られる一般的なPHPの警告メッセージです。
サイトのwp-config.phpファイルを表示すると、/* That's all, stop editing! Happy blogging. */
行の直前に以下の行が追加されています。
if (! defined('WP_DEBUG') ) { define( 'WP_DEBUG', true ); } // line added by the MyKinsta
WP_DEBUG
をtrueに設定すると、WordPressのデバッグが有効になります。
WP_DEBUGの拡張
追加のデバッグオプションを有効にすることも可能です。WP_DEBUG
の補足として機能する定数がいくつかあります。
デバッグログ
エラーをログファイルに保存したい場合は、wp-config.phpファイルを編集します。WP_DEBUG
を有効化したコードの後に、以下を追加することで、WP_DEBUG_LOG
を有効にすることができます。
define( 'WP_DEBUG_LOG', true );
デフォルトでは、このログファイルは、サーバー上のwp-content/debug.log に保存されます。お好みに応じて、パスとファイル名を変更することができます。この例では、ログファイルをtmpディレクトリに保存し、ファイル名をwp-errors.logとしています。
define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );
スクリプトデバッグ
SCRIPT_DEBUG
を有効にすると、WordPressで(通常読み込まれる圧縮されたものではなく)開発版のコアCSS、JavaScriptファイルが強制的に使用されるようになります。
define( 'SCRIPT_DEBUG', true );
これは、JavaScriptやCSSのトラブルシューティングを行う際、特にコアJavaScript、CSSファイルの競合やその他の問題が疑われる場合に有効です。
データベースクエリのデバッグ
データベースクエリを配列として保存するには、SAVEQUERIES
を有効にします。
define( 'SAVEQUERIES', true );
これにより、各クエリの実行時間や、どの関数がクエリを呼び出したかなどを保存できます。この配列は、グローバル変数$wpdb->queries
でアクセスしたり表示したりすることができます。
WP_DEBUGを無効にする
WordPressサイトのトラブルシューティングを終えたら、「WordPressデバッグ」の「無効化」をクリックして、デバッグモードを終了します。
その他のデバッグツールとリソース
Query Monitorプラグイン
Query Monitorは、WordPressのさまざまな分野のデバッグを支援してくれる無料のプラグインです。時間のかかっているデータベースクエリ、AJAX、REST APIリクエストなどを確認できます。Query Monitorの使用方法はこちらをご覧ください。
Kinsta APM
弊社APMツールは、New Relicといったサードパーティ製サービスに代わる、無料で利用できる監視ツールです。WordPressサイトのPHPパフォーマンスにおけるボトルネックを特定することができます。
New Relic
New Relicは、細かなパフォーマンスの内訳を知ることができる監視ツールです。