2015年、モバイルページの重さは中央値845KBでした。
2025年、その中央値は2,362KB。
10年で約2.8倍。
Web Almanac 2025、ページ重量が10年で3倍近くに
HTTP Archiveが毎年公開している、世界中のWebサイトの実態を数字でまとめたレポート「Web Almanac」の2025年版に、この数字が載っていました。
世界中の1,700万サイト以上をクロールして集計した、実測ベースのデータです。
2015年7月時点のモバイルページ中央値が845KB、2025年7月時点では2,362KB。
この10年の比較で見る限り、画像・JS・フォントが積み重なって、ページは大幅に重くなっています。
この数字を見て、まず頭に浮かんだのは「うちのサイトはどうなんだろう」という素朴な疑問でした。
統計の中央値だけ眺めていても実感は湧きません。
なので、実際に自分のサイトを計測してみました。
ブラウザのPerformance APIで自分のサイトを実測する
調べ方は単純です。
ページ全体の転送量は、ブラウザのPerformance APIから取得できます。
各リソースのtransferSize(実際にネットワークを流れたバイト数)を合計するだけです。
const entries = performance.getEntriesByType('resource');
const nav = performance.getEntriesByType('navigation')[0];
let total = nav ? (nav.transferSize || 0) : 0;
for (const e of entries) {
total += e.transferSize || 0;
}
console.log(Math.round(total / 1024) + 'KB');
キャッシュ済みのリソースや、計測情報の取得を許可していない一部の外部リソースでは、transferSizeが0扱いになることがあります。
より確実に見るなら、Chrome DevToolsのNetworkタブも合わせて使うのが安全です。
今回はキャッシュのない初回アクセス相当のタイミングで、cat’s handのトップページを計測しました。
結果: 887KB、世界の中央値の約38%
トップページの転送量は887KB。
Web Almanacの2025年モバイル中央値2,362KBと比べると、約38%、半分以下でした。
ただし比較しているのは計測条件が完全に同じもの同士ではありません。
Web Almanac側は世界中のモバイル端末をクロールした中央値、こちらは手元のPCブラウザでの1回計測です。
コード内で1024バイト単位(厳密にはKiB)で計算している点も含めて、887KBは自サイトの現在地をつかむための参考値として見てください。
主な内訳は、CSS(Google Fontsのwoff2込み)が233KB、JSが231KB、画像(WebP形式+PNG)が115KBほどでした。
💡 Tips: 自サイトの重さは、開発者ツールのNetworkタブでも見られる
今回はPerformance APIをコンソールで実行しましたが、Chrome DevToolsのNetworkタブを開いて再読み込みするだけでも、画面下に合計転送量が表示されます。
「シークレットウィンドウで開く」か「キャッシュを無効化」にチェックを入れてから計測すると、初回訪問に近い数字が見られます。
軽さの理由に心当たりがある
数字だけ見ると褒められた気分になりますが、狙って軽くしたというより、結果的に軽くなっていた側面が大きいです。
画像は.webp形式で書き出す運用を最初から徹底しています。
JSもVanilla JS方針で、ライブラリを積み増していません。
派手なアニメーションや外部埋め込みが少ない分、読み込むリソース数自体が少ないというのも大きい気がします。
ただ、これはトップページ1ページだけの数字。
記事ページによってはスクリーンショットが多く、もっと重いページもあるはずです。
「サイト全体が軽い」と言い切るには、複数ページの平均を取る必要があります。
まとめ
Web Almanacの「10年で2.8倍」という数字を見て、自分のサイトも重くなっていないか気になって計測しました。
結果は887KBで、世界のモバイル中央値より軽い数字でした。
ただ、これはトップページだけの結果。
記事ページも含めた実態は、また別に測ってみる価値がありそうです。
数字を見て終わりにせず、自分の手元で再現できるところまでやると、記事1本の説得力が変わってくると思います。


