Agent Ready HTML

Astro: what an agent reads

In short

Astro does not generate llms.txt in core. Astro totals 6 of 16 on the eight numeric keys, from a test build of Astro 7.4.5. It also does not negotiate markdown from static output alone. Astro: By default, Astro pages, routes and API endpoints are prerendered at build time as static pages, and on-demand rendering is opt-in.

rubric.txt astro

initial_html_by_default  = 2
real_status_codes        = 1
llms_txt_generation      = 0
llms_txt_linking         = 0
markdown_negotiation     = 0
jsonld_output            = 1
openapi_exposure         = 0
fenced_code              = 2
total                    = 6 of 16

Test build of 7.4.5, 2026-11-04.

Astro Framework, Astro

Content framework that prerenders every page to static HTML by default; agent files are integrations or hand-written endpoints.

Work left to the developer: Medium: add a 404 page, write llms.txt and any markdown endpoints, link the file, and add the host rules for 404 and Accept.

The nine scores

KeyScoreEvidenceSource
Content in the initial HTML2, on by defaultTest build, Astro 7.4.5, 2026-11-04: the minimal template put the H1 and body text in the home page HTML.docs.astro.build/en/concepts/why-astro, 2026-11-04
Real status codes1, with setupTest build: a made-up path returned 404 from astro preview, but the build wrote no 404.html; a custom 404 page has to be added to src/pages and the host has to serve it with status 404.docs.astro.build/en/basics/astro-pages, 2026-11-04
llms.txt generation0, not offeredTest build: no llms.txt, robots.txt or sitemap in dist/. Astro has no first-party llms.txt feature; a file or endpoint is written by hand.docs.astro.build/en/guides/endpoints, 2026-11-04
llms.txt linking0, not offeredTest build: no page links an llms.txt and none exists.docs.astro.build/en/guides/endpoints, 2026-11-04
Markdown on request0, not offeredTest build: Accept: text/markdown on / returned text/html and /index.md returned 404. The default output is static files, so negotiation has to live in the host or an edge rule; with an adapter in server mode Astro could answer it itself, as Nuxt does.docs.astro.build/en/guides/on-demand-rendering, 2026-11-04
JSON-LD output1, with setupTest build: no JSON-LD emitted. A script element with type application/ld+json can be written into a layout.docs.astro.build/en/basics/astro-pages, 2026-11-04
OpenAPI exposure0, not offeredTest build: no OpenAPI file or link; Astro has no first-party feature for one.docs.astro.build/en/guides/endpoints, 2026-11-04
Fenced, tagged code2, on by defaultTest build: the fence in a Markdown page became pre with data-language="js" from Shiki, with no setup.docs.astro.build/en/guides/markdown-content, 2026-11-04
Work left to the developerMedium: add a 404 page, write llms.txt and any markdown endpoints, link the file, and add the host rules for 404 and Accept. Based on the test build above and the documentation pages cited for each key.docs.astro.build/en/basics/astro-pages, 2026-11-04

Test build

Astro 7.4.5, built on 4 November 2026. npm create astro with the minimal template, one index page, one Markdown page with a fenced js block, astro build, astro preview. What it emitted:

  • The home page HTML held the H1 and body text.
  • dist/ held index.html, guide/index.html and a favicon; no llms.txt, no robots.txt, no sitemap, no 404.html.
  • A made-up path returned 404 from the preview server; a 404.html would need src/pages/404.astro.
  • Accept: text/markdown on / returned text/html; /index.md returned 404.
  • The Markdown page's fence became pre with data-language="js" (Shiki).
  • The page carried neither JSON-LD nor a markdown alternate link nor an OpenAPI file.

Scoring rules for every key are on the method page.

What the documentation says

Each statement below carries its source and the date read. Statements a vendor makes about itself are labelled as vendor claims.

  • By default, Astro pages, routes and API endpoints are prerendered at build time as static pages, and on-demand rendering is opt-in. [primary source] source, read 4 November 2026.
  • A route opts out of prerendering with export const prerender = false. [primary source] source, read 4 November 2026.
  • docs.astro.build/llms.txt returned 404 on 2026-11-04, and astro.build/llms.txt returned a 302. [primary source] https://docs.astro.build/llms.txt (404 on the read date), read 4 November 2026.
  • In the crawl, 110 home pages declared an Astro generator tag (edition 2026-11-04). [primary source] source, read 4 November 2026.

What it does not do

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

Compare and replace

Sources

  1. Astro: on-demand rendering https://docs.astro.build/en/guides/on-demand-rendering/, read 4 November 2026
  2. docs.astro.build https://docs.astro.build/llms.txt (404 on the read date), read 4 November 2026
  3. The crawl dataset (this site) https://agentreadyhtml.com/data/, read 4 November 2026
  4. docs.astro.build https://docs.astro.build/en/concepts/why-astro/, read 4 November 2026
  5. docs.astro.build https://docs.astro.build/en/basics/astro-pages/, read 4 November 2026
  6. docs.astro.build https://docs.astro.build/en/guides/endpoints/, read 4 November 2026
  7. docs.astro.build https://docs.astro.build/en/guides/markdown-content/, read 4 November 2026
  8. astro.build https://astro.build/, read 4 November 2026

Last reviewed 4 November 2026