Direct answer
Use `output: 'export'` when every public URL can be a file, you do not need server-only cookies on those URLs, and the host is a CDN (Pages, S3+CDN, similar). Use a server or edge runtime when you need sessions, A/B at the origin, or HTML that depends on the request.
Next.js documents the constraints: no dynamic server routes in the export, trailing slash behaviour must match the host, and image optimization needs a compatible loader.
Website vs portal vs panel
The marketing website can be static. The client portal and operator panel cannot, because authorization is per request. Split the origins or split the runtimes. Do not force a portal through static export and then ‘fake’ login with a public JSON file.
A practical sequence
Prove the host before you design 200 pages.
- List routes that must be public files
- List routes that need a session
- Match trailingSlash to the CDN
- Put Core Web Vitals budgets in CI on the export
- Keep the form on a dedicated route with an explicit embed
SEO consequences
Static files are easy to cache and easy to get wrong: duplicate index.html vs slash, stale HTML after a content change, and sitemaps that list routes you no longer export. Treat the export directory as the source of truth for what is live.
What to send if you want a senior review
Share whether you need login on the same host. Related work at Kiwi: custom website design and development.
Frequently asked questions
Can we static-export the blog too?
Yes, if posts are known at build time. Pagination and topic hubs must be generated in that build. Do not expect a CMS webhook to mutate HTML without a rebuild.
Does static mean we cannot have a form?
You can embed a third-party form or post to an edge function on another origin. The HTML can still be static.
Is static faster than SSR by default?
It is easier to cache. Speed still depends on fonts, images, and third-party scripts. Measure LCP on mobile.
Sources
Figures cited above are drawn from the linked publications and are the responsibility of their sources; we date and scope them rather than presenting them as universal guarantees.