Website Bisnis

ISR Next.js untuk Marketer Indonesia: Cara Konten Tetap Segar Tanpa Rebuild Penuh di 2026

A
Admin·4 Mei 2026·0 kali dibaca·4 min baca
ISR Next.js untuk Marketer Indonesia: Cara Konten Tetap Segar Tanpa Rebuild Penuh di 2026

TL;DR: Incremental Static Regeneration (ISR) di Next.js menyajikan halaman statis hasil build dan meregenerasinya di latar belakang tiap N detik. Marketer mendapat halaman yang cepat seperti SSG tapi data tetap segar mendekati realtime. Cocok untuk blog, halaman produk dengan harga dinamis, dan listing kategori. Tidak cocok untuk dashboard pengguna login.

Banyak tim marketing yang berpindah ke Next.js menghadapi pertanyaan klasik, "render statis yang cepat tapi datanya basi, atau render server yang segar tapi lambat?". Sejak rilis ISR, jawabannya tidak lagi binari. Halaman bisa cepat sekaligus segar, asal pola pakainya benar.

Dalam beberapa proyek terakhir, ISR memangkas waktu publish artikel ke pengguna dari 5-10 menit (rebuild penuh Vercel) menjadi sekitar 60 detik tanpa harus mendeploy ulang. Untuk konten yang publish setiap jam seperti di vitoatmo.com, perbedaan ini langsung terasa di kecepatan distribusi.

Tiga Mode Rendering Next.js Singkat

ModeCepat?Data Segar?Cocok Untuk
SSG (statis murni)SangatTidak, hanya saat buildHalaman legal, landing page tetap
ISRSangatMendekati realtimeBlog, listing produk
SSRCukupSetiap permintaanDashboard login, halaman akun

ISR berdiri di tengah dengan menggabungkan kekuatan dua sisi. Detail teknis bisa dipelajari di glosarium ISR Next.js.

Cara Mengaktifkan ISR di App Router

Di Next.js 15, ISR diaktifkan lewat dua cara utama:

Time-based revalidation:

typescript
export const revalidate = 60 // halaman regenerasi tiap 60 detik

On-demand revalidation:

typescript
import { revalidatePath } from 'next/[cache](/glosarium/cache)'
revalidatePath('/artikel/[slug]', 'page')

Pendekatan time-based cocok untuk konten yang berubah berkala, sedangkan on-demand cocok saat admin menerbitkan artikel baru dan ingin halaman langsung update. Kombinasi keduanya yang paling sehat. Referensi resmi ada di dokumentasi Next.js tentang ISR.

Kapan ISR Salah Pakai

ISR tidak cocok untuk:

  • Halaman pengguna login dengan data per-user. Ini selalu SSR atau client fetch.
  • Konten yang harus konsisten realtime seperti harga lelang atau saldo akun.
  • Halaman dengan jutaan kombinasi parameter dan trafik panjang ekor yang merata. Cache hit rate akan rendah dan biaya naik.

Salah pakai ISR untuk dashboard login bisa membocorkan data antar-pengguna. Kasus seperti ini sudah beberapa kali muncul di forum keamanan, jadi pisahkan dengan tegas mana halaman publik (boleh ISR) dan mana halaman privat (harus SSR atau client-rendered).

Studi Kasus: vitoatmo.com

vitoatmo.com sendiri memakai ISR untuk halaman artikel dengan revalidate = 60. Artikel baru yang publish via Supabase muncul di sisi pengguna dalam hitungan detik, sementara halaman lama tetap dilayani dari cache CDN dengan waktu respons di bawah 100 ms. Pola yang sama dipakai di proyek Atmo (LMS), khususnya untuk halaman katalog kursus yang berubah harian tapi tidak per-detik.

Sebelum ISR, alternatifnya adalah rebuild penuh tiap publish, yang memakan 3-5 menit untuk situs dengan ratusan halaman. Dengan ISR plus on-demand revalidation, biaya build turun signifikan dan author experience jauh lebih lancar.

Tiga Pertanyaan Wajib Sebelum Memutuskan ISR

  1. Seberapa sering data berubah? Jika dalam jam, ISR cocok. Jika setiap detik, pakai SSR atau client fetch.
  2. Apakah halaman dilihat banyak pengguna anonim? Jika ya, ISR menang karena cache di-share. Jika tidak, manfaat ISR berkurang.
  3. Apakah konten ini publik? Jika tidak, jangan ISR. Risiko kebocoran cache antar-user terlalu besar.

Jawaban dari ketiga pertanyaan ini biasanya cukup memutuskan tanpa harus benchmark.

Pertanyaan Umum

Apakah ISR memengaruhi SEO?

Positif. Halaman ISR tetap dirayapi sebagai halaman statis dengan HTML lengkap. Googlebot tidak membedakan ISR dengan SSG murni. Skor Core Web Vitals cenderung baik karena halaman dilayani dari edge.

Apakah ISR hanya bekerja di Vercel?

Tidak. ISR adalah fitur Next.js yang juga jalan di Cloudflare, AWS Amplify, atau self-hosted (dengan penyesuaian). Vercel memang yang paling matang implementasinya.

Bagaimana mengukur cache hit rate ISR?

Pakai header x-vercel-cache untuk pengguna Vercel, atau RUM/log analitik untuk platform lain. Targetkan minimal 80% hit rate untuk halaman populer agar manfaat ISR maksimal.

Apakah ISR berbahaya untuk halaman e-commerce?

Tidak, asal halaman publik (PDP, listing). Halaman keranjang, checkout, dan akun harus selalu SSR atau client-rendered untuk mencegah kebocoran sesi.

Berapa nilai revalidate yang ideal?

Tergantung kecepatan perubahan data. Blog biasanya 3600 detik (1 jam), produk e-commerce 60-300 detik, listing kategori 300-900 detik. Lebih pendek dari 30 detik biasanya tidak memberi keuntungan signifikan.

Penutup

ISR adalah salah satu fitur Next.js yang paling mengubah cara tim marketing bekerja dengan konten. Halaman tetap cepat, data tetap segar, biaya server tetap terkendali. Aturan main yang aman cuma satu, batasi ISR ke konten publik dan ukur cache hit rate sebelum mengubah nilai revalidate. Pasangkan dengan strategi Content Refresh yang konsisten, dan halaman lama tetap relevan tanpa pernah harus rebuild penuh.

Bagikan

Artikel Terkait

#isr#nextjs#rendering#website-bisnis#seo#core-web-vitals

Butuh website yang benar-benar bekerja?

Hubungi Vito untuk konsultasi gratis 15 menit.

WhatsApp Sekarang