Digital Transformation
ISR (Incremental Static Regeneration)
ISR adalah fitur Next.js yang menggabungkan kecepatan SSG dengan kesegaran data, halaman statis di-regenerate secara berkala tanpa full rebuild.
TL;DR: ISR (Incremental Static Regeneration) adalah teknik rendering Next.js yang menyajikan halaman statis dari CDN, lalu meng-update file di background saat sudah melewati interval tertentu. Hasilnya, website terasa secepat SSG tetapi datanya relatif fresh.
Apa itu ISR?
ISR atau Incremental Static Regeneration adalah hybrid antara SSG (Static Site Generation) dan SSR (Server-Side Rendering). Halaman pertama kali dihasilkan saat build atau saat request pertama, lalu di-cache. Setelah interval (revalidate) habis, request berikutnya memicu regenerasi di background sambil tetap menyajikan versi cache lama sampai versi baru siap.
Pendekatan ini dipopulerkan Next.js, dan kini juga tersedia di Nuxt dan framework lain. Tujuannya menyelesaikan dilema klasik antara kecepatan dan kesegaran data.
Cara Kerja ISR
| Tahap | Aktivitas |
|---|---|
| Build awal | Halaman prioritas di-generate seperti SSG |
| Request | CDN menyajikan halaman cache, cepat seperti statis |
| Revalidate | Setelah waktu revalidate lewat, Next.js regenerate halaman di background |
| On-demand | Developer bisa memicu revalidate manual via API saat data update |
Frekuensi regenerasi maksimum, $f_{regen} = 1 / revalidate$. Untuk revalidate=60, maksimal 1 regenerasi per halaman per menit, jauh lebih hemat dibanding SSR yang render setiap request.
Kenapa Penting?
ISR sangat cocok untuk e-commerce, blog, dan Programmatic SEO dengan ribuan halaman, di mana rebuild penuh tidak praktis. Di proyek Atmo LMS, pola ini memungkinkan halaman kursus tetap cepat sekaligus menampilkan jumlah peserta yang terupdate tanpa harus menunggu full deploy. On-demand revalidation juga memudahkan tim konten untuk update halaman tertentu tanpa bangun ulang seluruh site.
Pertanyaan Umum
Apakah ISR sama dengan cache biasa?
Tidak persis. ISR menyimpan hasil render lengkap sebagai file statis yang di-serve CDN, sementara cache biasa bisa di berbagai level (browser, CDN, server) dengan strategi berbeda.
Apakah ISR aman untuk data sensitif?
Tidak ideal. Karena halaman di-share lewat CDN, ISR paling cocok untuk data publik. Untuk data personal, pakai SSR atau rendering sisi client setelah autentikasi.
Istilah Terkait