ページ速度改善の実践ガイド|表示速度を劇的に上げる方法
なぜページ速度がSEOに影響するのか
Googleは2021年からCore Web Vitalsをランキング要因に組み込んでいます。ページの表示速度はユーザー体験に直結するため、検索順位にも影響を与えるのです。
表示が遅いサイトの問題は検索順位だけではありません。
- 直帰率の増加: 表示に3秒以上かかると、53%のモバイルユーザーがページを離脱するというGoogleの調査結果があります
- コンバージョン率の低下: Amazon は表示速度が100ミリ秒遅くなるごとに売上が1%減少すると報告しています
- クロール効率の低下: 応答が遅いサイトはGoogleのクロールバジェットを浪費します
Core Web Vitalsを理解する
ページ速度の指標としてGoogleが重視しているのがCore Web Vitals(CWV)です。
| 指標 | 意味 | 良好 | 要改善 |
|---|---|---|---|
| LCP (Largest Contentful Paint) | 最大コンテンツの表示時間 | 2.5秒以下 | 4秒超 |
| INP (Interaction to Next Paint) | インタラクション応答速度 | 200ms以下 | 500ms超 |
| CLS (Cumulative Layout Shift) | レイアウトのずれ量 | 0.1以下 | 0.25超 |
これらの指標は、PageSpeed Insightsで簡単に確認できます。
画像の最適化
ページの読み込み時間のうち、画像が占める割合は平均して50%以上です。画像の最適化は最も効果が大きい改善策のひとつです。
次世代フォーマットを使う
WebPやAVIFは、JPEGやPNGに比べて30〜50%ファイルサイズを削減できます。
<picture>
<source srcset="/images/hero.avif" type="image/avif" />
<source srcset="/images/hero.webp" type="image/webp" />
<img src="/images/hero.jpg" alt="ヒーロー画像" width="1200" height="630" />
</picture>
適切なサイズで配信する
表示サイズが400pxの場所に2000px幅の画像を配信するのは無駄です。srcset属性を使って、デバイスに応じた適切なサイズの画像を配信しましょう。
<img
src="/images/article.jpg"
srcset="/images/article-400.jpg 400w,
/images/article-800.jpg 800w,
/images/article-1200.jpg 1200w"
sizes="(max-width: 600px) 400px, (max-width: 1024px) 800px, 1200px"
alt="記事のサムネイル"
width="1200"
height="630"
/>
遅延読み込み(Lazy Loading)
ファーストビューに表示されない画像は、スクロールして近づいたタイミングで読み込むようにします。
<!-- ファーストビューの画像: 遅延読み込みしない -->
<img src="/images/hero.jpg" alt="メインビジュアル" fetchpriority="high" />
<!-- ファーストビュー外の画像: 遅延読み込みする -->
<img src="/images/content.jpg" alt="本文の画像" loading="lazy" />
JavaScript・CSSの最適化
不要なJavaScriptを削減する
使っていないJavaScriptはページの読み込みを遅くします。Chrome DevToolsの「Coverage」タブで、未使用コードの割合を確認できます。
対策としては以下があります。
- ツリーシェイキング: バンドラー(webpack、Rollup)が未使用のコードを自動削除します
- コード分割: ページごとに必要なJSだけを読み込むようにします
- サードパーティスクリプトの見直し: アナリティクス、広告、チャットウィジェットなど、本当に必要なものだけに絞ります
CSSの最適化
<!-- クリティカルCSSをインライン化 -->
<style>
/* ファーストビューに必要な最小限のCSS */
body { margin: 0; font-family: sans-serif; }
.hero { min-height: 100vh; }
</style>
<!-- 残りのCSSは非同期で読み込む -->
<link rel="preload" href="/styles/main.css" as="style"
onload="this.onload=null;this.rel='stylesheet'" />
JavaScriptの遅延実行
レンダリングをブロックしないスクリプトは defer または async 属性を使って遅延実行します。
<!-- defer: HTMLパース後に順序通り実行 -->
<script src="/js/analytics.js" defer></script>
<!-- async: ダウンロード完了次第実行(順序不定) -->
<script src="/js/widget.js" async></script>
サーバーサイドの最適化
CDN(Content Delivery Network)を活用する
CDNを使うと、ユーザーに最も近いサーバーからコンテンツを配信できます。日本のユーザーに対して米国のサーバーから配信すると100ms以上のレイテンシが生じますが、CDNを使えば大幅に短縮されます。
主要なCDNサービスとしては、Cloudflare、Fastly、AWS CloudFrontなどがあります。
ブラウザキャッシュを適切に設定する
静的アセット(画像、CSS、JS)には長めのキャッシュ期間を設定します。
# Nginx の設定例
location ~* \.(jpg|jpeg|png|webp|avif|css|js|woff2)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
ファイル名にハッシュを含めれば(例: main.a1b2c3.js)、内容が変わったときに自動的にキャッシュが更新されます。
HTTP/2 を有効にする
HTTP/2は1つの接続で複数のリクエストを並列処理できるため、ページの読み込みが高速になります。ほとんどのモダンなWebサーバーとCDNはHTTP/2に対応しています。
# Nginx でHTTP/2を有効化
server {
listen 443 ssl http2;
# ...
}
Gzip / Brotli 圧縮
テキストベースのアセット(HTML、CSS、JS)を圧縮して配信すると、転送サイズを60〜80%削減できます。BrotliはGzipよりも圧縮率が高く、現在の主要ブラウザはすべて対応しています。
クリティカルレンダリングパスの最適化
ブラウザがページを表示するまでの流れ(クリティカルレンダリングパス)を理解することで、的確な最適化ができます。
- HTML のダウンロードとパース
- CSS のダウンロードとパース(レンダリングブロック)
- レンダーツリーの構築
- レイアウトの計算
- ペイント
このうち、CSS は本質的にレンダリングブロックリソースです。クリティカルCSS(ファーストビューに必要なCSS)をインライン化し、残りを非同期で読み込むことで、初期表示を高速化できます。
計測ツールの活用
改善は計測から始まります。以下のツールを定期的に活用しましょう。
- PageSpeed Insights: Core Web Vitalsの計測とLabデータの確認
- Chrome DevTools: Network / Performance / Lighthouseタブ
- WebPageTest: 詳細なウォーターフォール分析
- IndexReady: IndexReadyでPageSpeedスコアとCWVを含むSEO診断が可能です
よくある質問(FAQ)
PageSpeedスコアは何点を目指すべきですか?
モバイルで90点以上を目指しましょう。ただし、スコアはあくまで目安です。実際のユーザー体験(フィールドデータ)と検索順位への影響は、ラボデータのスコアとは異なる場合があります。
画像をWebPに変換するだけで速くなりますか?
WebPへの変換はファイルサイズの削減に効果的ですが、それだけでは不十分です。適切なサイズでの配信、遅延読み込み、CDNの活用なども組み合わせることで、最大限の効果が得られます。
WordPressサイトの速度改善で最も効果的な方法は?
まずは不要なプラグインの削除、次に画像の最適化、そしてキャッシュプラグイン(WP Super Cache、W3 Total Cache等)の導入が効果的です。テーマの軽量化やCDNの導入も検討しましょう。
サーバーレスポンスタイム(TTFB)が遅い場合はどうすればいいですか?
TTFB(Time to First Byte)が遅い場合は、サーバー側の問題である可能性が高いです。サーバーのスペック増強、データベースクエリの最適化、サーバーサイドキャッシュの導入、CDNの活用などを検討してください。