Now live across the AI ecosystem: ChatGPT GPT Store · MCP Registry · mcp.so

Signals

We crawled 14 firms AI names and 14 it ignores. The checklist barely told them apart.

By Arnav Mukherjee, founder of TofuBofu · August 11, 2026

The most common question I get from a founder holding a bad scan is some version of this: what does the other firm have that I do not? Every AEO guide in the category answers it the same way. Add Organization schema. Add LocalBusiness. Ship an llms.txt. Mark up your FAQs. Build out city pages. The list is always the same list, and it is always presented as the difference between being recommended and being invisible.

So we tested it against our own data. For each managed IT firm our scans had already measured as absent from AI vendor answers, we took the specific rival the engines named instead, in the same region, in the same category, and crawled both sites the same way on the same day. Not a firm we assumed was doing well. The firm the engine actually said the buyer should call.

Fourteen usable pairs came back. The checklist did not separate them. Twelve of the fourteen invisible firms already carried Organization markup. More of them served an llms.txt than the named firms did. More of them published pricing pages. On the axis every guide leads with, the firms nobody recommends were, if anything, slightly ahead.

How the pairs were built

The starting list came from scans we had already run: firms where the engines answered a regional buying question and never said the firm's name. For each one we took a rival that had been named in that firm's own answers, resolved it to its real website, and crawled both. Same crawler, same depth, same day.

We started with 29 pairs and kept 14. The eleven we dropped are worth a sentence, because they are their own finding. In every dropped pair one side returned almost nothing: a hard block, a timeout, or a rival that no longer exists independently. Two of the named rivals had been acquired, and their domains now redirect to the buyer's site. The engines are still recommending them by name.

Three more things you need in order to read the table honestly. The 14 invisible firms are 14 distinct companies, but the named side is only 8 distinct companies, because several of them get recommended repeatedly across a region. Our crawler reads up to 20 pages and 200 sitemap URLs and caps each page-type count at six, so every number below is a floor, not a total. And these firms were selected because they were already invisible, so this describes the invisible group, not the industry.

What the two groups actually looked like

Counted once per firm, so the repeated rivals cannot inflate anything, here is the share of each group carrying each item.

On the site
Never named (14)
Named (8)
Organization schema
86%
88%
LocalBusiness schema
57%
75%
llms.txt served
57%
50%
Pricing page published
64%
38%
Industry pages
50%
38%
City or location pages
7%
25%
Case study pages
36%
50%
Any FAQ markup
36%
63%

Share of firms carrying each item. Left column: 14 managed IT firms measured as absent from AI vendor answers. Right column: the 8 distinct firms the same engines named instead, in the same regions. Crawled August 2026, up to 20 pages per site.

Read the top of that table slowly, because it is the part that costs people money. Organization schema is the first item on almost every AEO checklist published in the last two years, and it is present on 86 percent of the firms no engine will name. It is not a differentiator. It is table stakes that both groups already cleared.

Three rows run backwards. More invisible firms serve an llms.txt than named ones. More of them publish pricing. More of them have industry pages. I am not claiming those things hurt you, and a sample this size cannot support that claim. What it does support is narrower and still useful: if your plan for getting into AI answers is to work down that list, you are about to spend a quarter acquiring properties that the firms already beating you mostly do not have.

Three pairs that make the point better than the averages do

Averages hide the cases that should change your mind. These three did mine.

1

Texas: the recommended firm fails item one

The firm the engines name across Texas carries neither Organization nor LocalBusiness markup anywhere we crawled. The firm in the same state that no engine named carries both, plus a FAQ page, plus four pricing pages, plus industry pages in two cities. On the technical checklist it wins comfortably. It is not the one getting recommended.

2

Illinois: the llms.txt goes the wrong way

One Illinois firm serves an llms.txt file. The rival the engines name instead does not. Its markup is otherwise ahead too. What the named rival has is six published, named case studies, and the invisible firm has none. Independent, specific, quotable text about work actually done beat the file that tells a crawler where to look.

3

Ontario: no gap at all

The most useful pair in the set is the one with no difference. An Ontario firm is level with or ahead of the rival being recommended over it on every axis we measured. There was nothing true to tell that founder about their website. Any tool that generated a fix list for them generated fiction, and that is a real failure mode worth knowing about before you buy one.

The one axis that moved, and how far it actually goes

