ISR, short for incremental static regeneration, lets a website serve fast pre-built pages while still keeping them fresh. Pages are generated ahead of time like a static site, but instead of being frozen until the next full rebuild, individual pages quietly regenerate in the background when their content is due for an update.
Think of a bakery that bakes its bread early so it is ready the moment you walk in. ISR adds a twist: when a loaf gets old, the baker replaces just that one without closing the shop or rebaking everything. Visitors always grab a ready loaf instantly, and behind the scenes stale pages get refreshed one at a time. It sits neatly between full static site generation, which never changes until you rebuild, and server-side rendering, which rebuilds a page on every single request.
The win is scale. A webshop with fifty thousand products cannot rebuild every page on each visit, nor rebuild the entire site every time one price changes. ISR refreshes only what needs it, so dynamic content stays current while the site keeps the speed of static files served from a CDN. There is one trade-off to plan for. The first visitor after a page goes stale may briefly see the old version while the fresh one builds in the background, then everyone after them gets the new one. For a blog post or a product description that is fine. For a live stock count or a flash-sale price, those few seconds matter, so you either revalidate on a tight schedule or trigger a rebuild the moment the data changes rather than waiting for the timer.
At TopDevs we reach for ISR on large content and commerce sites, giving clients up-to-date pages without paying the speed cost of rendering everything on demand.