Back to blog

Web Development2026-08-12CanvasDevs Team

A Production Checklist for Next.js App Router Sites

The metadata, caching, and hydration traps we still catch in real App Router launches — and how we close them before go-live.

Why App Router still surprises teams

Shipping a marketing site or SaaS dashboard on the App Router is straightforward until caching, streaming, and client boundaries collide. Most of the bugs we see are not framework bugs — they are missing contracts between server components, client islands, and the CDN.

Before a launch we run a short checklist: generateMetadata on every route, a single canonical per locale, no Date.now() in SSR markup, and a documented revalidate strategy for every fetch.

What we actually test

  • Hydration: no locale-sensitive dates or extension-mutated inputs without suppressHydrationWarning.
  • SEO: hreflang, JSON-LD, and sitemap coverage for every indexable URL.
  • Perf: LCP image, font-display swap, and no layout shift from late header height.

Takeaway

Treat the App Router like a production runtime, not a file convention. The teams that document cache tags and metadata once ship faster every quarter after that.