Hosting
Static vs serverless on free plans: when a static host stops being enough
A static site is the cheapest and simplest thing you can deploy, and on free plans it is often the most generous. This guide explains the three things that usually push a project beyond static, and why a mix of both is often the best answer.
By AltFTool editors · 01 Nov 2026 · 7 min read
Why static is the default
Pre-built files served from a CDN have no runtime, no cold start and no database connection. There is very little that can break.
Serving cached files costs providers little, which is why static hosting tends to have the most generous free plans. For many sites, static is the right answer.
The three things that end it
Build time comes first. Generating pages takes build minutes, and free plans often cap build minutes more tightly than bandwidth. A site with many pages and frequent deploys can hit that cap before traffic is a concern.
Freshness comes second. If a page must show something that changed a few seconds ago, rebuilding the whole site for each change stops making sense.
Per-visitor content comes third. A cached file cannot be different for each visitor, so logged-in dashboards and carts need a server.
Traffic is usually not the problem
Many people assume static works until traffic gets large. In practice, more traffic tends to suit static, because cached files scale well.
The real limit is the number of pages multiplied by how often they change. Check your host's build-minute allowance against how often you deploy.
- Few pages, rare updates, any traffic: static.
- Many pages, rare updates: static, but watch build minutes.
- Few pages, frequent updates: serverless or incremental regeneration.
- Per-visitor content: serverless or a server.
Watch the serverless limits too
Serverless free plans have their own limits. Google Cloud Run's free tier, for example, includes 2 million requests a month, and Azure Functions includes 1 million requests a month, according to their pricing pages. Firebase's free Spark plan does not include Cloud Functions at all.
Databases behind serverless code have limits too, such as idle pauses and connection caps, so check those as well.
The mix most projects want
Modern frameworks let you choose per route. Keep marketing pages, docs and blog posts static. Run only the routes that need fresh or personal data on the server.
That way your free serverless allowance only covers the routes that need it.