Markdown Negotiation Tester
Check whether a public URL can return a text/markdown representation when an AI agent asks for Markdown through the HTTP Accept header.
text/markdown. This is a technical accessibility signal, not an AI ranking factor.
What this tester compares
Accept: text/html, application/xhtml+xml...Accept: text/markdownA negotiated implementation should be able to serve different representations of the same resource without requiring a separate URL for the agent.
What is Markdown?
Markdown is a plain-text format for structured documents. Instead of wrapping every heading, paragraph, link and list in browser-oriented HTML elements, Markdown uses lightweight syntax such as # for headings, - for lists and simple text notation for links and code. The CommonMark specification describes Markdown as a plain-text format for writing structured documents and provides a consistent parsing model.
A Markdown representation does not have to be a physical .md file stored next to every webpage. With HTTP content negotiation, the same URL can return HTML to a normal browser and Markdown to a client that asks for it.
What is Markdown content negotiation?
RFC 9110 defines the HTTP Accept request header so a user agent can express which response media types it prefers. A server can therefore receive Accept: text/markdown and, if supported, return the requested page as Content-Type: text/markdown.
If the representation changes because of the Accept header, the response should also make that variation visible to caches. RFC 9110 defines Vary for this purpose. A response containing Vary: Accept tells an intermediary that the selected representation depended on the client's Accept header.
Why Markdown can matter for AI agents
AI agents frequently need the information in a page rather than its browser presentation layer. HTML can include navigation, scripts, style hooks, repeated interface elements and other markup that is useful to a browser but may be unnecessary for a machine retrieving the main document.
Cloudflare's Markdown for Agents documentation describes an implementation where an AI client requests text/markdown and Cloudflare converts the HTML representation into Markdown at the edge. Cloudflare states that the explicit structure and lower markup overhead can reduce wasted tokens for AI processing. Its current output also strips non-content elements such as navigation, scripts and styles, can preserve useful metadata as YAML frontmatter, and can preserve JSON-LD structured data.
That does not mean Markdown is inherently required for every agent or that HTML has become obsolete. It means a site can offer a second, machine-oriented representation of the same resource without forcing every automated client to perform its own HTML cleanup.
Why this is part of an AI-readiness strategy
Agent readiness is broader than publishing content that an LLM can read. An agent may need to discover a resource, retrieve a useful representation, understand bot policy, locate an API, discover authentication metadata, or perform an action. Markdown negotiation sits specifically in the content accessibility layer.
Use the Site Agent Readiness Checker when you want to audit the broader stack across discoverability, content accessibility, bot access control, protocol discovery and agentic commerce. Use this Markdown Negotiation Tester when you want to diagnose the content-negotiation layer in more detail.
How to interpret the output
The most important result is not the score by itself. A successful Markdown request confirms that the server can return the requested media type. Content-Type: text/markdown identifies the representation. Vary: Accept indicates that caches should treat the response as dependent on the client's media preference. A different body from the HTML request provides additional evidence that real representation selection occurred.
The response-size comparison is useful for understanding markup overhead, but it should not be confused with a universal token count. Different models tokenize text differently. When a server returns Cloudflare's x-markdown-tokens and x-original-tokens headers, the tester shows them separately rather than estimating them itself.
What a failure does and does not mean
If the URL does not return Markdown, that does not mean the site is inaccessible to AI systems. Many crawlers and agents can parse HTML successfully. It means this optional representation has not been detected for the tested URL.
Likewise, passing this test does not make content more authoritative, improve Google rankings, or guarantee that an answer engine will cite the page. Markdown negotiation solves a transport and representation problem. Content quality, relevance, authority, retrieval, indexing and platform-specific behavior remain separate concerns.
Accept: text/markdown, or open the browser-testable Markdown representation. The query-string version is sent with a noindex header so the canonical HTML page remains the search target.
Primary technical references
- IETF RFC 9110: HTTP Semantics, Content Negotiation
- IETF RFC 9110: Accept request header
- IETF RFC 9110: Vary response header
- Cloudflare: Markdown for Agents
- CommonMark Specification