Skip to content
Methodology

Content negotiation (text/markdown)

ia.markdown-negotiation · 1.7

Read MAY Measured study AR-READ-09

Why it matters

AI agents fetch pages programmatically and benefit from machine-readable formats. Serving Markdown via Accept: text/markdown allows agents to consume structured content without HTML parsing overhead, saving up to 80% of tokens while preserving headings, links, and emphasis.

How to fix it

Return Markdown when a request sends Accept: text/markdown, and add Vary: Accept.

  1. Generate a Markdown version of each content page.

  2. Return the Markdown version with Content-Type text/markdown when the Accept header asks for it.

  3. Add Vary: Accept so that caches keep the two formats apart.

    Content-Type: text/markdown; charset=utf-8
    Vary: Accept

Verify

curl -s -o /dev/null -w '%{content_type}\n' -H 'Accept: text/markdown' https://{domain}/

Expected: text/markdown

Run a new scan for this checkpoint:

isagentready results {domain} --checkpoint ia.markdown-negotiation
Details Mapping, lifecycle and references