[▲ Vercel Community](/) · [Categories](/categories) · [Latest](/latest) · [Top](/top) · [Live](/live) [Help](/c/help/9) # Why Vercel ISR reads and writes are high with use-cache despite low traffic 18 views · 1 like · 1 post Aman (@amanzadran9) · 2026-03-29 · ♥ 1 ## Problem I’m seeing very high `ISR` cache activity that doesn’t match my actual traffic. ## Setup - ~400+ dynamic pages - `use-cache` enabled - No time-based `revalidate` - Only using on-demand `revalidateTag` - I did NOT call `revalidateTag` - No recent deployments - Only a couple real visitors per day ## Current Behavior For just one day: - I’m seeing ~10k `ISR` reads in a single day - Significant `ISR` writes as well - Writes appear to happen across many/all dynamic pages - Pages that were not visited still seem to get regenerated - Activity continues throughout the day without obvious triggers ## Expected Behavior - `ISR` reads roughly proportional to actual traffic - Writes only when: 1. A page is visited after invalidation 2. A deployment occurs 3. `revalidateTag` is called ## Environment - `App Router` - Dynamic routes (e.g. `/[slug]`) - Using `use-cache` - On-demand revalidation via `revalidateTag` (not triggered) - No `export const revalidate = X` - No background jobs or cron hitting these routes ## Questions What can cause `ISR` reads and writes without user visits, deployments, `revalidateTag` calls, or time-based revalidation? Are there internal Vercel processes, bot traffic, prefetching, or cache validation mechanisms that could explain this behavior? How can I prevent it so `ISR` only reads on real requests, only writes on actual invalidation, and does not regenerate untouched dynamic routes? Is there a way to trace what is triggering these regenerations?