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.