Markdown content negotiation
Also known as Accept: text/markdown · Markdown variant
Serving a clean Markdown representation of a page when a client requests it via the Accept: text/markdown header.
What it is
Content negotiation is the HTTP mechanism where a server returns different representations of the same URL based on request headers, chiefly Accept. Markdown content negotiation means that when a client sends Accept: text/markdown, the server responds with a token-efficient Markdown version of the page instead of full HTML. The HTML variant should advertise the alternative with a Vary: Accept header.
Why it matters
LLMs and AI agents parse Markdown far more reliably than markup-heavy HTML laden with navigation, ads, and scripts, and Markdown costs fewer tokens to ingest. Offering a Markdown variant gives answer engines a clean, unambiguous version of your content, improving the accuracy of summaries and citations.
How to verify
Run curl -s -H 'Accept: text/markdown' https://example.com/page and confirm the body is Markdown (not HTML) with a Content-Type: text/markdown response header. Compare against a normal curl without the header to verify the server actually branches on Accept, and check for a Vary: Accept header so caches behave correctly.
How to fix
Add server or edge logic that inspects the Accept header and returns a stored or generated Markdown rendering of the page with Content-Type: text/markdown and Vary: Accept. Alternatively expose a parallel .md URL (for example /page.md) linked from the HTML so agents can fetch the clean text deterministically.
Related terms
- Server-side rendering (SSR)Delivering the page's core text and markup in the initial HTML response, so it is readable without executing client-side JavaScript.
- llms.txtA Markdown file at /llms.txt that gives LLMs a curated, plain-language map of your site and links to its most important content.
- AI-crawler policyExplicit robots.txt rules for AI user agents (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) that deliberately allow or block them.
- JSON-LDJSON-LD is a JSON-based format for embedding machine-readable structured data in a page using a script type="application/ld+json" block. It is Google's recommended way to describe entities like organizations, products, and articles.
Official references
External, opens in a new tab.
Put this into practice.
Work through every check by hand and turn it into a shareable GEO Score report — or scan your site automatically in seconds.