WordPressサイトのトラブルシューティングを実施するのに十分なデータがないと、イライラするものです。ただしご安心を。新しくなったMyKinstaの分析機能を使用すると、簡単にあらゆるトラブルを調査できます。MyKinstaの分析機能の各セクションについて詳しくご説明し、これを活用してWordPressサイトを改善したり修正したりする実例もご紹介します。是非とも、サイトの調査にご活用ください!
MyKinsta分析機能の概要
MyKinstaのメイン画面(タブの一番上に位置する「ダッシュボード」)には、リソースの使用状況、データ使用状況、訪問数といった簡単なデータが表示されます。より詳細な情報を確認するには、サイドバーの「分析」をクリックします。

画面上部から、データをフィルタリングしたり、すべてのデータを表示したりできます。過去24時間、7日、または30日でデータをフィルタリング可能です。

MyKinstaの分析機能は7つのセクションに分割されており、そのセクションについては後程さらに詳しくご説明します。
1. リソース
「リソース」タブでは、訪問者の合計数、帯域幅の使用状況、データ容量上位のリクエスト一覧、受信回数上位のリクエスト一覧を表示できます。
訪問数
「訪問数」では、WordPressサイトを訪問したユーザーの総数(定義については後述のリンクを参照のこと)が確認できます。グラフの特定の時点を選択すると、前日と比べた訪問者の推移など、比較データが表示されます。これは、ウェブサーバーへの訪問者数をそのまま示したデータです。Googleアナリティクスのフィルターやルールなどは、ここでは影響を及ぼしませんのでご注意ください。サイトにおける(人間の)訪問者数を知りたい場合などには特にこの点を意識する必要があります。各アナリティクス系サービスにより、ボット(またはその他の無視すべき)トラフィックと見なされる対象が異なります。

Kinstaホスティングプランの料金は、サイトにおける月当たりの合計訪問数に左右されます。あわせて当社の採用する訪問数カウント方法をご参照ください。注)「リソース」タブの「訪問数」は、MyKinsta「ダッシュボード」タブに表示される数字とは異なる場合があります。これは、MyKinsta「ダッシュボード」タブには、その時点での請求期間内における訪問数が表示されるためです。
帯域幅
「帯域幅」タブには、サイトが使用してきたデータ総量が表示されます。Kinstaでは、サイトの訪問数に基づいてプランの利用料金を決定していますが、一方で帯域幅はパフォーマンス関連のトラブルシューティングに役立ちます。グラフの特定の時点を選択すると、前日と比べた合計数の推移など、比較データが表示されます。

すべてのお客様にCDNのご利用を強くお勧めします。CDNを使用すると、スピードが改善するだけでなく、サイトの帯域幅やリソースの使用量も減ります。CDNは一般的に非常に安価(または無料)です。WordPress CDNの利点と、それを使用すべき理由や、WordPressサイトでKinsta CDNを有効にする手順もあわせてご覧ください。
データ容量上位のリクエスト一覧
バイトは、データ伝送システムにおける一連のビットのまとまり(8ビット)を意味します。WordPressサイトでは、MB、GB、およびTBで測定されます。サイトで転送されるバイトの合計が帯域幅です。「データ容量上位のリクエスト一覧」では、サイト上で帯域幅を最も使用しているリクエストを正確に特定できます。

受信回数上位のリクエスト一覧
受信回数上位のリクエスト一覧には、サーバー上のサイトで最も多くリクエストされたリソースが表示されます。このデータと先のデータを組み合わせて使用し、帯域幅がどこで大量に使用されているのか把握することができます。多くの場合、気になる点が簡単に見つかります。

2. CDN使用状況
「CDN使用状況」では、CDN帯域幅、リクエスト数上位のファイル一覧、データ容量上位のファイル一覧、データ容量上位のファイル拡張子一覧、およびレスポンスコードの内訳が確認できます。サイトの特定のメディアファイルがすべての帯域幅を消費してしまっている場合などには、ものの数秒で分かります。

CDN使用状況画面の下部に、データ容量上位のファイル拡張子一覧が表示されます。これにより、サイトのどのタイプのメディアが帯域幅使用の大部分を占めているかを簡単に確認できます。
また、レスポンスコードの内訳もあります。「OK」を意味する「200」は好ましいステータスコードです。「300」、「400」、「500」といったステータスコードの詳細については、HTTPステータスコードについてのこちらの記事をご覧ください。

