# Markdown Negotiation Tester

Test whether a URL returns text/markdown when an AI agent requests Markdown using HTTP content negotiation. Check Content-Type, Vary: Accept, representation differences and response overhead.

Canonical URL: https://www.hota.digital/t/markdown-negotiation-tester

## What this tool checks

- A browser-style HTML request to the tested URL
- An agent-style request using `Accept: text/markdown`
- Whether the Markdown request returns a successful response
- Whether the response declares `Content-Type: text/markdown`
- Whether `Vary: Accept` is present
- Whether the HTML and Markdown representations differ
- Whether the Markdown response contains useful Markdown structure
- Response-size differences and Cloudflare token headers when available

## Why Markdown can matter for AI agents

Markdown is a plain-text format for structured documents. A negotiated Markdown representation can remove browser-oriented markup while preserving headings, lists, links, code, and document structure. This can make a public page easier for automated clients to retrieve and parse, but it does not guarantee better rankings, citations, or model answers.

Markdown negotiation is one layer of AI readiness. For a broader audit, use the [Site Agent Readiness Checker](https://www.hota.digital/t/site-agent-readiness-checker).

## Primary references

- [IETF RFC 9110: HTTP Semantics and Content Negotiation](https://datatracker.ietf.org/doc/html/rfc9110#section-12)
- [IETF RFC 9110: Accept request header](https://datatracker.ietf.org/doc/html/rfc9110#section-12.5.1)
- [IETF RFC 9110: Vary response header](https://datatracker.ietf.org/doc/html/rfc9110#section-12.5.5)
- [Cloudflare: Markdown for Agents](https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/)
- [CommonMark Specification](https://spec.commonmark.org/)

## FAQ

### What does the Markdown Negotiation Tester check?

The tester requests the same public URL twice: once preferring normal HTML and once with Accept: text/markdown. It checks the HTTP status, Content-Type, Vary header, whether the representations differ, whether the Markdown response still looks like HTML, and the relative response size. It also reports Cloudflare token headers when they are present.

### What is Markdown?

Markdown is a plain-text format for writing structured documents. Headings, lists, links, code and emphasis can be represented with lightweight text syntax instead of large amounts of HTML markup. CommonMark provides a widely used specification for Markdown syntax.

### Do I need to create a separate .md file for every webpage?

No. HTTP content negotiation can serve different representations from the same URL. An agent can request text/markdown in the Accept header while a browser continues receiving text/html. Some sites also publish separate Markdown URLs, but that is a different implementation choice.

### How does HTTP content negotiation work?

RFC 9110 defines the Accept request header as a way for a user agent to express preferred response media types. A server that supports Markdown can use that preference to return text/markdown instead of text/html for the same resource.

### Why does the tool check Vary: Accept?

When a response changes based on the Accept request header, Vary: Accept tells caches that the representation depends on that header. This helps prevent a cache from serving the Markdown representation to an HTML browser, or the HTML representation to a client that requested Markdown.

### Why can Markdown be useful for AI agents?

Markdown keeps document structure explicit while removing much of the browser-oriented markup found in HTML. Cloudflare describes this as reducing unnecessary token overhead for AI systems. A cleaner representation can make retrieval and parsing simpler, but it does not guarantee better answers or citations.

### Is Markdown negotiation required for an AI-ready website?

No. Agents can and do consume HTML. Markdown negotiation is an optional content-accessibility capability. It becomes more useful when a site wants to expose a predictable, lower-overhead representation to automated clients. It should be considered alongside discoverability, bot policy, APIs, authentication and other agent-readiness layers.

### Does serving Markdown improve Google rankings or guarantee AI citations?

No. There is no published Google, OpenAI, Anthropic or other major platform ranking factor that awards visibility for serving a Markdown representation. The tool measures technical content accessibility, not search or answer-engine ranking probability.

### What does a high Markdown Negotiation Readiness score mean?

A high score means the URL successfully returns a Markdown media type when requested, signals Accept-based variation to caches, and provides a representation that is distinct from the normal HTML response. It is a Hota Digital technical heuristic, not a standards certification.

### What does response-size reduction mean?

The tool compares the bytes returned for the HTML and Markdown responses. A smaller Markdown response suggests less markup overhead for that request. It is not a model token count because tokenization varies by model. If Cloudflare x-markdown-tokens and x-original-tokens headers are present, the tool reports those separately.

### What if the server returns 406 Not Acceptable?

A 406 response means the server could not provide a representation acceptable under the request preferences. For this test, it usually means text/markdown is not supported for that URL or the server is configured to reject that media type.

### Can Markdown negotiation be implemented without Cloudflare?

Yes. The underlying mechanism is standard HTTP content negotiation. Cloudflare provides one implementation that converts HTML to Markdown at the edge, but an origin server, framework, proxy or other CDN can also return text/markdown when the client requests it.

### How is this different from the Site Agent Readiness Checker?

This tool performs a deeper test of one content-accessibility capability: Markdown negotiation. The Site Agent Readiness Checker audits a broader set of signals across discoverability, content accessibility, bot access control, protocol discovery and agentic commerce.

### What are the limitations of this tester?

The tester makes server-side HTTP requests only. It does not sign in, execute browser JavaScript, verify semantic equivalence line by line, or judge whether the Markdown is factually complete. A dynamically generated client-side Markdown workflow may therefore not be visible to this test.

