Agent Ready HTML

Next.js (App Router defaults) against Astro on what an agent reads

In short

Next.js (App Router defaults): In the App Router, layouts and pages are Server Components by default, and Client Components plus the RSC payload are used to prerender HTML. Next.js (App Router defaults) leads on real status codes, 2 to 1; Astro: a made-up path returned 404 from astro preview, but the build wrote no 404.html.

The sourced difference

Astro prerenders every page to static HTML by default and on-demand rendering is opt-in; the Next.js App Router renders Server Components by default and prerenders HTML, with streaming and client components as the main ways content leaves the initial HTML. Source, read 4 November 2026.

The rubric side by side

KeyNext.js (App Router defaults)Astro
Content in the initial HTML2, on by default2, on by default
Real status codes2, on by default1, with setup
llms.txt generation0, not offered0, not offered
llms.txt linking0, not offered0, not offered
Markdown on request1, with setup0, not offered
JSON-LD output1, with setup1, with setup
OpenAPI exposure0, not offered0, not offered
Fenced, tagged code1, with setup2, on by default
Total7 of 166 of 16

The two differ on 3 of the numeric keys: real status codes, markdown on request, fenced, tagged code. Evidence for each score is on the profiles of Next.js (App Router defaults) and Astro.

Verdicts by reader

Technical SEO
Both pass a plain fetch with defaults; Astro has fewer ways to lose content.
Docs owner
Astro suits docs-like content; Next.js suits apps that also need server logic.
Front-end developer
In Next.js keep data fetching in Server Components and call notFound() before streaming.

What each leaves undone

Next.js (App Router defaults)

  • Does not generate llms.txt.
  • Does not negotiate markdown without a rewrite and handler.

Astro

  • Does not generate llms.txt in core.
  • Does not negotiate markdown from static output alone.

Work left to the developer: Next.js (App Router defaults), Medium: write llms.txt and a markdown route, add the Accept rewrite, link the file, and keep content in Server Components. Astro, Medium: add a 404 page, write llms.txt and any markdown endpoints, link the file, and add the host rules for 404 and Accept.

Sources

  1. docs.astro.build: the difference https://docs.astro.build/en/guides/on-demand-rendering/, read 4 November 2026
  2. Next.js (App Router defaults): documentation https://nextjs.org/docs/app/getting-started/server-and-client-components, read 4 November 2026
  3. Astro: documentation https://docs.astro.build/en/concepts/why-astro/, read 4 November 2026

Last reviewed 4 November 2026