「電撃オンライン」トップページの表示速度ボトルネック研究
LCP画像のloading属性、複数CSSの分割配信などのボトルネックが観測され、これらを解消するシミュレーションではLighthouseスコアが95から最大100まで変化する結果が得られました。Core Web Vitalsの顕著な改善が期待できます。
ゲーム・アニメ・ガジェットに関する最新ニュースと企画記事を掲載する総合エンタメ情報メディアです。モバイルアプリ、家庭用ゲーム、アニメ、VTuberなど多岐にわたるジャンルをカバーしており、Next.jsで構築されたサイトです。
Core Web Vitalsにつながる指標の改善ポテンシャル
観測されたボトルネックを仮に解消した場合、Lighthouse スコアは以下のような変化を示しました。
| 観測時点 | 全ボトルネック解消シミュレーション後 |
|---|---|
![]() | ![]() |
| 指標 | 観測時点 | 解消シミュレーション後 | 変化量 |
|---|---|---|---|
総合スコア | 95 | 100 | +5 |
LCP | 2.9秒 | 1.1秒 | -1.8秒 |
FCP | 0.9秒 | 0.1秒 | -0.8秒 |
SI | 2.2秒 | 1.5秒 | -0.7秒 |
TBT | 0ms | 0ms | 変化なし |
CLS | 0.000 | 0.000 | 変化なし |
総合スコア が95から100へ変化するシミュレーション結果が得られました。観測時点ですでに高水準のスコアですが、LCP(Largest Contentful Paint = ページの主要コンテンツが表示されるまでの時間)が2.9秒から1.1秒へと約1.8秒短縮され、FCP(First Contentful Paint = 最初のコンテンツが表示されるまでの時間)も0.9秒から0.1秒へと変化しています。この結果から、高スコアのサイトであっても表示速度に影響するボトルネックが存在していたことが読み取れます。
読み込みプロセスの変化を動画で体験
本サイトでは、観測時点でもすでに 総合スコア が95と高水準であったため、読み込みプロセス動画上では観測時点と解消シミュレーション後でほとんど違いが見られない結果となりました。
サードパーティータグの影響
本研究ではまず、サードパーティータグを段階的に除去することで、タグ全体が表示速度に与えている影響を観測しました。あわせて、タグ由来のノイズを取り除くことで、サイト自体のボトルネックを観察しやすくする狙いもあります。タグを完全に除去することは現実的ではありませんが、最適化によってどこまでの改善ポテンシャルがあるかを把握する材料としてご覧ください。
本セクションは「サードパーティータグがページスピードに影響を与えている」という現実を数値で示すとともに、それらを最適化することでどれだけのスピード改善ポテンシャルがあるかを示唆するものです。

