Digital Transformation
On-Demand Revalidation
TL;DR: On-Demand Revalidation adalah fitur Next.js yang memicu rebuild halaman static cache via webhook atau API call, hanya ketika data sumber berubah. Pendekatan ini menghilangkan kebutuhan ISR interval pendek dan menjaga halaman tetap segar tanpa menambah beban server. Cocok untuk e-commerce, CMS, dan dashboard.
Apa itu On-Demand Revalidation?
On-Demand Revalidation (ODR) adalah API Next.js (revalidatePath dan revalidateTag) yang memerintahkan Vercel atau self-host node untuk membatalkan cache halaman tertentu, lalu meng-generate ulang saat request berikutnya datang. Konsep ini melengkapi Server-Side Rendering dan static generation, tanpa harus menunggu interval revalidate.
Perbedaannya dengan ISR klasik: ISR memakai timer (revalidate: 60 detik misalnya), sementara ODR dipicu peristiwa nyata seperti webhook CMS atau form submit. Tidak ada rebuild sia-sia.
Cara Kerja
// app/api/revalidate/route.ts
import { revalidatePath } from 'next/cache'
export async function POST(request: Request) {
const { secret, path } = await request.json()
if (secret !== process.env.REVALIDATE_SECRET) {
return Response.json({ error: 'invalid' }, { status: 401 })
}
revalidatePath(path)
return Response.json({ revalidated: true })
}
CMS atau Supabase mengirim webhook ke endpoint ini setiap kali data diubah. Next.js menandai halaman terkait sebagai stale, lalu meng-generate ulang saat request pertama datang. Hasil di-cache sampai webhook berikutnya.
| Skenario | Pendekatan |
|---|---|
| Update artikel CMS | revalidatePath('/artikel/[slug]') |
| Update harga produk | revalidateTag('product-' + id) |
| Bulk import | revalidatePath('/', 'layout') |
Kenapa Penting?
Banyak situs Indonesia memakai ISR dengan interval 60 detik, padahal data jarang berubah. Hasilnya: 1.440 rebuild per halaman per hari, sebagian besar mubazir. ODR memangkas rebuild ke jumlah update aktual, biasanya 5-50 per hari per halaman. Dampaknya: tagihan compute Vercel turun, TTFB lebih konsisten karena cache jarang miss.
Berdasarkan dokumentasi Next.js, ODR juga lebih ramah ke SEO karena halaman selalu segar tanpa fluktuasi response time.
Pertanyaan Umum
Apakah On-Demand Revalidation kompatibel dengan Edge Runtime?
Ya, mulai Next.js 14 ke atas. Endpoint API yang memanggil revalidatePath bisa berjalan di Edge Functions, latency rendah, biaya rendah.
Apa risiko keamanan ODR?
Endpoint revalidate harus dilindungi secret token atau HMAC signature. Tanpa proteksi, attacker bisa memicu rebuild berulang dan menaikkan tagihan. Pakai pendekatan Webhook Signing untuk validasi.
Istilah Terkait