Skip to content

AI Visibility

Does llms.txt Work? We Checked 537 SaaS Sites Against Google AI Mode

What is llms.txt, and does it get you cited by AI? Half of 537 B2B software vendors already publish one. In 80 Google AI Mode answers, 24% of vendors with an llms.txt were cited against 22% without, and the gap disappeared once we controlled for site size. Full dataset included.

Most of what ranks for "llms.txt" right now is opinion. Some posts say it is the robots.txt of AI and every site needs one. Others quote Google saying it does nothing. Almost none of them check whether sites that publish one get cited by AI answers more often than sites that don't.

So I checked. I took 537 B2B software vendors, fetched each one's /llms.txt, and asked Google AI Mode 80 software category searches to see which vendors it cited. I wrote the method down before collecting anything, including the size control, because big sites are both more likely to try new things and more likely to get cited.

The short answer: in this sample, an llms.txt made no measurable difference to AI Mode citations. Site size made a large one.

The run behind the numbers
537
B2B software vendor sites
268
with a valid llms.txt
80
Google AI Mode answers
708
cited links, 0 of them an llms.txt

llms.txt fetched and AI Mode answers collected on 15 October 2026, US English. Vendors came from Google results for 80 searches across 20 software categories.

Download the dataset (CSV, 537 rows): one row per vendor, with its category, Tranco rank, what /llms.txt and /llms-full.txt returned, file size, link count, and how many of the 80 answers cited or named it.

What llms.txt is

The proposal lives at llmstxt.org. Jeremy Howard published it on 3 September 2024, and the page has been revised since (it now calls itself v2). The idea is a Markdown file at the root of your site that tells a language model what the site is and where the useful pages are, so it does not have to dig through navigation, cookie banners and scripts.

The format is loose. In order, the spec allows:

  • an H1 with the name of the project or site, which it calls "the only required section"
  • a blockquote with a short summary
  • any number of paragraphs or lists, but no headings
  • any number of H2 sections, each a list of links written as [name](url) with optional notes after a colon
  • an H2 called "Optional" for links a model can skip when it is short on context

The spec also asks sites to serve a clean Markdown copy of each page at the same URL with .md added. And Howard is explicit about the use case: he expected llms.txt "would mainly be useful for inference rather than training", meaning a model reading your site while it answers a question, not a crawler building a dataset.

A minimal file looks like this:

markdown
# Acme Analytics

> Acme Analytics is product analytics for B2B SaaS teams: event tracking, funnels and retention reports.