オリジナルページの全276リソースのうち、サイト固有のリソースは147件(約5割)、サードパーティタグ由来のリソースは129件(約5割)を占めていました。ページスピードのボトルネックを正確に把握するには、まずこの約5割のタグを取り除いてサイト固有のパフォーマンスを分離する必要があります。
電撃オンラインでは、合計129件のサードパーティーリソースが確認されました。
HTMLから直接読み込まれているタグ
| タグ名 | リソース数 | 種別 |
|---|---|---|
Google AdSense / GPT広告 / DoubleClick | 74 | 広告配信 |
Twitter/X ウィジェット・広告 | 6 | SNSウィジェット |
Microsoft Clarity | 5 | ヒートマップ解析 |
Impact Ad | 5 | 広告ネットワーク |
IM Apps (DMP) | 9 | DMP/DSP |
Marketo | 3 | マーケティングオートメーション |
YouTube 埋め込み | 10 | 動画埋め込み |
MicroAd | 1 | 広告ネットワーク |
GTM経由で読み込まれるタグ
| タグ名 | リソース数 | 種別 |
|---|---|---|
Google Tag Manager (3コンテナ) | 16 | タグマネージャー・解析 |
なお、Google Tag Manager のコンテナが3つ(GTM-FVTJS5B、GTM-W73GBGGR、GTM-NXGFJN3)存在しており、それぞれが独立して大量のJavaScript(合計約17万行)を読み込んでいました。
段階的除去シミュレーションの結果
| 段階 | 除去対象 | 総合スコア | LCP | FCP | SI |
|---|---|---|---|---|---|
| 観測時点 | - | 95 | 2.9秒 | 0.9秒 | 2.2秒 |
| 第1段階 | Google広告関連(12ドメイン・74リソース) | 98 | 2.5秒 | 0.4秒 | 1.9秒 |
| 第2段階 | トラッキング・SNS・動画等(22ドメイン・39リソース) | 100 | 1.2秒 | 0.1秒 | 1.7秒 |
| 第3段階 | GTM / Google Analytics(5ドメイン・16リソース) | 100 | 0.9秒 | 0.1秒 | 1.7秒 |
サードパーティータグを全て除去した状態では、LCP が2.9秒から0.9秒へ、FCP が0.9秒から0.1秒へ変化する結果が得られました。総合スコア は95から100への変化にとどまりましたが、これは元のスコアがすでに高水準であったためです。時間指標で見ると、LCP で約2.0秒、FCP で約0.8秒の短縮が観測されており、サードパーティータグの最適化には無視できない改善ポテンシャルがあることが読み取れます。
サイト固有のボトルネック
サードパーティータグ除去後の状態をベースラインとして、サイト固有のボトルネックを観察しました。全6件のボトルネック仮説を検証し、その中から特に注目すべき2件を紹介します。
ボトルネック: LCP画像のloading属性
観察された状況
このサイトの LCP 要素は、ページ上部のSwiperスライダー内に配置された画像です。Next.jsの Image コンポーネントはデフォルトで loading="lazy" を適用しますが、ファーストビューに表示される LCP 画像に遅延読み込みが設定されていると、ブラウザが画像の取得を遅延させる場合があります。Lighthouse のトレースでは、LCP画像のLoad Delayが118msと報告されていました。
解消シミュレーションの方法
Swiper内のスライド画像コンポーネントに対して、loading="eager" を明示的に指定しました。これにより、ブラウザがLCP画像を即座に取得する状態をシミュレーションしています。
シミュレーション結果
| 指標 | 解消前 | 解消後 | 変化量 |
|---|---|---|---|
LCP | 0.9秒 | 0.7秒 | -0.2秒 |
FCP | 0.1秒 | 0.1秒 | 変化なし |
SI | 1.8秒 | 0.9秒 | -0.9秒 |
LCP が0.9秒から0.7秒へ、SI(Speed Index = ビューの視覚的な表示進捗の速さ)が1.8秒から0.9秒へと変化しました。ファーストビューに表示されるLCP画像に loading="lazy" が設定されていたことが、表示速度のボトルネックとなっていたことが読み取れます。
ボトルネック: 複数CSSの分割配信
観察された状況
Next.jsのビルドにより、CSSが5つのファイルに分割されて配信されていました。各ファイルはそれぞれ個別に <link rel="preload"> と <link rel="stylesheet"> で読み込まれており、合計10件のHTMLタグが <head> 内に記述されている状態でした。CSSはレンダリングブロックリソースであるため、ファイル数が多いほどHTTPリクエストのオーバーヘッドが蓄積し、レンダリング開始に影響を与える可能性があります。
解消シミュレーションの方法
5つのCSSファイル(合計約104KB)の内容を1つのファイルに結合し、preload と stylesheet の参照を各1件に統合しました。
シミュレーション結果
| 指標 | 解消前 | 解消後 | 変化量 |
|---|---|---|---|
LCP | 0.9秒 | 0.9秒 | 変化なし |
FCP | 0.1秒 | 0.1秒 | 変化なし |
SI | 1.7秒 | 1.8秒 | 変化なし |
このシミュレーションでは、時間指標に大きな変化は観測されませんでした。ただし、preload リクエストが5件から1件に削減され、HTTPリクエスト数の総量は減少しています。
なお、CSSの統合・1ファイル化は、現在では HTTP/2 の普及などにより必ずしも有効なプラクティスとは限りません。今回のシミュレーションのように良好な結果が観測されることもありますが、参考程度にとどめてください。
まとめ
電撃オンラインのトップページは、観測時点で 総合スコア 95と高水準にありましたが、サードパーティータグの影響と、サイト固有のボトルネックがそれぞれ表示速度に影響を与えていることが観察されました。
サードパーティータグは合計129リソースが確認され、特にGoogle広告関連の74リソースが FCP を約0.5秒遅延させていました。GTMコンテナが3つ存在し、合計約17万行のJavaScriptが読み込まれていた点も特徴的です。全タグの除去シミュレーションでは LCP が2.9秒から0.9秒へと約2.0秒変化しており、サードパーティータグが表示速度に与えている影響の大きさが数値として確認されました。
サイト固有のボトルネックとしては、LCP画像の loading="lazy" 属性が SI を約0.9秒遅延させていたことが最も大きな発見でした。ファーストビューに表示される画像の読み込み優先度が、表示体感に直結するボトルネックとなっていた事例です。