3. デバイス
デバイス画面では、サイトのトラフィックに関するさまざまなデータを確認できます。
モバイル vs PC
「モバイル vs PC」では、ユーザーがサイトにアクセスしているデバイスを確認できます。以下の例では、PCからのトラフィックが86%以上であることがわかります。

4. パフォーマンス
「パフォーマンス」タブでは、「PHP+MySQLの平均応答時間」、「PHPのスループット」、「AJAX使用状況」、「上位のPHP+MySQL平均応答時間」と「所要時間上位のアップストリーム一覧」が確認できます。
PHP+MySQLの平均応答時間
WordPressサイトにアクセスがある度に、ページのデータをコンパイルしクエリするためにPHPとMySQLが使用されます。このグラフは、(キャッシュされていない)動的リクエストに対するPHPエンジンとMySQLエンジンの平均応答時間を示しています。これを理解することにより、速度低下に対処できる場合があります。疑わしい応答時間の急騰が見られる場合には、サポートまでお気軽にご相談ください。

PHPのスループット
スループットとは、アプリケーションが処理できる1秒あたりのトランザクション数を指します。ここには、WordPressサイトのPHPスループットが表示されます。つまり、PHPアセットがリクエストされた回数が確認できます。

ワーカープロセス数上限到達回数
「ワーカープロセス数上限到達回数」では、PHPエンジンが割り当てられたワーカープロセス数上限に達した回数が表示されます。Kinstaの各ホスティングプランには、一定数のワーカープロセスが割り当てられています。例えば、ご利用のプランにおけるワーカープロセス数が4だとします。お客様のサイトで4つのワーカープロセスが同時に使用され、受信したPHPリクエストに即座に対応できない場合には、1回の上限到達としてカウントされます。
ワーカープロセス数上限は、Kinstaのホスティングプランにより異なります。このグラフは、お客様のサイトが頻繁に上限に達しているかどうか、また、新しいバージョンのPHPエンジンに更新した場合にどのような影響があるかを特定するのに便利です。

AJAX使用状況
AJAXは、ポストバックやページ全体の更新を必要とすることなく、サーバー、データベースとの通信を可能にするクライアントサイドのスクリプトです。WordPressでは、スピードテストの項目でよく見かけます。AJAX関連の一般的な異常としては、プラグインによりAJAXの使用量が急上昇すること、そして、バックエンドのCPUの問題が挙げられます。「Admin-AJAX使用状況の診断」もあわせてご覧ください。

MyKinsta「分析」機能の「AJAX使用状況」は、特定の期間にAJAX使用量が急増しているかどうかを確認できるため、このような問題のトラブルシューティングに最適です。このグラフはadmin-ajaxリクエストの数を示しています。これをもとに策(詳しくは先のリンクを参照のこと)を実施し、発生原因を絞り込むことができます。

平均応答時間上位のPHP+MySQL一覧
アップストリーム時間とは、NGINX(およびアップストリームサーバー)がリクエストを処理し応答を送信するまでにかかる時間のことです。これは秒単位で測定されます。「NGINXの測定について」もあわせてご覧ください。この一覧には、平均応答時間上位のPHP+MySQL(合計)が表示されます。

最大応答時間上位のアップストリーム一覧
この一覧には、最大応答時間上位のPHPとMySQLが表示されます。ここにある数値は1回限りのピークである可能性があるため、常に「平均応答時間上位のPHP+MySQL一覧」と比較して検討することをお勧めします。

5. レスポンス
「レスポンス」タブでは、レスポンスコードの内訳、レスポンス統計データ、500番台エラーの内訳、400番台エラーの内訳、リダイレクトの内訳、リクエスト数上位の404エラー一覧などを確認できます。
レスポンスコードの内訳
「レスポンスコードの内訳」には、リクエストされたリソースに対するHTTPステータスコードの一覧が表示されます。レスポンスコードはHTTPステータスコードとも呼ばれ、一概に悪いものとは限りません。たとえば、HTTPステータスコード「200」は、シンプルに「OK」という意味です。これは、ウェブページやリソースが期待どおりに動作しているときに返されるコードです。以下でさらに詳しくご説明します。

レスポンス統計データ
「レスポンス統計データ」には、発生したリダイレクトの総数、エラー、成功率、エラー率が表示されます。どのWordPressサイトであっても、ある程度のエラーが記録されるものです。これは完全に正常です。