Exactly one thing moved consistently in the right direction: questions published and marked up as questions. Five of the 14 invisible firms carried any FAQ markup, against five of the eight named firms. Among the sites that had it at all, the named firms had marked up roughly twice as many questions each, about 13 against about 7.

That is a thin result on a small sample and I am not going to dress it up. Nine of the 14 invisible firms had zero marked-up questions anywhere we could see, so most of what you are looking at is an absence on one side rather than a mountain on the other. But it points the same way as everything else we have measured. An engine assembling a shortlist is looking for text that already answers the question it was asked. A question written out, answered plainly, and labelled as a question is the most directly liftable form that text can take.

Notice what that is not. It is not markup as a technical property. The FAQ schema is the wrapper. The thing doing the work is that somebody sat down and wrote the answer to what a buyer asks. Our own crawl found the ceiling on this quickly: one firm has two FAQ pages and three case studies already written and published, carrying no markup at all and never saying who published them. They did the hard half and skipped the easy half.

What the checklist measures, and what the answer is assembled from

WHAT AN AUDIT CHECKS Present or absent on your domain. Both groups mostly cleared these. Organization LocalBusiness llms.txt Pricing page WHAT THE ENGINE IS LOOKING FOR Retrievable text that already answers the question it was asked. The buyer's question, written out and answered on a page Named case studies, plain answers, the specific claim only you can make. Markup is the wrapper around that text. It cannot wrap an answer nobody wrote.

See which firm the engines name instead of you

Run a free scan across six AI engines on your own buying question, and read the answers your buyers are getting, with the rival named in each one.

Get your free audit

The claim I am not going to make

There is a tempting story in this data and it does not survive contact with the sample. At pair level, the named rivals carry 54 city and industry pages against 30, and lead on that axis in five pairs against three. Read that on its own and you would publish a piece arguing that a page per question is the whole game.

Count each firm once and it falls apart. Only eight distinct companies fill those fourteen named slots, and two of them are unusually page-heavy, so the totals are mostly those two counted repeatedly. Per firm, half the invisible firms have industry pages against 38 percent of the named ones. The axis runs backwards the moment you stop double-counting.

I am including that because it is exactly the mistake I would have made reading the first summary of this crawl, and because it is the mistake most vendor research in this category is built on. A sample of eight distinct firms in one profession cannot settle anything. It can retire a bad assumption, which is what the top of the table does, and it can point at where to look next, which is what the FAQ row does. That is all it can do, and pretending otherwise would make the rest of this untrustworthy.

So what should you actually do

If your site already carries Organization markup and an llms.txt and you are still not being named, the checklist has nothing left to tell you. Four things do.

1

Read the answer before you audit the site

Ask your real buying question across several engines and read what the engine says about the firm it named instead of you. That sentence is the claim you have to be able to match. It is usually specific: a vertical, a certification, a response time, a named client. You cannot deduce it from your own HTML, and no audit tool can guess it for you.

2

Write the answer, then wrap it

Take the five questions a prospect asks you on every first call and publish the real answers, in your words, with the specifics in them. Then mark them up as FAQ data. In that order. Nine of the 14 invisible firms had nothing marked up, and several of them had nothing written either, which is the harder problem hiding behind the easy one.

3

Publish the work you have already done

Case studies were the axis where the named firms had the clearest lead in raw volume: 19 across 8 firms against 12 across 14. Most services firms have done the work and never written it down with the client, the problem and the outcome named. That is independent, specific, quotable text about you, and it is sitting in your delivery team's heads.

4

Check that your tools can actually read you

Eleven of our 29 pairs collapsed because a site returned nothing to a crawler. If a visibility tool tells you that you publish nothing and have no markup, confirm it fetched your site at all before you act. We shipped a fix for exactly this in our own product last week, after finding a site that serves both Organization and FAQ markup being reported as having neither.

The framing we keep returning to is that search rank is the floor and AI visibility is a distinct layer built on top of it. This crawl is the cleanest evidence I have that the two are genuinely separate. Both groups had real websites, valid markup and working sitemaps. They cleared the floor. What separated them, to the small extent anything did, was whether the buyer's question had ever been answered somewhere an engine could retrieve it.

That matters more every quarter. G2's 2026 research found 51 percent of B2B buyers now begin vendor research on an AI chatbot, up from 29 percent, and Forrester's 2026 study found 94 percent use AI somewhere in the buying process. SE Ranking's 2026 analysis found 71 percent of ChatGPT-cited pages carry structured data, which is the sort of number that gets quoted as a reason to go and add markup. The firms in our sample had done that. It was not enough on its own, and knowing that is worth more than another quarter spent on the checklist.

