Skip to content
AI VisibilityGEO
EN

We Asked 77 AI Visibility Vendors for Markdown. 12 Sent It, 63 Sent HTML and a 200.

Every active vendor in our catalogue asked for markdown two ways. The category ships llms.txt at four times the rate, and no incumbent serves it.

· Updated · 13 min read

Our own edge log found that in a week, no AI agent fetched a single per-page markdown twin from our site. So we asked the obvious next question about the people selling the convention: do they implement it themselves? We asked every active vendor in our verified catalogue for markdown, two different ways. 12 of 77 sent markdown. 63 sent HTML with a 200 status.

Disclosure and method: EchoWi sells AI visibility measurement, so every vendor here is a competitor in some part of what we do, and we are inside the table rather than beside it. Measured 19 August 2026. The population is every active vendor in our verified catalogue, which is a fixed public list rather than a search result that moves between passes. Each vendor got two requests: its homepage with Accept: text/markdown, and the sibling path /index.md. Every vendor that answered no to both was then asked two further paths, /docs/ and /blog/, so a no here means no on 4 paths and not a claim about the whole site. A body counts as markdown only if it is not HTML and carries a markdown structure, so a plain-text error page cannot pass. A host behind a bot challenge is its own bucket and never counted as absent. The rows are in our measurement register.


The short version

  1. 12 of 77 vendors serve markdown on their homepage, and 14 of 77 across 4 paths once documentation paths are asked. All 12 homepage servers do it by content negotiation; only 4 also publish an /index.md.
  2. 63 answered the negotiated request with HTML and a 200. A checker that reads only the status sees a pass.
  3. The category ships llms.txt at nearly four times the rate, 44 of 69 when we swept it five days earlier.
  4. Not one of the established vendors serves it. Every adopter is a newer AI-native tool.
  5. Nobody fetched ours all week, which is the measurement that prompted this one.

What came back

Vendors
Asked77
Answered a negotiated request75
Behind a bot challenge2
Served markdown by either route12
…by content negotiation12
…by an /index.md sibling4
Answered the negotiation with HTML63

The twelve: EchoWi, Writesonic, Peec AI, KIME, Cloudflare AEO, Dageno, Cognizo, AIclicks, Alhena, Limy, GetMint and LLM Pulse.

We are on that list, which is why the disclosure says we are in the table. Being in it costs nothing to admit and would cost the piece everything to hide, since anyone can send the same request to our homepage in one line.

The 200 that means nothing

The single largest group is not the vendors who serve markdown and not the vendors who refuse it. It is the 63 who answer Accept: text/markdown with a 200 and a page of HTML.

That is the normal, correct behaviour of a web server that has never heard of the convention: it ignores an Accept header it does not understand and serves what it has. Nobody is doing anything wrong. The problem is what it looks like from outside.

If you are auditing a site for agent readiness with a checklist, and your check is does the URL return 200 under Accept: text/markdown, then 63 of these 77 vendors pass a test they are failing. The status is not the answer. The body is.

This is the same failure this register keeps recording in its own instruments: a detector that reads the wrong field does not error, it agrees with itself on the wrong answer. Here it would agree with itself 63 times.

The convention gap, with a number

Five days before this sweep we asked a larger population for llms.txt and 44 of 69 vendors were shipping one. Today, 12 of 77 serve markdown.

Two conventions, the same category, roughly the same moment, and one is adopted at nearly four times the rate of the other. The reason is not mysterious and it is worth saying plainly: llms.txt is one file you write once, and markdown twins are a build step on every page. Adoption tracks cost, not belief. We later tested that at vendor level by crossing the two conventions on the same population on one day, and doing one turns out not to predict doing the other: markdown servers ship llms.txt at 62% against 57% for everyone else, a gap smaller than one vendor’s worth of movement.

Which is a useful thing to know before reading anybody’s roadmap. A vendor telling you the agent web runs on markdown, while shipping the single static file and not the build step, is telling you about their sprint board.

Practising what you preach, convention by convention

This register has asked the same question of this category twice before, with a different convention each time, and the answers do not line up.

When we read the robots.txt of every vendor against fourteen AI crawlers, not one of them blocked a single crawler. The category that sells AI visibility does not shut AI out of its own site, and we published that as a point in its favour, next to the platforms that advice tells you to publish on, where twelve of twenty-six block at least one.

When we asked the same list for llms.txt, a clear majority shipped it.

Now we ask for markdown and it is 12 of 77.

So “does this category practise what it preaches” has no single answer, and the reason is the shape of each ask. Not blocking a crawler is a decision to leave a file alone. Publishing llms.txt is a file to write once. Serving markdown for every page is a change to how the site is built. The further a convention sits from a default, the fewer vendors have it, which sounds obvious written down and is exactly what a single “practises what it preaches” verdict would have hidden.

The useful version for a buyer is that the answer depends entirely on which convention you ask about, so ask about the one you are being sold.

The split that is actually interesting

Sort the twelve adopters against the rest and one line separates them cleanly. Not one established vendor in the catalogue serves markdown. Not Semrush, not BrightEdge, not Conductor, not Similarweb, not Surfer, not SE Ranking. Nor, among the funded AI-native names, Scrunch, Brandlight, Evertune or AirOps.

Every one of the twelve is a smaller or newer entrant, and several are among the vendors we added to the catalogue in the last two weeks.

Two readings fit and we cannot separate them here. Either the newer tools are built on stacks where this is a flag rather than a project, or the newer tools are the ones who believe the convention matters and the larger ones have looked and declined. The first is about tooling and the second is about judgement, and a request to a homepage cannot tell them apart.

The four who did both

Only 4 of the 12 publish an /index.md as well as negotiating the header, and it is the harder half: a sibling file means the build emits a second artefact for every page and keeps it in step with the first.

