WordPressサイトのトラブルシューティングを実施するのに十分なデータがないと、イライラするものです。ただしご安心を。新しくなったMyKinstaの分析機能を使用すると、簡単にあらゆるトラブルを調査できます。MyKinstaの分析機能の各セクションについて詳しくご説明し、これを活用してWordPressサイトを改善したり修正したりする実例もご紹介します。是非とも、サイトの調査にご活用ください!

MyKinsta分析機能の概要

MyKinstaのメイン画面(タブの一番上に位置する「ダッシュボード」)には、リソースの使用状況、データ使用状況、訪問数といった簡単なデータが表示されます。より詳細な情報を確認するには、サイドバーの「分析」をクリックします。

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使用状況
「分析」画面の「CDN使用状況」タブ

CDN使用状況画面の下部に、データ容量上位のファイル拡張子一覧が表示されます。これにより、サイトのどのタイプのメディアが帯域幅使用の大部分を占めているかを簡単に確認できます。

また、レスポンスコードの内訳もあります。「OK」を意味する「200」は好ましいステータスコードです。「300」、「400」、「500」といったステータスコードの詳細については、HTTPステータスコードについてのこちらの記事をご覧ください。

CDN top file extensions and response codes
CDNのファイル拡張子のトップリストとレスポンスコード

3. デバイス

デバイス画面では、サイトのトラフィックに関するさまざまなデータを確認できます。

モバイル vs PC

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

デバイス:ハンドヘルド対デスクトップ
「デバイス」のモバイル vs PC

4. パフォーマンス

「パフォーマンス」タブでは、「PHP+MySQLの平均応答時間」、「PHPのスループット」、「AJAX使用状況」、「上位のPHP+MySQL平均応答時間」と「所要時間上位のアップストリーム一覧」が確認できます。

PHP+MySQLの平均応答時間

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

パフォーマンス:PHP+MySQLの平均応答時間
「パフォーマンス」タブの「PHP+MySQLの平均応答時間」

PHPのスループット

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

 

パフォーマンス:PHPのスループット
「パフォーマンス」タブの「PHPのスループット」

ワーカープロセス数上限到達回数

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

ワーカープロセス数上限は、Kinstaのホスティングプランにより異なります。このグラフは、お客様のサイトが頻繁に上限に達しているかどうか、また、新しいバージョンのPHPエンジンに更新した場合にどのような影響があるかを特定するのに便利です。

 

PHPワーカーのご利用限度
ワーカープロセス数上限到達回数

AJAX使用状況

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

Admin-AJAX usage
Admin-AJAXの使用状況

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

パフォーマンス:AJAX使用状況
「パフォーマンス」タブの「AJAX使用状況」

平均応答時間上位のPHP+MySQL一覧

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

パフォーマンス:平均アップストリーム時間のトップリスト
「パフォーマンス」タブの「平均応答時間上位のPHP+MySQL一覧」

最大応答時間上位のアップストリーム一覧

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

パフォーマンス:最大アップストリーム時間のトップリスト
「パフォーマンス」タブの「最大応答時間上位のアップストリーム一覧」

5. レスポンス

「レスポンス」タブでは、レスポンスコードの内訳、レスポンス統計データ、500番台エラーの内訳、400番台エラーの内訳、リダイレクトの内訳、リクエスト数上位の404エラー一覧などを確認できます。

レスポンスコードの内訳

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

応答:応答コードの内訳
「レスポンス」タブの「レスポンスコードの内訳」

レスポンス統計データ

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

応答:応答の分析データ
「レスポンス」タブの「レスポンス統計データ」

500番台エラーの内訳

「500番台エラーの内訳」には、サーバーで発生した500番台エラーの総数が表示されます。 各500番台エラーの意味は次の通りです。

応答:500エラーコードの内訳
「レスポンス」の「500番台エラーの内訳」

400番台エラーの内訳

「400番台エラー」の項目には、サーバーで発生した400番台エラーの詳細が表示されます。各400番台エラーの意味は次の通りです。

