Agent Ready HTML

Rspress: vendor profile

In short

Rspress 2.1.0 turned SSG-MD on by default, so a default test build wrote llms.txt, llms-full.txt, a .md file per page, sitemap.xml and 404.html with no added config. Accept: text/markdown needs a host rewrite, sitemap entries stay relative until siteOrigin is set, and rspress.rs sent markdown without a Vary header.

At a glance

standards.txt rspress

llms-txt               = supports
markdown-negotiation   = partial
markdown-twin          = supports
initial-html           = supports
real-404               = supports
vary-accept            = no statement

4 supports, 1 partial or announced, 1 no statement.

Rspress Framework

Rsbuild and React static site generator that pre-renders every page to HTML and, since 2.1.0, writes llms.txt, llms-full.txt, a .md twin per page, sitemap.xml and 404.html by default; Accept: text/markdown needs a host rewrite.

Type
Framework
Operator, as the facts below state it
ByteDance (web-infra-dev team)
Home page
rspress.rs, answered HTTP 200 on 2026-11-05
Last read
5 November 2026

What it does for this layer

  • Rspress pre-renders each page into an HTML file with full content during rspress build; ssg: false switches to client rendering with an empty page container. [primary source] source, read 5 November 2026.
  • Rspress 2.1.0, announced on 2026-11-02, turns SSG-MD on by default, so production builds write llms.txt, llms-full.txt and a .md file beside each HTML page without llms: true. [primary source, 2026-11-02] source, read 5 November 2026.
  • Rspress SSG-MD renders MDX and React components straight to Markdown with a renderToMarkdownString method instead of converting finished HTML. [primary source] source, read 5 November 2026.
  • Rspress 2.1.0 writes sitemap.xml on every production build and takes siteOrigin plus base for absolute URLs, replacing @rspress/plugin-sitemap. [primary source] source, read 5 November 2026.
  • Rspress 2.1.0 changed route.cleanUrls to true, so links drop .html and the host has to serve /foo.html when /foo is requested. [primary source] source, read 5 November 2026.
  • Rspress's injectLlmsHint, on by default with SSG-MD, places visually hidden plain text near the top of each HTML page that points agents to /llms.txt and the page's Markdown URL. [primary source] source, read 5 November 2026.
  • Rspress has no server of its own to pick HTML or Markdown by Accept header; rspress.rs relies on a Cloudflare rewrite that sends Accept: text/markdown requests to the .md file. [primary source] source, read 5 November 2026.
  • Rspress 2.1.0 exposes six WebMCP tools by default, among them get_page, search_docs and navigate, for agents running in the browser. [primary source] source, read 5 November 2026.
  • @rspress/plugin-llms is kept only as a fallback for sites whose code cannot run under SSR, so SSG and SSG-MD stay off. [primary source] source, read 5 November 2026.
  • Rspress 2.0, announced on 2026-01-30, introduced built-in llms.txt generation and SSG-MD alongside a new default theme. [primary source, 2026-01-30] source, read 5 November 2026.
  • Rspress says its own website scored 100/100 in the AFDocs agent-friendly documentation evaluation. [vendor claim] source, read 5 November 2026.
  • rspress.rs returned text/markdown for Accept: text/markdown on /guide/start/introduction on 2026-11-05 but sent no Vary header with it. [observed] source, read 5 November 2026.
  • Rspress is released under the MIT License, copyright Bytedance, Inc. and its affiliates. [primary source] source, read 5 November 2026.

Test build

  • A default Rspress project (npm create rspress@2.1.0 -- --dir rspress-test --template basic --no-git; npm install; npm run build with @rspress/core 2.1.0) on 2026-11-05 wrote llms.txt, llms-full.txt, index.md, sitemap.xml and 404.html with no added config. [observed] source, read 5 November 2026.
  • Each .md file in that Rspress 2.1.0 build opened with a blockquote naming /llms.txt and /llms-full.txt, and sitemap.xml held relative loc values such as /api/commands because siteOrigin was unset. [observed] source, read 5 November 2026.
  • Under rspress preview the same build answered Accept: text/markdown on / with HTML, served the home page with status 200 for a made-up path, and put the hero title in a span with no H1. [observed] source, read 5 November 2026.

Products and plans

Plans and prices as the vendor's own pages showed them on the date read.
ProductWhat it isPriceAs ofSource
RspressStatic site generator for documentation built on Rsbuild and React.Free, open source
MIT licence, free; @rspress/core 2.1.0
2026-11-05source

Standards

The six standards this site tracks; no statement means the pages read said nothing.
StandardStatusWhat the vendor's pages saySource
llms-txtsupportsSince 2.1.0 SSG-MD is on by default and production builds write llms.txt and llms-full.txt.source
markdown-negotiationpartialRspress says it has no server to choose Markdown by Accept header; the host needs a rewrite rule, as rspress.rs does on Cloudflare.source
markdown-twinsupportsProduction builds write a .md file next to each HTML page (getting-started.html and getting-started.md).source
initial-htmlsupportsRspress enables SSG by default and pre-renders each page into an HTML file with complete content.source
real-404supportsThe SSG output listing includes 404.html, and rspress.rs returned 404 for a made-up path; rspress preview, by contrast, served the home page with 200.source
vary-acceptno statementNo statement found in the agent-friendly website post or the 2.1.0 announcement; rspress.rs sent no Vary header with its Markdown responses on 2026-11-05.none

Checks on its own site

Readings of rspress.rs, the vendor's own website, which describe that site and not the product.
ReadingResultDate
Home page requestHTTP 200; H1 in the initial HTML: yes; 708 words; 0 JSON-LD blocks2026-11-05
Request with Accept: text/markdownHTTP 200, text/markdown, Vary: accept-encoding2026-11-05
/llms.txt at the host rootHTTP 200, text/plain, 19 KB, starts with an H12026-11-05
A made-up pathHTTP 4042026-11-05
Ora score, cached45, grade D2026-08-24
Cloudflare keyless scan20, L0 Not Ready2026-11-05

What it does not do

  • Rspress builds without siteOrigin write sitemap.xml with relative loc paths, which sitemap consumers expect as absolute URLs.

Related pages on this site

Sources

  1. Rspress: home page https://rspress.rs/, read 5 November 2026
  2. Static site generation (SSG) - Rspress https://rspress.rs/guide/basic/ssg, read 5 November 2026
  3. Announcing Rspress 2.1.0 - Rspress https://rspress.rs/blog/rspress-v2-1, read 5 November 2026
  4. How to build an Agent-friendly website - Rspress https://rspress.rs/blog/agent-friendly-website, read 5 November 2026
  5. @rspress/plugin-llms - Rspress https://rspress.rs/plugin/official-plugins/llms, read 5 November 2026
  6. Announcing Rspress 2.0 - Rspress https://rspress.rs/blog/rspress-v2, read 5 November 2026
  7. llms.txt (SSG-MD) - Rspress https://rspress.rs/guide/basic/ssg-md, read 5 November 2026
  8. Rspress LICENSE https://raw.githubusercontent.com/web-infra-dev/rspress/main/LICENSE, read 5 November 2026

Last reviewed 5 November 2026