URL: /rules/ax/markdown-response

---
title: "Markdown Response"
description: "Checks whether the site serves text/markdown via content negotiation or a .md variant of the homepage"
---

Checks whether your site can return **Markdown** to an agent instead of rendered HTML — either by honoring `Accept: text/markdown` (content negotiation) on the homepage, or by exposing a `.md` variant (e.g. `/index.md`). AI agents and answer engines parse clean Markdown far more reliably than a full HTML document, so a Markdown representation is an emerging agent-experience signal alongside `llms.txt`.

| | |
|---|---|
| **Rule ID** | `ax/markdown-response` |
| **Category** | [Agent Experience](/rules/ax) |
| **Scope** | Site-wide |
| **Severity** | info |
| **Weight** | 1/10 |

<Note>This rule is a **recommendation** — it never penalizes your score. Serving Markdown is optional; the rule just surfaces whether an agent can get it.</Note>

## What it checks

The audit probes your domain root **once per crawl** (next to `robots.txt` / `llms.txt`), so the check itself does no extra network requests. It reports two signals:

- **Content negotiation** — the homepage is requested with `Accept: text/markdown`; the rule passes the signal if the response `Content-Type` is `text/markdown`.
- **`.md` variant** — `/index.md` is probed; the signal counts when it returns a Markdown content type.

If either signal is present, the site "serves Markdown for agents". Neither is required — this is purely informational.

## Solution

Give agents a Markdown representation of your key pages:

- **Content negotiation:** when a request carries `Accept: text/markdown`, return the Markdown source instead of HTML.
- **`.md` variant:** publish a `.md` version at a predictable path (e.g. `/index.md`, `/about.md`).

```http
GET / HTTP/1.1
Accept: text/markdown

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

# Example Co
Short Markdown representation of the page…
```

## Enable / Disable

### Disable this rule

```toml squirrel.toml
[rules]
disable = ["ax/markdown-response"]
```

### Disable all Agent Experience rules

```toml squirrel.toml
[rules]
disable = ["ax/*"]
```

### Enable only this rule

```toml squirrel.toml
[rules]
enable = ["ax/markdown-response"]
disable = ["*"]
```