応答:400エラーの内訳
「レスポンス」の「400番台エラーの内訳」

リダイレクトの内訳

「リダイレクトの内訳」には、サーバーで発生した300番台エラーの中身が表示されます。「200」のような悪い意味のないエラーもあります。300番台エラーは、単にコンテンツが別の場所に移動されていることを意味します。たとえば、301リダイレクトは、URLやサイトの変更を反映する、非常に重要なSEOの施策です。各300番台エラーの意味は次の通りです。

応答:リダイレクトの内訳
「レスポンス」の「リダイレクトの内訳」

リクエスト数上位の404エラー一覧

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

404エラーのトップリスト
リクエスト数上位の404エラー一覧

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

404エラーを修正する
404エラーを修正する

6. キャッシュの分析

「キャッシュ」タブでは、「キャッシュ推移」、「キャッシュ比率」、「リクエスト数上位のキャッシュバイパス一覧」が確認できます。

キャッシュ推移

Kinstaのサーバーからファイルまたはリソースがリクエストされると、HTTPレスポンスヘッダー(X-Kinsta-Cache)が送信され、キャッシュの状況が通知されます。

HTTP応答ヘッダー
HTTPレスポンスヘッダー

キャッシュレスポンスヘッダーには4種類あります。

「キャッシュ推移」では、サイトで生成されたレスポンスヘッダーの総数も確認できます。

キャッシュ:キャッシュコンポーネントスタック
「キャッシュ」の「キャッシュ推移」

キャッシュ比率

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

キャッシュ:キャッシュコンポーネントグラフ
「キャッシュ」タブの「キャッシュ比率」

リクエスト数上位のキャッシュバイパス一覧

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

 

キャッシュ:キャッシュバイパスのトップリスト
「キャッシュ」タブの「リクエスト数上位のキャッシュバイパス一覧」

7. 位置情報とIP

「位置情報とIP」タブでは、サイトにアクセスした人の国、地域、都市、IPアドレスを(該当する回数の多い順番で)確認できます。

リクエスト数上位の国一覧

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

位置情報&IP:国のトップリスト
「位置情報とIP」タブの「リクエスト数上位の国一覧」

リクエスト数上位の都市一覧

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

位置情報&IP:市のトップリスト
「位置情報とIP」タブの「リクエスト数上位の都市一覧」

リクエスト数上位のクライアントIP一覧

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

位置情報&IP:クライエントIPのトップリスト
「位置情報とIP」タブの「リクエスト数上位のクライアントIP一覧」

 

このデータの活用例をご紹介します。Kinstaでは最近、小希望なECサイト(WordPressを土台に構築)でケーススタディを行いました。サイトへの過去7日間のクライアントIP上位10件を分析したところ、不審なアクティビティがすぐに見つかっています。かなりの数があり、その大部分で10,000件以上のリクエストがありました。おそらくDDoSまたは総当たり攻撃です。これの検証は、Googleを使って実施できます。上位のIPアドレスのいくつかを検索したところ、そのほとんどがプロキシアドレスであることがわかりました。つまり、何者かがトラフィックの出所を隠そうとしていることが予想されます。

プロキシIP
プロキシIP
このような場合には、Kinstaサポートまでご連絡いただく(該当のIPアドレスをブロックするように依頼)か、CloudflareやSucuriなどのウェブアプリケーションファイアウォールをご利用いただくことをおすすめします。Sucuriがあらゆる悪意のあるトラフィックを一掃した事例もご覧ください。

その他の事項

アナリティクスに関する完全なログデータは30日間保持されます。Kinstaに初めて移行した後は、ダッシュボードと分析セクションを頻繁にチェックすることをお勧めします。原因不明のトラフィックの急増や一貫性のなさが気になる場合は、カスタマーサポートまでお気軽にお知らせください。原因究明のためにログをさらに調査いたします。

ここでご紹介したデータにより、Kinstaが実際にどのように訪問者にコンテンツを配信しているのか、より深く理解していただけたと思います。