---
title: Server returns markdown for Accept text/markdown
description: "Some agents prefer to ask for markdown with an Accept header rather than guess a URL. Honoring Accept lets a single canonical URL serve both HTML and markdown depending on who's asking, without forcing the agent to know the .md mirror convention."
doc_version: 0.2.0
last_updated: "2026-04-24T21:30:56.217Z"
---

## How the check decides

The check refetches the page URL with `Accept: text/markdown` and inspects the response's `Content-Type`. Passes if it contains `text/markdown` or `text/x-markdown`. Fails (with the actual content type) otherwise. Returns `error` if the request itself fails.

## How to implement it

Add a content-negotiation layer in your edge or origin server: when `Accept` includes `text/markdown`, serve the `.md` mirror's body with `Content-Type: text/markdown; charset=utf-8`. On Cloudflare Workers / Vercel Edge / Netlify Edge this is ~10 lines of code.

### Pass

```text
GET /docs/install
Accept: text/markdown

HTTP/1.1 200 OK
Content-Type: text/markdown; charset=utf-8

# Install a14y
...
```

### Fail

```text
GET /docs/install
Accept: text/markdown

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8

<!doctype html>...
```

## Sitemap

Full docs site index: [/sitemap.md](/sitemap.md).
