SYSTEM Cited by 7 sources
Next.js¶
Next.js is a Vercel-backed React application framework providing server-side rendering, file-system-based routing, app router, API routes, image optimization, and caching / revalidation primitives. Historically opinionated toward Vercel as the deployment target; systems/opennext fills the gap for other runtimes.
Stub¶
This page only covers Next.js capabilities named by currently- ingested sources. Broader Next.js architecture (App Router, Pages Router, ISR, RSC internals) is out of scope until a source describes them.
Relevant primitives (named by ingested sources)¶
force-dynamic(Next.js caching guide) opts a route out of static rendering. In the 2025-10-14 Cloudflare post, dynamic vs non-dynamic mode interacted with OpenNext's streaming behaviour: non-dynamic rendering buffers the full response before sending any bytes; dynamic mode streams.- Rendering pipeline uses
pipeThrough()chains that (per Cloudflare profiling) allocate up to 50 × 2048-byteBufferinstances per request even when most aren't used. - Caching / deduplication — when multiple concurrent requests hit the same page, Next.js (via OpenNext's composable cache) deduplicates rendering to a single invocation.
JSON.parse(text, reviver)— used heavily internally; 100,000+ reviver invocations observed per request on the Cloudflare benchmark; hot enough that Cloudflare's V8 patch speeding up parse-with-reviver is a noticeable win.rewrites()withhasheader matcher — declarative URL rewriting innext.config.tswith per-rulehasconditions on headers, cookies, or query params. In Vercel's 2026-04-21 content-negotiation post, thehas: [{ type: 'header', key: 'accept', value: '(.*)text/markdown(.*)' }]pattern is used to internally route agents to a dedicated/md/:path*route without changing the public URL.beforeFiles:ensures the rule runs before static-file serving. See patterns/accept-header-rewrite-to-markdown-route.- App Router route handlers
—
export async function GET()atapp/<path>/route.tsreturns aResponsewith customContent-Type. Used in Vercel's 2026-04-21 post to servetext/markdownfrom on-the-fly CMS rich-text conversion, and to generate markdown sitemaps withexport const dynamic = 'force-static';. - Next.js 16 remote cache (
use cache) — named by Vercel's 2026-04-21 post as the primitive keeping HTML and markdown versions synchronised via shared slug keys when CMS content updates.
Seen in¶
- sources/2026-04-21-vercel-making-agent-friendly-pages-with-content-negotiation
— canonical Next.js instance of
markdown content
negotiation. Vercel ships markdown-content-negotiation
on
vercel.com/blogandvercel.com/changelogvia anext.config.tsrewrite rule (patterns/accept-header-rewrite-to-markdown-route) that inspects theAcceptheader withhas: [{ type: 'header', key: 'accept', value: '(.*)text/markdown(.*)' }]and routes matching requests internally to a dedicated/md/:path*route handler. The route handler reads the slug, callsgetMarkdownContent()to convert CMS rich text to markdown on the fly, and returns the body withContent-Type: text/markdown. Canonical datum: ~500 KB HTML → ~3 KB markdown = 99.37 % payload reduction on one blog post. Also introduces markdown sitemaps at/blog/sitemap.mdand/docs/sitemap.mdgenerated byforce-staticroute handlers, and an HTML-head<link rel="alternate" type="text/markdown">tag pointing at/llms.txtas a fallback discovery mechanism. Fourth public-profile altitude for Next.js on the wiki alongside CPU profile (2025-10-14), vinext reimplementation (2026-02-24), Bun runtime benchmark (2026-04-21), and WDK file-based-routing integration (2026-04-21). - sources/2026-04-21-vercel-inside-workflow-devkit-how-framework-integrations-work
— canonical
file-
based-routing framework in Vercel Workflow DevKit's
integration map; one of the two launch-support
frameworks (alongside Nitro).
WDK outputs generated handler files into
app/.well-known/workflow/v1and Next.js's file-based routing auto-discovers them as HTTP endpoints — canonical file-based-routing side of the patterns/two-phase-framework-integration-pattern. Third altitude of Next.js wiki coverage alongside the 2025-10-14 CPU-profile analysis, 2026-02-24 vinext reimplementation, 2026-04-21 Bun runtime benchmark. - sources/2026-04-21-vercel-bun-runtime-on-vercel-functions
— canonical wiki disclosure of Next.js as the framework
showing the largest Bun-vs-Node.js gap on a multi-runtime
function platform. Vercel's 2026-04-21 benchmark (
cf-vs-vercel-bench, re-run with TTLB instead of TTFB, 1 vCPU / 2 GB,iad1): Bun cuts average latency 28 % on CPU-bound Next.js rendering workloads vs Node.js. Gap attributed specifically to Bun's Web-Streams + reduced GC overhead — same profiling finding as Cloudflare's 2025-10-14 OpenNext analysis at a different runtime. React SSR / SvelteKit / vanilla JS workloads show no meaningful gap. Vercel also promises further gains from integrating Bun's optimisedreact-dom/serverimplementation. Canonical framework instance of concepts/web-streams-as-ssr-bottleneck. - sources/2025-10-14-cloudflare-unpacking-cloudflare-workers-cpu-performance-benchmarks
— Cloudflare's profiling of
cf-vs-vercel-benchsurfaced Next.js internals (rendering pipeline, reviver usage, force-dynamic behaviour) as meaningful contributors to the apparent Vercel-vs-Workers gap. - sources/2026-02-24-cloudflare-how-we-rebuilt-nextjs-with-ai-in-one-week
— Cloudflare reimplements the Next.js API surface from
scratch on Vite as
vinext in ~1 week / ~$1,100 in Claude
tokens, hitting 94 % API coverage with 1,700+ Vitest + 380
Playwright tests ported from the Next.js repo. Canonical
wiki instance of Next.js as a
"well-specified
target API" — extensively documented, massive user
base, heavily represented in training data, comprehensive
test suite portable as executable spec. Builds against
16.1.6 + Turbopack in the 7.38 s
baseline benchmark; vinext comes in at 4.64 s (Rollup) and
1.67 s (Rolldown). Also surfaces the
build-time-scales-linearly-with-
generateStaticParams()pathology that vinext's Traffic-aware Pre-Rendering addresses by querying zone analytics at deploy time. - sources/2024-08-01-vercel-how-google-handles-javascript-throughout-the-indexing-process
— canonical wiki instance of Google-side empirical
indexing behaviour at
nextjs.orgscale. Vercel + MERJ instrumentnextjs.orgwith an edge-middleware-injected beacon over April 2024 and measure Googlebot's rendering on 100,000+ fetches / 37,000+ server-beacon pairs. Confirms: (a) 100 % of indexable HTML pages rendered across the mix of SSG / ISR / SSR / CSR / RSC-streaming strategies on the site; (b) rendering-delay distribution p50 = 10 s, p75 = 26 s, p99 ≈ 18 h — see concepts/rendering-delay-distribution; (c) React 18 streaming SSR + RSC payloads fully captured by Googlebot; (d)?ref=...-style query-string URLs render much slower than path-only (p75 ≈ 31 min vs 22 s). The rendering-strategy capability matrix grades Next.js's default strategies (SSG / ISR / SSR) as Excellent for crawl efficiency, rendering completeness, rendering time, and indexing; CSR is the outlier. Third public-profile altitude for Next.js on the wiki alongside the 2025-10-14 CPU profile and the 2026-02-24 vinext reimplementation — this one is the Google-facing SEO-at-scale altitude. - sources/2026-04-21-vercel-preventing-the-stampede-request-collapsing-in-the-vercel-cdn
— canonical Next.js ISR cache-stampede instance. Vercel
frames Next.js ISR as the primary consumer of request
collapsing: every Next.js ISR route deployed on Vercel now
gets collapsing by default, because the Next.js build output
tells the CDN which routes are ISR / SSG / dynamic. Named
Next.js primitives the CDN relies on: route classification
metadata (SSG vs ISR vs SSR vs dynamic API), revalidation
windows (
revalidate: N), and the deployment manifest that carries the classification to each CDN region. Operational numbers: 3M+/day ISR miss requests collapsed + 90M+/day ISR background-revalidation requests collapsed on the Vercel CDN. See patterns/framework-inferred-cache-policy for the general integration pattern and systems/vercel-cdn for the CDN system. Fourth public-profile altitude for Next.js on the wiki (CPU profile 2025-10-14, vinext 2026-02-24, MERJ study 2024-08-01, content-negotiation 2026-04-21) — now extended with the cache-tier-collapsing altitude.
Related¶
- systems/bun — alternative JS runtime for Next.js on Vercel Functions; 28 % TTLB reduction on CPU-bound Next.js rendering per 2026-04-21 Vercel disclosure, attributed to Bun's Web-Streams + GC implementation vs Node.js.
- systems/vercel-functions — the multi-runtime host exposing Next.js on Node.js or Bun.
- concepts/web-streams-as-ssr-bottleneck — the specific performance pathology Next.js's streaming SSR surfaces on Node.js; the reason the Bun win concentrates in Next.js specifically (not React SSR, SvelteKit, or vanilla JS).
- systems/opennext — OSS adapter enabling Next.js on non- Vercel runtimes (systems/cloudflare-workers, AWS Lambda, Netlify).
- systems/vinext — Cloudflare's clean reimplementation of the Next.js API surface on Vite, structurally distinct from the adapter approach.
- systems/turbopack — Next.js's in-house Rust bundler.
- systems/vite — the ecosystem-alternative build tool powering most non-Next frameworks and vinext.
- systems/react — the UI framework Next.js is built on.
- systems/cloudflare-workers — a Next.js deployment target via OpenNext, now also natively via vinext.
- patterns/clean-reimplementation-over-adapter — the structural alternative to OpenNext's adapter approach.
- concepts/traffic-aware-prerendering — the deploy-time
generateStaticParams()alternative vinext introduces. - systems/googlebot — the measured crawler at
nextjs.orgscale. - concepts/rendering-delay-distribution — the empirical
p50 = 10 s / p99 ≈ 18 h distribution from
nextjs.org. - concepts/rendering-strategy-crawl-efficiency-tradeoff — SSG / ISR / SSR all graded top-tier.
- concepts/streaming-ssr — Next.js App Router's streaming SSR, confirmed Google-indexable.
- concepts/markdown-content-negotiation — the HTTP
primitive Vercel implements on
vercel.com/blogvia Next.jsrewrites()+ route handler. - concepts/markdown-sitemap — companion primitive
implemented as
force-staticroute handlers at/blog/sitemap.mdand/docs/sitemap.md. - patterns/accept-header-rewrite-to-markdown-route — the canonical Next.js implementation pattern.
- patterns/link-rel-alternate-markdown-discovery — Vercel's HTML-head discovery layer.