## Product
- [Pricing](https://acme.example/pricing): plans, limits and what each includes
- [Integrations](https://acme.example/integrations): Segment, HubSpot, Salesforce

## Docs
- [Quickstart](https://acme.example/docs/quickstart.md): install the SDK and send a first event

## Optional
- [Changelog](https://acme.example/changelog)

Real files vary a lot. PostHog's opens with a summary of its products and then a section titled "Instructions for AI Coding Assistants" that tells a model which setup command to recommend. That is the use case where llms.txt makes the most sense to me: a coding assistant reading developer docs in the middle of a task.

Who says they read it

I kept to primary sources here, and the list is short.

Google says it does not use it for Search. Its guide to optimizing for generative AI features (last updated 10 July 2026) says: "You don't need to create new machine readable files, AI text files, markup, or Markdown to appear in Google Search (including its generative AI capabilities), as Google Search itself doesn't use them." It adds that it is "completely fine" to keep an llms.txt "for other services or systems that use these files." The separate page on AI features and your website says the same about AI Overviews and AI Mode.

OpenAI's bots page describes OAI-SearchBot, GPTBot, ChatGPT-User and OAI-AdsBot and how to control each one in robots.txt. It does not say any of them reads llms.txt. The page itself links to OpenAI's own llms.txt as an index of its docs, which tells you OpenAI publishes one, not that its crawlers fetch yours.

Anthropic's crawler article (updated 7 April 2026) describes ClaudeBot, Claude-User and Claude-SearchBot. It does not mention llms.txt.

I did not find a statement from Perplexity or xAI either way, so I am not claiming anything about them.

Because Google says it ignores the file, Google AI Mode is a fair place to test the claim. If sites with an llms.txt were cited more there, something other than the file would have to explain it.

What I ran

The method, briefly, so you can check it against the CSV.

The sample. I picked 20 B2B software categories (CRM, help desk, payroll, observability, e-signature, data integration and so on) and four common searches for each, like "crm software", "best crm software", "crm for small business" and "crm system". DataForSEO's SERP competitors data gave me the domains that rank in Google for those 80 searches. I kept only companies that sell business software on their own domain and dropped review sites, media, listicle publishers, marketplaces, agencies, banks, open-source projects without a company behind them, and subdomains. That left 537 vendors. I dropped 442 domains this way. Every vendor is in the CSV, labelled with the category whose searches sent it the most estimated traffic.

The file check. On 15 October 2026 I requested https://<domain>/llms.txt and /llms-full.txt for every vendor with curl, following redirects, a 10-second timeout and a normal Chrome user agent. A file counted as valid if it returned HTTP 200, was not an HTML page, and its first line started with "# ", the H1 the spec requires.

The outcome. I sent the same 80 searches to Google AI Mode the same day (US, English, desktop) and kept every link in every answer. A vendor counted as cited if any answer linked its domain or a subdomain. As a second outcome I counted whether the answer text named the brand, which only works for brand names that are not ordinary words, so 55 vendors such as Close, Front and Monday are left out of that one.

The size control. I banded every vendor by its rank in the Tranco list (list ID N26XW), a research ranking of the top million sites: top 10k, 10k to 100k, 100k to 1M, and not in the top million. Then I compared vendors with and without llms.txt inside each band.

Half of the vendors already have one

268 of the 537 vendors (50%) served a valid llms.txt. Another 30 served a text file that breaks the spec, mostly because an SEO plugin put a "Generated by" line above the H1, and a few that are something else entirely: one is a set of robots.txt rules saved under the wrong name, one is a Rich Text document from a Mac text editor, and two only say where the sitemap is. 18 answered with an HTML page and status 200 (a redirect to the homepage, a styled "not found" page, or an app shell), and 221 had nothing.

Share of B2B software vendors with a valid llms.txt, by site size
Tranco top 10k53
Tranco 10k-100k45
Tranco 100k-1M50
Not in Tranco top 1M56
All 537 vendors50

% of vendors serving a spec-valid /llms.txt. Fetched 15 October 2026. Valid means HTTP 200, not HTML, and the first line is a "# " heading as the llmstxt.org spec requires. Size bands from the Tranco list N26XW.

Adoption barely moved with site size. The smallest vendors, outside the Tranco top million, were the most likely to have one (56%). SE Ranking reported the same flat pattern across about 300,000 domains, at a much lower overall rate of about 10%, so B2B software is well ahead of the web here.

By category it ranged from 64% of data integration vendors and 62% of observability vendors down to 30% in e-signature and 29% in accounting. Developer-facing categories led, which fits the coding-assistant use case.

The files themselves:

  • Median size was 13.5 KB. 45 files were over 100 KB and the largest was about 8 MB, which no model is going to read in one go.
  • The median file had 56 links. 24 had none at all, and 36 had more than 500.
  • 234 of the 268 valid files had the blockquote summary and 257 had at least one H2 section.
  • 25 said they came from Yoast, All in One SEO or Rank Math. Plugin output is mostly a list of every page and post, and one I opened had a "Contact Customer Success" link with an empty URL.
  • 54 vendors (10%) also served a valid llms-full.txt. None of them lacked an llms.txt.

Did the file make a difference?

Not that I could measure. Of the vendors with a valid llms.txt, 65 of 268 (24.3%) were cited at least once in the 80 AI Mode answers. Of the vendors without one, 52 of 239 (21.8%) were. A Fisher exact test gives p = 0.53 for that gap, so it is well inside what chance produces with groups this size.

Cited at least once in Google AI Mode: with and without llms.txt

Tranco top 10k

Valid llms.txt74.0%
No llms.txt43.0%

Tranco 10k-100k

Valid llms.txt21.0%
No llms.txt33.0%

Tranco 100k-1M

Valid llms.txt13.0%
No llms.txt10.0%

Not in top 1M

Valid llms.txt6.0%
No llms.txt6.0%

All sizes

Valid llms.txt24.0%
No llms.txt22.0%

Size-adjusted odds ratio 1.17; a within-band permutation test gives p = 0.56. The two middle bands point in opposite directions.

% of vendors linked as a source in at least one of 80 answers. 268 vendors with a valid llms.txt, 239 with none (404, error or an HTML page). 30 vendors with a non-spec text file are left out here; counting them in changes nothing (23.8% vs 21.8%).

Split by size, the picture is noisier than the totals suggest, and I think it is worth showing rather than smoothing over. In the top 10k, vendors with llms.txt were cited far more often: 34 of 46 (74%) against 15 of 35 (43%). One band down, it went the other way: 15 of 72 (21%) against 26 of 78 (33%). In the two smaller bands the rates were close. Pooled across bands with a Mantel-Haenszel odds ratio, the effect is 1.17, and shuffling the llms.txt labels within each band 5,000 times produced a gap at least that large 56% of the time.

I looked hard at the top-10k gap because it is the one result someone would quote. It is not a size artifact inside the band: the median Tranco rank was 3,110 for the vendors with a file and 3,055 for those without. What does differ is who they are. The top-10k vendors without a file include Adobe, Oracle, SAP, Canva, Odoo and Jotform, large companies whose search footprint is spread over many products. The vendors with a file include Zapier, HubSpot, Zoho and Semrush, which publish a lot of "best X" content. Zapier alone was cited in 24 of the 80 answers, and all 17 distinct Zapier pages it cited were blog posts, nearly all of them "best X" lists. With 81 vendors in the band and a reversal in the next one, I would not read the 74% as an llms.txt effect, and Google's own statement that it ignores the file points the same way.

The second outcome, being named in the answer text, came out slightly the other way: 31 of 243 vendors with a file (12.8%) against 34 of 213 without (16.0%), p = 0.35. No effect in either direction.

Treating the 30 non-spec files as "has an llms.txt" changes nothing (23.8% against 21.8%).

What did predict citations: size

Vendors cited at least once in 80 Google AI Mode answers, by site size
Tranco top 10k59
Tranco 10k-100k28
Tranco 100k-1M11
Not in Tranco top 1M6

% of vendors linked as a source at least once. 80 Google AI Mode answers to software category searches, US English, desktop, 15 October 2026. All 537 vendors, with or without llms.txt.

59% of the vendors in the Tranco top 10k were cited at least once, against 28% in the next band, 11% in the one after, and 6% of vendors outside the top million. That drop is much steeper than any difference between the llms.txt groups, and it is the reason a raw comparison would mislead you if adoption had been lopsided.

One more thing from the answers. AI Mode returned 708 links across the 80 answers, 78 of which had at least one link. 293 of those links went to vendors in the sample. None of the 708 pointed at an llms.txt file.

How this fits with other studies

SE Ranking's study of about 300,000 domains found no correlation between having an llms.txt and AI citations, and its model did better on test data when the llms.txt variable was removed. It does not say which AI engines or how many prompts it used, so I cannot compare the outcome directly. Ahrefs reports that 97% of roughly 38,000 sites in its Web Analytics data with a valid llms.txt got zero requests for the file in May 2026.

This study is smaller than both and narrower: one industry, one engine, one day. What it adds is a measured outcome you can open row by row, and a size control. All three point the same way.

Where this is thin

It is one day of Google AI Mode with one answer per search. I did not test ChatGPT, Perplexity, Gemini or Claude, partly because of cost and partly because Google is the only company that has said anything clear about the file. An engine that does fetch llms.txt could behave differently, and this data cannot rule that out.

The 80 searches are short category searches, not long buying questions. They also built the sample, so every vendor already ranks for at least one of them. That keeps the groups comparable on topic but means vendors that do not rank organically are missing.

The vendor/non-vendor filter is my judgment, and the category label is where each vendor ranked best, which is noisy (Zapier lands in CRM). The brand-name outcome uses a simple text match and skips 55 vendors whose names are ordinary words. Tranco rank measures overall web popularity, not search traffic. And this is a correlation study with roughly 500 sites: it can show that a large effect is unlikely, not that the effect is zero.

Finally, I only checked whether the file exists and parses. A short, curated file and an 8 MB dump count the same here.

Should you write one?

If your goal is to be cited in Google's AI answers, the evidence here and Google's own guide say not to expect anything from it. If your goal is to be cited by other engines, nobody has published evidence that the file helps, and neither OpenAI nor Anthropic says its crawlers read it.

There are still reasons to have one. It takes an hour. If you have developer docs, coding assistants and agent tools are the readers the format was designed for, and a clean list of your docs plus .md versions of pages is useful there. CueScout publishes one too, and after this study I don't expect it to move our citations.

If you do write one, a few things from the 268 valid files:

  1. Start with the H1. 30 vendors broke the spec because a plugin put a comment line first.
  2. Write a summary someone could repeat: what you sell, to whom, and the two or three facts you would want an answer to get right, like your pricing model or the integrations you support.
  3. List the pages that answer questions, such as pricing, integrations, comparisons and docs, not every blog post. The median file had 56 links; the ones with 500 or more are sitemaps in Markdown.
  4. Serve it as plain text at the root, and check that /llms.txt does not return an HTML page with status 200. 18 vendors in the sample do that.

The free llms.txt generator drafts a file from your site, and the llms.txt checker tells you whether yours parses and what it links to. While you are at it, the AI crawler checker shows whether robots.txt blocks GPTBot, ClaudeBot or PerplexityBot, which matters more than any text file: a blocked crawler cannot cite you at all.

What did matter in this data is being the kind of site AI answers already link to. For Google that starts with ordinary search eligibility, which our study of 683 AI Overview links found overlaps with the top 10 only about a third of the time. The AI search optimization checklist covers the rest, and the Claude citation study shows how much the format of a page matters once an engine finds it.

Where CueScout fits

CueScout asks your buying questions on ChatGPT, Perplexity, Gemini, Google AI Overviews and Google AI Mode, with Claude and Grok as add-ons, and records whether each answer names you, cites you, or cites someone else. Its site audit checks llms.txt along with crawler access and schema. It is the same kind of measurement as this post, run on your questions every day, so if you add an llms.txt you can see whether anything changes for your own site instead of taking my sample's word for it.

Frequently asked questions

What is llms.txt?

A plain Markdown file served at /llms.txt that gives language models a short summary of a site and a list of links to its most useful pages. The proposal at llmstxt.org, by Jeremy Howard, dates from 3 September 2024. Only the H1 with the site or project name is required; a one-paragraph blockquote summary and H2 sections of links are optional.

Does llms.txt work?

For getting cited in AI answers, we found no evidence that it does. Across 537 B2B software vendors and 80 Google AI Mode answers, 24% of vendors with a valid llms.txt were cited at least once against 22% without one, and the gap was not significant once we compared sites of similar size. Its stated purpose is helping models read a site at inference time, which is closer to coding assistants reading developer docs than to search rankings.

Does Google use llms.txt?

Google says no. Its guide to optimizing for generative AI features says you do not need to create machine readable files, AI text files, markup or Markdown to appear in Google Search, including its generative AI features, because Google Search itself does not use them. It also says it is fine to keep an llms.txt for other services that use it.

Do ChatGPT or Claude read llms.txt?

Neither company has said so in its crawler documentation. OpenAI's bots page describes OAI-SearchBot, GPTBot and ChatGPT-User and controls them through robots.txt; it links to OpenAI's own llms.txt for its docs but does not say its crawlers read yours. Anthropic's crawler article (updated 7 April 2026) describes ClaudeBot, Claude-User and Claude-SearchBot and does not mention llms.txt.

What is llms-full.txt?

A companion file some sites publish with the full text of their documentation in one Markdown file, so a model can load it in one request. The llmstxt.org proposal does not define it; it asks for .md versions of individual pages instead. In our sample 54 of 537 vendors (10%) served a valid llms-full.txt, and every one of them also had an llms.txt.

How do I create an llms.txt file?

Write a Markdown file that starts with '# Your company name', add a one-paragraph summary as a blockquote, then H2 sections that list your most useful pages as [title](url): notes. Upload it to the root of your domain so it loads at https://yourdomain.com/llms.txt as plain text. A free generator can draft it from your sitemap and a checker can confirm it parses. Keep it short and current; a file that lists every blog post is a sitemap with extra steps.

See whether AI answers name you

CueScout tracks your buying questions on ChatGPT, Perplexity and Google’s AI answers every day (Gemini on Growth), shows which pages they cite, and turns the gaps into To-dos.