株式会社サイプレスCypress
技術

ISR: Incremental Static Regeneration

ISR(インクリメンタル静的再生成)とは

Definition

ISR(Incremental Static Regeneration:インクリメンタル静的再生成)とは、Next.jsが提供する機能で、静的生成(SSG)の高速性とサーバーサイドレンダリング(SSR)の動的な更新を組み合わせた方式です。一定時間(revalidate)ごとにページを再生成してキャッシュを更新します。

ISRを使うことで、ブログ記事やECの商品ページを静的ファイルとして配信しながら、定期的に最新データに更新できます。完全静的生成より柔軟で、完全SSRよりも高速です。

Key Points

知っておくべきポイント

01

ISRの設定方法(Next.js App Router)

ページファイルに export const revalidate = 3600 を追加するだけで、1時間(3600秒)ごとにページを再生成するISRが有効になります。0を設定すると動的レンダリング(毎回サーバーで生成)になります。

02

ISRとSSG・SSR・CSRの比較

SSG(静的生成)はビルド時のみページ生成でコンテンツ更新不可・最高速度 / ISRは定期的に再生成・高速かつ更新可能 / SSRはリクエストごとに生成・常に最新だが遅い / CSRはクライアントで生成・初期表示遅いがインタラクティブ性高い。ISRは速度と更新性のバランスが取れた現実的な選択肢です。

03

オンデマンドISR(revalidatePath)の活用

Next.jsのServer ActionsまたはRoute Handlersからrevalidatepath()・revalidateTag()を呼び出すことで、特定のページやデータを即時に再生成できます。CMSからの記事更新を検知してWebhookでNext.jsのAPIを叩き、更新されたページだけを再生成するオンデマンドISRが現在のベストプラクティスです。

04

ISRとSEOの相性

ISRで生成されたページは静的HTMLとして配信されるため、クローラーが容易にインデックスできます。また表示速度が速くCore Web Vitals(特にLCP)の改善に貢献します。ページ内容が定期的に更新されるブログ・ECでは、ISRによって常に最新コンテンツをクローラーに提供できます。SEOとパフォーマンスの両立において最も効果的なレンダリング方式の一つです。

FAQ

よくある質問

Contact

この用語を活用してみませんか

実際の集客施策への活用方法はお気軽にご相談ください。

お問い合わせ