Vercel
Cost
Performance
force-dynamic on non-personalized route
Part of the Caching & cost check · fix arrives as a guide
What it is
A route sets dynamic = 'force-dynamic' despite rendering the same output for every visitor.
Why it matters
It opts the route out of caching entirely, so every page view becomes a function invocation. On a page that could have been served from the edge cache, that is paying compute for a result that never varies.
How to fix it
Remove force-dynamic and let the route be cached, using revalidate to control freshness. Where only part of the page is personalised, isolate that part rather than making the whole route dynamic.
Run them all on your app
Connect your repo and your live services with read-only scopes. The first scan is free, and nothing changes without your approval.