ふきげん猫ちび
ふきげん猫ちび
ふきげん猫ちび
このような方に向けて書いていきます。
- WebPageTestとは?
- WebPageTestをおすすめする理由
- 各指標の説明
- テンプレ無料配布
特に会社でWebサイトの高速化のプロジェクトに取り組んでいる人にとっては必須ツールになると思うので、参考にしてみてください。
ちなみにURLはこちらです。
参考 https://www.webpagetest.org
目次
WebPageTestとは?
オープンソースで公開されているWebサイトのパフォーマンス(スピード)を計測するためのWebサイトです。
無料で気軽に利用できるので、活用している企業も多いです。
WebPageTestの特徴
仮想環境で条件を指定して、実際の速度を秒数で見ることが出来る
僕は4G、iPhone X、Chromeという条件で計測しているのですが、よく「全部ロードするまでに6秒もかかるのか、遅いな~」と絶望しています笑。
テスト結果のURLが共有できる
僕が一番便利に感じているのはここですね。
他の人にテスト結果を共有したい時はURLをコピペするだけでOK(どのくらいアーカイブをしてくれるのかは分かりません)。
APIを使っていろいろ出来る
APIが取得できるので、Google Sheetと組み合わせて自動計測したり、大量のページを1クリックで計測したりといろいろ出来ます。
WebPageTestをおすすめする理由
Webサイトのスピードというのは普通に計測するのが難しいです。
会社で高速化のために何かをした後に、「トップページが2秒速くなった」みたいな報告をしたい気持ちは分かります。
ただ、Webサイトのスピードというのは条件によって異なるので、デバイスの種類や回線によってどのくらい速くなるのかなども変わってきます。
Google Analytisのページロードスピードを指標にしてはいけない理由
Google Analyticsの計測方法は、実際のユーザーがページロードにかかったスピードを計測しています。
さらにGoogle Analyticsはサンプリング形式(すべてではなく特定のデータを抽出する)を用いているので、定義としては以下のような認識になります
「ランダムに選定されたのユーザーがWebサイトを訪問した時のページスピード」
ここで問題になるのが、Google Analyticsのページスピードはは訪問しているユーザーのデバイスや回線に依存するということです。
これによって、ページスピードを高速化するために変更を行った後にGoogle Analyticsの数字を見ても「変わっていない」みたいなことがよくあります。
WebPageTestの場合は仮想環境でテストしている
仮想環境で一定の条件で計測することにより、変更前と変更後の変化を見ることが出来ます。
それでも時間帯や曜日、アクセス数などの条件が違うと平等な条件でなくなってしまうのですが、そこらへんのコツは後述しています。
実際のレポートを見てみる
webpagetest.orgで計測したいページのURLを入力し、「Start Test」をクリックするだけです。
結果は以下の通りでした。
Security ScoreがFというショッキングな結果が表示されて少し動揺しています笑。
スピードはまあ良いスコアが出ていると思います。
各メトリックスの指標
- First Byte … 最初の1バイトが到着するまでの時間
- Start Render… 空白ページからコンテンツが初めて表示されるまでの時間
- Speed Index… ファーストビューが見えるまでにかかった時間
- Document Complete Time… 静的コンテンツの読み込みが終わった速度。画像やHTMLコードなどが該当します。
- Document Complete Requests … 静的コンテンツをリクエストする数
- Document Complete Bytes In … 静的コンテンツを読み込み始めた時間
- Fully Loaded Time…静的コンテンツ+動的コンテンツの読み込みが終わった速度。JavaScriptなどでダイナミックにコンテンツを読み込んでいる場合は遅くなります。
- Fully Loaded Requests …静的コンテンツ+動的コンテンツを含めたすべてのファイルをリクエストする数
- Fully Loaded Bytes In … 静的コンテンツ+動的コンテンツを含めたすべてのファイルを読み込み始めた時間
参考 Webpagetestから始める継続的パフォーマンス改善ページロードタイム編 | azu.github.io
ちなみにその他のWebサイトスピードのレポートでよく使われる指標もついでに書いておきます。
- First Contentful Paint… ブラウザーが DOM からコンテンツの最初のビットをレンダリングし、ページが実際読み込み中というユーザーへの最初のフィードバックがなされる時間
- Largest Content Paint… 重要なコンテンツがいつ表示されたか
- Cumulative Layout Shift… 表示されるページ コンテンツにおける予期しないレイアウトのずれの量
自動化されたレポートを作成する方法
Google Data Studioを使う場合
gas-webpagetestというGoogle Apps Scriptを用いて自動計測し、Google Data Studioで可視化する方法が以下の記事で紹介されています。
参考 gas-webpagetestでWebPagetestのパフォーマンス計測を自動化、可視化する | Web Scratch
Web Page Testで複数のページを定期的に計測するためのテンプレートを無料配布します
参考 Web Page Test – Bulk Test Template | Googleスプレッドシート
ちなみにWebページテストで複数のページを定期的に計測するためのテンプレを作ったので共有します。
シートの中にURLを入力して、「計測開始」のボタンをクリックするだけで複数のURLに対してテストを通してくれます。
12回分テスト出来るようになっているので、1カ月毎に計測してサイトのスピードが落ちてないか確認ください。
URLを入力し、「Run」のボタンをクリックすると、各URLを計測してくれます
少し待つと各メトリックスに数字が入ってくれます。
複数回行った後に、「Report」のタブを見るといい感じにグラフで見れます。
まとめ
ご精読ありがとうございました!