500番台エラーの内訳
「500番台エラーの内訳」には、サーバーで発生した500番台エラーの総数が表示されます。 各500番台エラーの意味は次の通りです。
- 500: 「サーバーにエラーが発生したため、リクエストを完了できませんでした」→一般的なコードで、単に「サーバー内部エラー」を意味します。サーバー内部にエラーが発生したことで、リクエストしたリソースが配信されていません。データベースへの接続が切断されたときにWordPressによって生成されるコードです。「データベース接続確立時エラーの処理方法」もあわせてご確認ください。
- 502:「不正なゲートウェイ」→このエラーコードは、あるサーバーが別のサーバーから無効な応答を受け取ったときに表示されます。クエリ及びリクエストに時間がかかり過ぎ、サーバーによりキャンセルされることがあります。「502 不正なゲートウェイエラー発生の原因」もあわせてご覧ください。
- 503: 「サーバーは現在このリクエストを処理することができません」→リクエストを完了できないことを意味します。このコードは、サーバーの過負荷で、追加のリクエストが処理できない時に返されます。WordPressサイトの「サーバーは現在このリクエストを処理することができません…というエラーの対処方法」もご覧ください。

400番台エラーの内訳
「400番台エラー」の項目には、サーバーで発生した400番台エラーの詳細が表示されます。各400番台エラーの意味は次の通りです。
- 401:「認証が必要である」→このエラーコードは、ターゲットリソースに有効な認証資格情報がない場合にサーバーから返されます。
- 403:「禁止されている」→このコードは、ユーザーがアクセス権限のないものにアクセスしようとした時に返されます。たとえば、ログインせずにパスワードで保護されたコンテンツを表示しようとすると、403エラーが発生します。
- 404:「未検出」→一般的なエラーメッセージの一つです。要求されたリソースが存在せず、「サーバーがそれが存在したかどうかを判断できない」ことを意味します。
- 405:「許可されていないメソッド」 →これは、ホスティングサーバー(オリジンサーバー)が受信したメソッドをサポートしているものの、ターゲットリソースがサポートしていない場合に発生します。
- 429:「リクエストが多すぎる」 →ユーザーが短時間に大量のリクエストを送信したときに、サーバーにより返されます(レート制限)。これは、ボットやスクリプトがデフォルトのWordPressログイン画面に総当たり攻撃をしかけた時に発生しがちです。そのような事態が発生した場合には、WordPressのログインURLを変更することをお勧めします。
- 499:「クライアントがリクエストを切断」→これは、NGINXがリクエストを処理している最中にクライアントがそのリクエストを閉じたときに、NGINXによって返されます。

リダイレクトの内訳
「リダイレクトの内訳」には、サーバーで発生した300番台エラーの中身が表示されます。「200」のような悪い意味のないエラーもあります。300番台エラーは、単にコンテンツが別の場所に移動されていることを意味します。たとえば、301リダイレクトは、URLやサイトの変更を反映する、非常に重要なSEOの施策です。各300番台エラーの意味は次の通りです。
- 301:「恒久的な移動」→ このコードは、ウェブページまたはリソースが別のリソースに完全に置き換えられたときに返されます。恒久的なURLリダイレクトに使用されます。
- 302:「一時的な移動」→ このコードは、要求されたリソースが(予期された場所ではないものの)検出できたときに返されます。一時的なURLリダイレクトに使用されます。
- 304:「未更新」→ このコードは、ブラウザキャッシュに保存されているリソースが更新されていないことをブラウザに通知します。以前にダウンロードしたリソースを再利用して、ウェブページの配信を高速化するために使用されます。

リクエスト数上位の404エラー一覧
「リクエスト数上位の404エラー一覧」は、訪問者またはボットが最もよくアクセスしようとしている、現在存在しないリソースをトラブルシューティングするのに便利です。

404エラーが大量に発生している場合は、サイトを調べて、SEOとユーザビリティを考慮して修正することをお勧めします。Google Search Console では、「クロールエラー」として、同じ内容が確認できます。

6. キャッシュの分析
「キャッシュ」タブでは、「キャッシュ推移」、「キャッシュ比率」、「リクエスト数上位のキャッシュバイパス一覧」が確認できます。
キャッシュ推移
Kinstaのサーバーからファイルまたはリソースがリクエストされると、HTTPレスポンスヘッダー(X-Kinsta-Cache)が送信され、キャッシュの状況が通知されます。

