Next.js is the default choice for many startup marketing sites and SaaS dashboards — for good reason. The failure mode is not the framework; it is skipping production basics because the demo looked fine on localhost.
This checklist is what we run before calling a Next.js build production-ready for a client.
1. Environment and secrets
- Separate
.env.localfrom production secrets in your host (Vercel, AWS, etc.) - Never expose
NEXT_PUBLIC_vars for anything sensitive — that prefix means browser-visible - Document required env vars in README so the next engineer is not guessing
See Next.js environment variables in the official docs.
2. Routing and rendering choices
In the App Router era, be explicit about:
- Static pages for marketing content that rarely changes
- Dynamic routes only where data is truly per-request
revalidateor tags when you need freshness without rebuilding everything
Misusing force-dynamic everywhere increases cost and hurts Core Web Vitals. Map each route to a rendering strategy in a one-page doc — future you will thank you.
3. Images and fonts
- Use
next/image(or a deliberate exception with measured LCP impact) - Self-host critical fonts or subset aggressively
- Set width/height to avoid layout shift
Google’s LCP guidance still applies: hero images dominate most startup homepages.
4. SEO metadata
Every indexable route needs:
- Unique
<title>and meta description - Canonical URL when content exists in multiple paths
- Open Graph tags for social sharing
sitemap.xmlandrobots.txtthat match what you actually want indexed
Blog and docs pages should use structured data where it helps — schema.org BlogPosting is a sensible start for articles.
5. Observability
Minimum viable production ops:
- Error tracking (Sentry or similar) on client and server
- Uptime checks on
/and one authenticated path - Log aggregation for API routes and server actions
If you cannot reproduce user-reported bugs, you are flying blind after launch.
6. Security headers and auth
- Set CSP, HSTS, and frame options at the edge or in
next.config - Validate sessions on the server for protected routes — never trust client-only checks
- Rate-limit auth and webhook endpoints
MDN’s HTTP security headers overview is a useful reference when reviewing config.
7. CI before merge
A short pipeline beats a long manual QA ritual:
- Typecheck + lint
next buildon every PR- Smoke test critical flows on preview deploys
When to get help
If your team is bottlenecked on product logic while infra debt grows, a dev subscription model can clear the checklist in focused sprints without a six-month hiring cycle.
Related reading: Webflow vs WordPress vs custom · Backend stack comparison
Book a consultation if you want a senior review of your Next.js app before a high-stakes launch.
Further reading
- Webflow vs. WordPress vs. custom code for startups in 2026
How to choose a website stack when you need speed, SEO, and room to grow — with clear criteria, trade-offs, and when to hire a dev sprint team.
- Postgres vs. Supabase vs. Firebase for startup backends in 2026
Choose a backend stack for speed, cost, and control — when managed Postgres (Supabase) wins, when Firebase fits, and when you need plain Postgres on your own infra.
- How to scope an MVP in two weeks (without shipping junk)
A founder-friendly framework to cut an MVP to one measurable outcome, one user path, and one week of buffer — so your first release actually validates the idea.