That number is the one to watch rather than the twelve. Negotiation can be a single rule at the edge, and one of the vendors here proves it by serving markdown only once a redirect has been followed, which is not the shape of a per-page build. A sibling file cannot be a rule at the edge. It has to come out of the build, which means somebody put it in the pipeline and somebody has to keep it correct.

We are one of the four, and the honest note to attach is that our own study of the pipeline that produces them found a defect in it this week: 307 of our 406 markdown files opened with a few words of language-switcher chrome before the heading, because the extractor took the page as it found it. Nobody had noticed, because nothing had asked for the files.

The correction: we tested our own number and it moved

The section above said the split was clean, that no established vendor serves markdown. It is not that clean, and we found out by attacking our own figure rather than waiting for somebody else to.

The first sweep asked homepages only, and said so as its own biggest weakness. So we asked the 65 vendors it recorded as a no for two more paths, /docs/ and /blog/, chosen before any vendor was inspected. 2 more serve markdown, both on /docs/, which takes the total to 14 of 77 across 4 paths.

One of the two is Profound, which this article named in the previous section as an incumbent that does not serve it. That sentence was wrong and the name has been removed from it. Its /docs/ path redirects to a documentation subdomain that answers Accept: text/markdown with markdown and opens by pointing at its own llms.txt. The other is GEO-Vantage.

And the shape of the miss is more interesting than its size. We predicted, in writing, that anyone found this way would turn out to serve markdown site-wide and that the homepage result had been a routing quirk. That is false for both. Request the same /docs/ path with Accept: text/html and you get HTML; request it with Accept: text/markdown and you get markdown. The homepage genuinely does not negotiate and the documentation genuinely does.

Which is a sensible thing to build, once you see it. The convention is being implemented where an agent would want reference material, not on the marketing page. A homepage-only sweep will undercount it, ours did by 2, and any sweep of this kind should say how many paths it asked rather than implying it asked the site.

What this is worth doing about

If you audit agent readiness, read the body. A 200 under a negotiated request is not evidence of anything. The one-line version of this whole study is curl -H 'Accept: text/markdown' https://example.com/ | head -c 200, and it separates the 12 from the 63 immediately.

Do not buy markdown twins as a measured visibility lever. We publish them, and our own week of edge logs shows no agent fetched a single one. That is one site and one week, and it is still more evidence than anyone selling it has offered.

Do publish llms.txt anyway, on the same reasoning we keep our markdown: it costs one file, it is already the majority behaviour in this category, and a convention nothing asks for today is cheap to have when something asks tomorrow. What it should not be is a line item you paid for.

What this does not show

Implementation is not demand. This counts what vendors ship. It says nothing about whether any agent wants markdown, and our own logs say that in a week none asked for ours.

One request per convention per vendor, on one day. A site can change, a redirect can move, and one of the twelve only revealed itself after the redirect was followed. Any figure here is what answered on 19 August.

Two hosts are behind a bot challenge and are counted in their own bucket rather than as absent. We know we could not read them; we do not know what they serve.

Four paths, not the site. The first sweep asked homepages only and missed 2 vendors that negotiate on /docs/, which is why the second arm exists and why the total is stated as 14 of 77 across 4 paths. A vendor could still serve markdown on a path none of the four covers.

And the detector was validated against cases whose answer we already knew before any of this was counted: our own site, which we know serves it; a large vendor we knew does not; and the one vendor whose markdown only appears once a 301 is followed. A detector that returns what you expected is the one that gets checked least.


Common Questions About Markdown for Agents

What is content negotiation for markdown?

The client sends Accept: text/markdown and a server that supports the convention returns a markdown version of the same page instead of HTML. It is the tidier of the two approaches because it needs no new URLs. The alternative is publishing a sibling file, usually /index.md, which any client can request directly. 12 of 77 vendors did the first and 4 did the second.

Does serving markdown improve AI visibility?

Nobody has published evidence that it does, us included. What we can tell you is what our own edge log says: across a week of fetches by ChatGPT-User, Claude-User and PerplexityBot, not one per-page markdown twin was requested from our site, while 11 of 13 agents did fetch the machine-readable text files. Ask anyone selling you the convention for their fetch log.

Why do 63 vendors return 200 for a markdown request?

Because that is what a web server does with an Accept header it does not implement: it serves the page it has. It is not a defect. It becomes a problem only when somebody audits with a checklist that reads the status code and not the body, at which point those 63 sites pass a test they are failing.

Should I implement it?

The cheap half is llms.txt, one file, already shipped by 44 of the 69 vendors in the sweep we ran five days earlier. The expensive half is a markdown twin of every page, which is a build step, and which 12 vendors have done. We do both and we would not defend the second as a measured lever, only as a cheap option on a convention that might matter later.

How do I check a site in one line?

curl -H 'Accept: text/markdown' https://example.com/ | head -c 200. If the first characters are <!DOCTYPE html you have your answer, whatever the status code said. That single command is the entire method of this study, run 77 times.

Are you on the list?

Yes, and the disclosure says so above the table rather than in a footnote. We serve markdown by both routes. We also publish the finding that nobody fetched ours, which is the more useful half for a reader deciding whether to spend a sprint on it.

Ask an AI about this article

Opens your assistant with this page already loaded, so you can check the numbers, argue with the method or ask what it means for you.

Perplexity and Google answer straight away. ChatGPT and Claude fill the box and wait for you to press enter, which is their behaviour and not something we can set.

Written by

Maher El Ouahabi

CTO & Co-Founder at EchoWi

Builds the software that shows brands what AI is really saying about them, then what to change so the next answer is better. Twelve engines, measured before and after.

LinkedIn Maher El Ouahabi (opens in new tab)