キャッシュレスポンスヘッダーには4種類あります。
- HIT:HITは、リソースがKinstaのサーバー上のキャッシュから配信されていることを意味します。何も問題のないときに返されるレスポンスヘッダーです。
- BYPASS:リソースのキャッシュを妨げているルールまたはコンフリクトがある可能性があります。 WordPressサイトのある内容がキャッシュされないようにするために、ルールが存在します。たとえば、/wp-login.phpページがその対象となります。これにより、ダッシュボードにログインするために適切な機能が確保されます。
- MISS:これは、コンテンツがまだキャッシュされていないものの、最初のリクエスト後にキャッシュされることを意味します。この特定のファイルへの2回目のリクエストは、したがって「HIT」になります。尚、WordPressサイトのキャッシュをクリアするたびに、ユーザーによるアクセスがキャッシュを再構築していくことになります。このため、キャッシュ全体を定期的にクリアすることはお勧めしません。Kinsta MUプラグインは、サイトの特定の部分のみを自動的にクリアするため、残りのキャッシュは保持されます。Kinstaにおけるキャッシュの処理についてはこちらをご覧ください。
- EXPIRED:キャッシュの内容が期限切れになったため、ホスティングサーバーから新しい内容が取得されたことを意味します。
「キャッシュ推移」では、サイトで生成されたレスポンスヘッダーの総数も確認できます。

キャッシュ比率
「キャッシュ比率」からも、キャッシュリクエストの総数を確認できます。

リクエスト数上位のキャッシュバイパス一覧
「リクエスト数上位のキャッシュバイパス一覧」では、Kinstaサーバーのキャッシュをバイパスしたリクエストを確認できます。これを見て、本当にキャッシュをバイパスすべきものであるか確認するのが得策です。以下の例では、OneSignalプッシュ通知プラグインに、キャッシュをバイパスするファイルがあることがわかります。プラグインの動作に必要な設定であるため、これはOKです。また、/wp-cron.phpがキャッシュされていないこともわかります。これもキャッシュされるべきではありません。

7. 位置情報とIP
「位置情報とIP」タブでは、サイトにアクセスした人の国、地域、都市、IPアドレスを(該当する回数の多い順番で)確認できます。
リクエスト数上位の国一覧
「リクエスト数上位の国一覧」は、WordPressサイト配置場所(データセンターの所在地)を選択するのに有用です。ここには、訪問者のIPアドレスをベースとした、国別のリクエスト数が表示されます。以下の例では、トラフィックの大部分がアメリカからのものであるため、おそらくアメリカのどこかのデータセンターを選ぶべきでしょう。データセンター所在地を賢く選ぶべき理由については、ネットワークレイテンシについてをお読みください。Kinstaのお客様には、世界15カ所のGoogle Cloud Platformロケーションからお好きなものをお選びいただけます。

リクエスト数上位の都市一覧
訪問者のIPアドレスをベースとした、都市別のリクエスト数が表示されます。

リクエスト数上位のクライアントIP一覧
「リクエスト数上位のクライアントIP一覧」は、サイトで突然大量の帯域幅が消費されたり、ボットによる攻撃を受けたりした際に効果を発揮します。ここでは、リクエスト数上位のクライアントIPが一覧として表示されます。

このデータの活用例をご紹介します。Kinstaでは最近、小希望なECサイト(WordPressを土台に構築)でケーススタディを行いました。サイトへの過去7日間のクライアントIP上位10件を分析したところ、不審なアクティビティがすぐに見つかっています。かなりの数があり、その大部分で10,000件以上のリクエストがありました。おそらくDDoSまたは総当たり攻撃です。これの検証は、Googleを使って実施できます。上位のIPアドレスのいくつかを検索したところ、そのほとんどがプロキシアドレスであることがわかりました。つまり、何者かがトラフィックの出所を隠そうとしていることが予想されます。
その他の事項
アナリティクスに関する完全なログデータは30日間保持されます。Kinstaに初めて移行した後は、ダッシュボードと分析セクションを頻繁にチェックすることをお勧めします。原因不明のトラフィックの急増や一貫性のなさが気になる場合は、カスタマーサポートまでお気軽にお知らせください。原因究明のためにログをさらに調査いたします。
ここでご紹介したデータにより、Kinstaが実際にどのように訪問者にコンテンツを配信しているのか、より深く理解していただけたと思います。