Vercel
Cost
Performance
Stability
Security & compliance
Caching & cost
Where Vercel bills you for work it could have cached.
Overview
Reads route segment config, fetch options, and image settings for the places dynamic rendering was opted into and never opted back out of, plus the function and asset settings that drive invocation and bandwidth cost.
What it looks for
- force-dynamic on routes with no personalisation
- Public data fetches with no revalidate or cache option
- maxDuration above 60s on non-streaming functions
- Image optimiser disabled, or remotePatterns opened with a wildcard
- Unbounded collection responses, heavy dependencies in serverless routes
Why it matters
force-dynamic on a page every visitor sees identically means a function invocation per view instead of a cache hit. Disabling the image optimiser moves full-size originals over the wire on every request.
Rules in this check
How the fixes arrive
GuideChanges only you can make safely arrive as a step-by-step guide you can follow yourself or hand to your coding agent.
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.