Frequently asked questions

Why does AI recommend my competitor instead of me?

Usually not because their website is better built than yours. We crawled 14 managed IT firms that six AI engines never named, against the specific rivals those same engines did name in the same regions, and compared them on the standard optimisation checklist. Organization schema was present on 12 of the 14 absent firms and 7 of the 8 named ones. An llms.txt file was more common among the absent firms than the named ones. On most of the checklist the two groups were indistinguishable. The separation was not in how the sites were built, it was in whether the site had ever answered the buyer's question in a form an engine could lift.

Does Organization schema improve AI visibility?

It is worth having and it is not a differentiator. In this sample 86 percent of the firms no engine named were already carrying Organization markup, against 88 percent of the firms that were named. The sharpest single case was a Texas firm the engines recommend that carries neither Organization nor LocalBusiness markup anywhere we crawled, while the firm in the same state that no engine named carries both. Schema makes what you have already said machine-readable. It does not create something to say, and if your pages do not answer the buying question, marking them up does not make an engine want to quote them.

Does an llms.txt file help you get cited?

In this sample it ran slightly backwards. Eight of the 14 firms absent from AI answers served an llms.txt file, against four of the eight firms the engines named. One firm we looked at serves an llms.txt that the rival being recommended over it does not. That is not evidence llms.txt hurts, and the sample is far too small to say so. It is evidence that adding the file is not what separates a named firm from an unnamed one, which matters if it is currently sitting near the top of your list because it is the easiest item to tick.

What actually separated the firms AI named from the ones it ignored?

One axis, and only one, moved in a consistent direction: questions published and marked up as questions. Five of the 14 absent firms carried any FAQ markup at all, against five of the eight named firms, and where it existed the named firms had marked up roughly twice as many questions each, about 13 versus about 7. Everything else was noise or ran the other way. That is a thin finding on a small sample and we are not going to inflate it, but it points the same direction as the rest of our data: engines repeat answers that already exist in retrievable form.

Do location pages and industry pages help AI visibility?

The pair-level view leans yes and the firm-level view does not support it, so we are calling it unproven. Across the 14 pairs the named rivals carried 54 city and industry pages against 30 for the firms nobody named, and led on that axis in five pairs against three. But only eight distinct firms fill those 14 named slots, and two of them are unusually page-heavy, so the totals double-count them. Counted once per firm, half the absent firms had industry pages against 38 percent of the named ones. Anyone telling you the city-page play is settled is reading a pair-level total without noticing the sample behind it.

Can a crawl like this prove what causes an AI citation?

No, and the design rules it out. The 14 firms were selected because our scans had already measured them as absent, so this describes the invisible group rather than a rate across the industry. The comparison is correlational, the sample is 14 pairs against 8 distinct named firms in one profession, and our crawler reads up to 20 pages and 200 sitemap URLs, so every page count is a floor rather than a total. What a null result can do honestly is kill a claim: it is no longer safe to say that the firms AI names are the ones with better-built websites, because on this evidence they mostly are not.

Why were so many sites excluded from this comparison?

Because they would not let us read them. We started with 29 matched pairs and 11 were dropped because one side returned almost nothing: outright blocks, timeouts, and in two cases a rival that had been acquired and whose domain now redirects to the buyer. That is the same failure we fixed in our own product last week, where a site that refuses a crawler was being recorded as a site with nothing on it. If your own visibility tool reports that you publish nothing, check whether it was actually able to fetch you before you act on the advice.

Sources and further reading

  • TofuBofu MSP research 2026: the multi-engine regional study that identified which firms the engines name and which they do not, before any site was crawled.
  • G2 2026 B2B buyer research: 51 percent begin vendor research on an AI chatbot, up from 29 percent, and 69 percent switched vendor based on AI.
  • Forrester B2B Buying Study 2026: 94 percent of buyers use AI somewhere in the buying process.
  • SE Ranking 2026: 71 percent of ChatGPT-cited pages carry structured data, and 65 percent for Google AI Mode.

Keep reading: FAQ schema for AI visibility, a copy-paste guide · They run HubSpot and buy Google Ads, AI still does not name them · AI visibility for MSPs