---
title: "Vercel markdown handling: agent readability profile: Agent Ready HTML"
description: "Vercel markdown scores 8 of 16 on the read-layer rubric: initial HTML, status codes, llms.txt, markdown, JSON-LD, OpenAPI and code. Read 2026-11-04."
canonical: https://agentreadyhtml.com/platforms/vercel-markdown/
site: "Agent Ready HTML"
last_updated: 2026-11-04
section: "Platforms"
---

# Vercel markdown handling: agent readability profile: Agent Ready HTML

> Vercel markdown scores 8 of 16 on the read-layer rubric: initial HTML, status codes, llms.txt, markdown, JSON-LD, OpenAPI and code. Read 2026-11-04.

Source: https://agentreadyhtml.com/platforms/vercel-markdown/
Site: Agent Ready HTML
Last reviewed: 2026-11-04

# Vercel markdown handling: what an agent reads

In short

Vercel markdown does not convert arbitrary HTML at the platform edge as a setting. Vercel markdown totals 8 of 16 on the eight numeric keys, from cited documentation read 4 November 2026. It also does not generate llms.txt. Vercel markdown: Vercel updated its blog and changelog to support content negotiation, so Accept: text/markdown on the same URL returns markdown.

**rubric.txt** vercel-markdown

```text
initial_html_by_default  = 2
real_status_codes        = 1
llms_txt_generation      = 0
llms_txt_linking         = 1
markdown_negotiation     = 1
jsonld_output            = 1
openapi_exposure         = 1
fenced_code              = 1
total                    = 8 of 16
```

Read 2026-11-04. Documentation, not a test build.

**Vercel markdown handling** Edge or plugin product, Vercel

Vercel serves its own blog, changelog and docs as markdown on Accept: text/markdown and publishes the Next.js recipe; it is a pattern, not a toggle.

Work left to the developer: Medium: write the rewrite and handler and keep markdown in sync with pages.

## The nine scores

| Key | Score | Evidence | Source |
| --- | --- | --- | --- |
| Content in the initial HTML | 2, on by default | Recipe assumes server-rendered Next.js pages. Not test-built: it needs a Vercel account to deploy; the Next.js build tests the same rewrite pattern locally. Score from the documentation page cited, read 2026-11-04. | vercel.com/blog/making-agent-friendly-pages-with-conten…, 2026-11-04 |
| Real status codes | 1, with setup | Guide recommends real 404s and 429 with Retry-After; enforcement is the developer's. Not test-built: it needs a Vercel account to deploy; the Next.js build tests the same rewrite pattern locally. Score from the documentation page cited, read 2026-11-04. | vercel.com/kb/guide/make-your-site-readable-by-ai-agents, 2026-11-04 |
| llms.txt generation | 0, not offered | Not a product feature. Not test-built: it needs a Vercel account to deploy; the Next.js build tests the same rewrite pattern locally. Score from the documentation page cited, read 2026-11-04. | vercel.com/kb/guide/make-your-site-readable-by-ai-agents, 2026-11-04 |
| llms.txt linking | 1, with setup | Guide recommends linking from footer or link rel alternate. Not test-built: it needs a Vercel account to deploy; the Next.js build tests the same rewrite pattern locally. Score from the documentation page cited, read 2026-11-04. | vercel.com/kb/guide/make-your-site-readable-by-ai-agents, 2026-11-04 |
| Markdown on request | 1, with setup | A recipe the developer implements. Not test-built: it needs a Vercel account to deploy; the Next.js build tests the same rewrite pattern locally. Score from the documentation page cited, read 2026-11-04. | vercel.com/blog/making-agent-friendly-pages-with-conten…, 2026-11-04 |
| JSON-LD output | 1, with setup | Guide recommends JSON-LD with facts repeated in visible text. Not test-built: it needs a Vercel account to deploy; the Next.js build tests the same rewrite pattern locally. Score from the documentation page cited, read 2026-11-04. | vercel.com/kb/guide/make-your-site-readable-by-ai-agents, 2026-11-04 |
| OpenAPI exposure | 1, with setup | Guide recommends a linked openapi.json. Not test-built: it needs a Vercel account to deploy; the Next.js build tests the same rewrite pattern locally. Score from the documentation page cited, read 2026-11-04. | vercel.com/kb/guide/make-your-site-readable-by-ai-agents, 2026-11-04 |
| Fenced, tagged code | 1, with setup | Guide recommends fenced, language-tagged code. Not test-built: it needs a Vercel account to deploy; the Next.js build tests the same rewrite pattern locally. Score from the documentation page cited, read 2026-11-04. | vercel.com/kb/guide/make-your-site-readable-by-ai-agents, 2026-11-04 |
| Work left to the developer |  | Medium: write the rewrite and handler and keep markdown in sync with pages. Recipe, not toggle. Not test-built: it needs a Vercel account to deploy; the Next.js build tests the same rewrite pattern locally. Score from the documentation page cited, read 2026-11-04. | vercel.com/blog/making-agent-friendly-pages-with-conten…, 2026-11-04 |

