Next.js ISRによる高速表示

静的生成と自動更新で、ECサイトの表示速度を改善

ISRNext.js静的生成高速化
読了時間: 5分

このプロジェクトについて

ISR(Incremental Static Regeneration)は、Next.jsの機能で、
静的ページを生成しつつ、設定した間隔で自動的に更新する仕組みです。

ECサイトでは商品情報を常に最新に保ちながら、高速な表示を実現する必要があります。
ISRを活用することで、キャッシュからの高速配信データの鮮度を両立できます。

「速いだけでは足りない、でも更新も遅らせたくない」という悩みに効く仕組みですよね。

詳しく知りたい方へ

ISRについて3つの記事で詳しく解説しています。
基礎→効果→実装の順で読めるように整理しています。

構成図

従来のSSR(サーバーサイドレンダリング)
ユーザー
リクエスト
サーバー
API呼び出し→HTML生成(毎回処理・待ち時間あり)
ISR(ビルド時)
API
データ取得
静的HTML生成
ビルド
CDNに配置
配信準備完了
ISR(ユーザーアクセス時)
ユーザーアクセス
リクエスト
CDN
キャッシュから即座に表示(高速)
revalidate時間経過後
バックグラウンドで更新
On-Demand ISR(商品更新時)
Webhook
商品更新通知
API Route
キャッシュ無効化
次回アクセスで再生成
最新データ反映

使用技術

  • Next.js (App Router)
  • Vercel (ホスティング・Edge Network)
  • Shopify Storefront API
  • Shopify Webhook