Introduction
ISR lets you update static pages after build without rebuilding the entire site.
Basic ISR
export const revalidate = 3600; // Revalidate every hour
export default async function Page() {
const data = await fetch('https://api.example.com/data', {
next: { revalidate: 3600 },
});
return <div>{/* render */}</div>;
}
On-Demand Revalidation
import { revalidatePath } from 'next/cache';
revalidatePath('/blog/[slug]');
Conclusion
Combine ISR with on-demand revalidation webhooks for CMS-driven sites.