## Test build

Not test-built: the scores above come from the documentation pages cited in each row, read 4 November 2026, because the platform needs an account or a paid plan. The reason is in each evidence cell.

## 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.

-   Vercel updated its blog and changelog to support content negotiation, so Accept: text/markdown on the same URL returns markdown. \[primary source, 2026-02-03\] [source](https://vercel.com/blog/making-agent-friendly-pages-with-content-negotiation), read 4 November 2026.
-   The implementation is a rewrite in next.config.ts that detects the Accept header and a route handler that returns markdown with a markdown content type. \[primary source\] [source](https://vercel.com/blog/making-agent-friendly-pages-with-content-negotiation), read 4 November 2026.
-   Vercel argues negotiation beats separate .md URLs because it needs no site-specific knowledge. \[vendor claim\] [source](https://vercel.com/blog/making-agent-friendly-pages-with-content-negotiation), read 4 November 2026.
-   The Vercel and Ora guide recommends Content-Type: text/markdown; charset=utf-8 and Vary: Accept, and HTML with the right type when markdown is unavailable. \[primary source, 2026-08-28\] [source](https://vercel.com/kb/guide/make-your-site-readable-by-ai-agents), read 4 November 2026.
-   vercel.com answered Accept: text/markdown with text/markdown on 2026-11-04, and vercel.com/llms.txt was 5,397 bytes. \[primary source\] [source](https://vercel.com/llms.txt), read 4 November 2026.

## What it does not do

-   Does not convert arbitrary HTML at the platform edge as a setting.
-   Does not generate llms.txt.

## Compare and replace

-   [Vercel markdown handling against Cloudflare Markdown for Agents](https://agentreadyhtml.com/compare/cloudflare-markdown-for-agents-vs-vercel-markdown/)
-   [Alternatives to Vercel markdown handling](https://agentreadyhtml.com/platforms/vercel-markdown/alternatives/)
-   [Vercel: vendor profile](https://agentreadyhtml.com/vendors/vercel/)
-   [Vercel markdown handling home page](https://vercel.com/blog/making-agent-friendly-pages-with-content-negotiation)

## Sources

1.  [Vercel: Making agent-friendly pages with content negotiation](https://vercel.com/blog/making-agent-friendly-pages-with-content-negotiation) https://vercel.com/blog/making-agent-friendly-pages-with-content-negotiation, read 4 November 2026
2.  [Vercel and Ora: Make your site readable by AI agents](https://vercel.com/kb/guide/make-your-site-readable-by-ai-agents) https://vercel.com/kb/guide/make-your-site-readable-by-ai-agents, read 4 November 2026
3.  [vercel.com](https://vercel.com/llms.txt) https://vercel.com/llms.txt, 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/).
