The project starts on Hugo on Cloudflare Pages: zero PHP, Git deploy, bill near zero. Two years later marketing wants segment personalisation, A/B tests and a client area. The "simple choice" was not wrong — it had a lifespan nobody wrote into the spec.
This scenario repeats on corporate sites, expert blogs and technical documentation. Static appeals through operational simplicity: no database to patch, no plugins to watch, delivery absorbed by a CDN. Yet simplicity applies to content publishing, not every business need that emerges as the product matures.
A static site generates HTML, CSS and JavaScript files at build; the server serves files without PHP or per-request database. Simplicity, security, performance — against limited dynamic flexibility without extra pieces. To situate static in a wider ecosystem, see Jamstack and content.
Where static lasts well
Static excels when the product remains essentially published content at a controlled pace. Versioned blogs, docs and portfolios in Git fit perfectly: PR publishing, clear history, built-in review. Campaign landing pages hold well too — few pages, traffic spikes absorbed by CDN.
Stable corporate sites updated weekly or monthly, and short-lived event microsites, stay in static's comfort zone. For hosting, object storage plus CDN, Netlify, Cloudflare Pages or Infomaniak Web often suffice — no cPanel, often direct Git deploy.
| Case | Why it holds |
|---|---|
| Blog, docs, portfolio | Versioned content, PR publishing |
| Campaign landings | Few pages, traffic spikes absorbed by CDN |
| Stable corporate site | Weekly/monthly updates |
| Event microsites | Short lifespan, minimal cost |
Signals simplicity hits limits
More than fifty content updates per day without an optimised build pipeline tires the team and lengthens deploys. E-commerce beyond Snipcart or a simple Stripe link needs stock, tax and customer accounts. Auth and roles — member area, paywall — leave the pure file model. Faceted search on a large corpus and complex i18n with non-developer workflow raise the same questions.
Options without scrapping everything: partial incremental rendering (Jamstack), headless CMS (headless CMS), or return to WordPress depending on available team.
Three-year total cost
Static wins if content stays stable and the dev team is comfortable with Git and markdown. It loses if every dynamic need becomes a billed micro-project — auth SaaS, search SaaS, forms SaaS — sometimes more opaque than well-run WordPress.
| Item | Static | Shared WordPress |
|---|---|---|
| Hosting | Low (CDN) | €5–30/month |
| Security maintenance | Reduced surface | Plugins, PHP, DB |
| Custom dynamic dev | À la carte functions/API | Existing plugins |
| Skills | Git + markdown | Editorial editor |
The peak: simple to launch ≠ simple to evolve
Decide and move forward without blind spots
List likely dynamic needs over eighteen months — auth, shop, search — then run a build plus CDN deploy proof of concept with the real content team. Cost third-party services if dynamic grows, and compare CDN or object storage hosts via our directory while asking where each business function will live, not just where HTML files are served.
Frequently asked questions
Is a static site enough for a professional blog?
Yes for regular publishing without reader accounts or native comments. Add Disqus or an alternative, or go headless if workflow grows complex with several non-technical editors.
Where to host a static site cheaply or free?
Cloudflare Pages, Netlify, GitHub Pages, S3 with CloudFront, or object storage plus CDN. Cost is often tied to CI build and traffic, not PHP.
Static site and SEO — advantages?
Low response time, no slow database, predictable HTML. SEO still depends on content, internal links and asset Core Web Vitals.
When to migrate to WordPress or headless?
Once you need non-technical WYSIWYG, business plugins, complex e-commerce or hourly content with rich preview — pure static becomes costly contortion.
Static lasts when you can answer: what share of the site will still be generated HTML in two years? If unsure, plan where dynamic will live — not just the CDN.