---
title: "Next.js (App Router defaults) vs Astro for agents: Agent Ready HTML"
description: "Next.js (App Router defaults) against Astro on initial HTML, llms.txt, markdown, JSON-LD and OpenAPI, with a sourced difference and verdicts for three readers."
canonical: https://agentreadyhtml.com/compare/nextjs-app-router-vs-astro/
site: "Agent Ready HTML"
last_updated: 2026-11-04
section: "Compare"
---

# Next.js (App Router defaults) vs Astro for agents: Agent Ready HTML

> Next.js (App Router defaults) against Astro on initial HTML, llms.txt, markdown, JSON-LD and OpenAPI, with a sourced difference and verdicts for three readers.

Source: https://agentreadyhtml.com/compare/nextjs-app-router-vs-astro/
Site: Agent Ready HTML
Last reviewed: 2026-11-04

# 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](https://docs.astro.build/en/guides/on-demand-rendering/), read 4 November 2026.

## The rubric side by side

| Key | Next.js (App Router defaults) | Astro |
| --- | --- | --- |
| Content in the initial HTML | 2, on by default | 2, on by default |
| Real status codes | 2, on by default | 1, with setup |
| llms.txt generation | 0, not offered | 0, not offered |
| llms.txt linking | 0, not offered | 0, not offered |
| Markdown on request | 1, with setup | 0, not offered |
| JSON-LD output | 1, with setup | 1, with setup |
| OpenAPI exposure | 0, not offered | 0, not offered |
| Fenced, tagged code | 1, with setup | 2, on by default |
| Total | 7 of 16 | 6 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)](https://agentreadyhtml.com/platforms/nextjs-app-router/) and [Astro](https://agentreadyhtml.com/platforms/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.

-   [Alternatives to Next.js (App Router defaults)](https://agentreadyhtml.com/platforms/nextjs-app-router/alternatives/)
-   [Alternatives to Astro](https://agentreadyhtml.com/platforms/astro/alternatives/)

## Sources

1.  [docs.astro.build: the difference](https://docs.astro.build/en/guides/on-demand-rendering/) 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) 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/) https://docs.astro.build/en/concepts/why-astro/, read 4 November 2026

Last reviewed 4 November 2026

Edition

Crawl

2026-11-04

Page updated

2026-11-04

Method

How the viewer reads a page, how a file is graded and how a platform is scored: [the method page](https://agentreadyhtml.com/method/).
