Static Sites Are Underrated
The default for a new marketing site in 2026 should be a static export: no server, no database, no runtime. Faster, cheaper, more secure, and easier to maintain than any server-rendered alternative. Most teams reach for more infrastructure than they need.
This site, hi-kaizen.com, is a static export hosted on Cloudflare Pages. There is no server running. There is no database being queried. When you load a page, you are receiving pre-built HTML, CSS, and JavaScript files from a CDN node close to your location. Nothing executes on our end.
This is not a technical limitation or a cost-cutting measure. It is a deliberate choice that makes the site faster, more reliable, and cheaper to operate than any server-rendered alternative.
Performance
A static site loads faster than a server-rendered site in almost every real-world scenario. There is no server round-trip to generate the page. There is no database query. The HTML is pre-built and served from a CDN with sub-10ms response times.
Core Web Vitals scores for static sites are consistently better than for server-rendered equivalents, all else being equal. LCP improves because the HTML arrives immediately. TTFB drops to near zero. For SEO, this matters. Google gives preference to fast-loading pages in competitive search categories.
Security
There is no server to compromise. No database credentials to leak. No SQL injection surface. No server-side session management to exploit. The attack surface of a static site is essentially the CDN provider's security, which is excellent.
This matters particularly for small teams and startups who do not have dedicated security resources. Running a server means keeping it patched, monitoring for intrusions, and having a response plan for breaches. A static site eliminates all of that category of risk.
Cost
Cloudflare Pages is free for most use cases. No monthly server bill. No database hosting fee. No bandwidth charges within reasonable limits. For a marketing site with a few thousand monthly visitors, the hosting cost is literally zero.
Compare this to a typical server-rendered setup: a VPS or serverless platform, a managed database, a CDN layer, and monitoring. Even on the low end, that is $30 to $100 per month for infrastructure the site does not need.
Deployment
Cloudflare Pages deploys automatically on every push to main. The deployment takes about 90 seconds and requires no configuration changes. There is no deployment script to maintain. No environment variables to sync. No migration to run.
The deploy-on-push workflow is also safer. Because the build runs in CI before deployment, broken builds never reach production. The previous version continues serving until the new build succeeds.
When static is not enough
Static sites have real limitations. They cannot handle authenticated user sessions without a separate API. They cannot serve personalized content without client-side JavaScript. They cannot process forms server-side without a form handling service.
The practical pattern we use: static site for the public pages plus a form handling endpoint (Cloudflare Worker or a separate Express service) for contact forms. This covers 90% of marketing site requirements without adding a full server.
When you genuinely need server-side rendering (SEO-critical content that changes frequently, authenticated user pages, complex data fetching), reach for Next.js with Vercel or a VPS. But be honest about whether you actually need it, because most marketing sites do not.
How to build one
We use Next.js with static export (`output: 'export'` in next.config). This gives access to React components, Tailwind, TypeScript, and the full modern frontend toolchain, while producing a static output directory that can be served by any CDN.
Connect the repository to Cloudflare Pages, set the build command to `npm run build` and the output directory to `out`. Every push to main triggers a rebuild and deploy. That is the entire infrastructure setup.
For a typical five-to-ten page marketing site, this approach means: no server costs, sub-100ms page loads globally, no operational maintenance, and a deployment pipeline that requires no ongoing attention. For most sites, it is simply the right choice.