多くの人が毎日のようにGoogleを使って検索を行っていますが、その検索結果がどのようなアルゴリズムに基づいてランク付けされているのか詳しくは公表されていません。しかしGoogleは2018年1月に、ウェブサイトの表示速度をランキングの要素として使用すると発表しており、検索結果で上位に表示されるためにはウェブサイトを素早く表示することが大切になっています。そうしたページの表示速度を向上するためのヒントをウェブサイト分析企業のCalibreがブログにまとめています。

How Google Pagespeed works: Improve Your Score and Search Engine Ranking

https://calibreapp.com/blog/how-pagespeed-works/

ページの表示速度の指標である「PageSpeed」の算出方法は、最初のバージョンが2013年に登場して以来、時代に併せて変更されてきました。2019年5月7日にリリースされたバージョン5では特に大きな変更が施されており、より実際のユーザーの体験に近くなるような要素が盛り込まれています。

バージョン5.0では、PageSpeedを算出する際に実際にChromeブラウザ上にページがロードされます。その上で要素の表示にかかる時間を様々な点で計測し、それらの数値をまとめて1つのスコアになります。Chromeの開発者ツールにある「audit」タブにて、このPageSpeedを算出してくれる「Lighthouse」というツールを利用することができます。Lighthouseの「パフォーマンス」の項目のスコアがPageSpeedのスコアを表しています。



Lighthouseはパフォーマンススコアを計算する際、次の6つの指標を利用します。

・操作可能になるまでの時間(Time to Interactive)

・スピードインデックス

・ページの最初の要素が描画されるまでの時間

・CPUが待機状態に戻るまでの時間

・ページの内容が表示されるまでの時間

・入力の遅延

HTTP Archiveから平均的なウェブページのデータを利用し、対数を利用した特定のアルゴリズムを利用することで上記の要素がスコアに変換されます。例えば操作可能になるまでの時間が2100ミリ秒(2.1秒)だった場合、このセクションのスコアは100点中の92点と計算できます。



6つの要素を元に計算されたそれぞれのスコアをさらに特定の重みを付けて平均を取ることで、パフォーマンススコアが算出されています。将来的には重みが変更される可能性もありますが、バージョン5.0登場時点では「操作可能になるまでの時間」が最も重要視されています。

操作可能になるまでの時間に最も大きく影響を与えているのがJavaScriptです。Googleは「モバイルファーストインデックス」を掲げており、PageSpeedなどの計測もモバイル端末の環境をシミュレートして行われていますが、モバイル端末はCPUが非力なことが多く、PCであれば問題にならないJavaScriptでも大きな影響を及ぼしてしまう場合があります。



Calibreはブログにおいて、最も簡単な方法として「JavaScriptの量そのものを減らす」ことを推奨しています。例えば未使用のコードが残っていないか確認したり、全ページ統一で同じJavaScriptを利用するのではなく、必要なページにのみJavaScriptを配置したり、古いサードパーティのライブラリを新しいもので置き換えたりするのが良いとのこと。

スピードインデックスやページの要素が表示されるまでの時間などの他の測定基準はブラウザの描画時間に関連しており、これらは同じ要因の影響を受けるため1つの要素を改善するだけで同時に指標が向上することが多いそうです。描画関連の指標はLighthouseの監査規則に従うことで改善できると述べられています。

CalibreはPageSpeedを向上させ続けるためには継続的なパフォーマンスモニタリングが大切だとしてブログを締めくくっています。