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
| Key | Score | Evidence | Source |
|---|---|---|---|
| Content in the initial HTML | 2, on by default | Test 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 codes | 1, with setup | Test 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 generation | 0, not offered | Test 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 linking | 0, not offered | Test build: no page links an llms.txt and none exists. | docs.astro.build/en/guides/endpoints, 2026-11-04 |
| Markdown on request | 0, not offered | Test 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 output | 1, with setup | Test 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 exposure | 0, not offered | Test 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 code | 2, on by default | Test 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 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. 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
- Astro against Next.js (App Router defaults)
- Astro against Nuxt
- Alternatives to Astro
- Astro: vendor profile
- Astro home page
Sources
- Astro: on-demand rendering https://docs.astro.build/en/guides/on-demand-rendering/, read 4 November 2026
- docs.astro.build https://docs.astro.build/llms.txt (404 on the read date), read 4 November 2026
- The crawl dataset (this site) https://agentreadyhtml.com/data/, read 4 November 2026
- docs.astro.build https://docs.astro.build/en/concepts/why-astro/, read 4 November 2026
- docs.astro.build https://docs.astro.build/en/basics/astro-pages/, read 4 November 2026
- docs.astro.build https://docs.astro.build/en/guides/endpoints/, read 4 November 2026
- docs.astro.build https://docs.astro.build/en/guides/markdown-content/, read 4 November 2026
- astro.build https://astro.build/, read 4 November 2026
Last reviewed 4 November 2026