Guide

How to add llms.txt to your website (with examples)

Google's own docs say llms.txt does nothing for AI Overviews. Google also added an llms.txt check to Lighthouse. Both are true, and the reason why is the useful part.

· 9 min read

01What llms.txt actually is

llms.txt is a plain-text file you put at the root of your domain—yoursite.com/llms.txt—that tells a large language model what your site is and which pages matter. It was proposed by Jeremy Howard of Answer.AI in September 2024 and the convention is documented at llmstxt.org.

The format is Markdown and deliberately simple: an # heading with your site name, a > blockquote summarising what you do, then ## sections of links where every link carries a short annotation explaining what’s behind it.

The reason it exists is context windows. A crawler indexing your site can afford to fetch every page and sort it out later. A model answering a question right now cannot—it has a budget, and your navigation, cookie banner, and JavaScript-rendered layout all spend it. llms.txt is the editor’s cut: here is what this site is, here are the twenty pages worth reading, here is what each one covers.

02Does llms.txt affect Google AI Overviews?

No—and it’s worth being blunt about that, because most articles on this topic imply otherwise.

Google’s guidance on optimizing for generative AI features states that you don’t need to create llms.txt files to appear in Google Search’s generative AI capabilities, because Google Search doesn’t use them. It goes further: creating one will neither harm nor help your visibility or rankings, because Google Search ignores it. John Mueller said the same thing in September 2025.

What llms.txt won’t do

  • Improve your rankings in Google Search
  • Get you into AI Overviews or AI Mode
  • Make ChatGPT, Perplexity, or Gemini start recommending you
  • Substitute for content, schema, or crawler access

What it can do

  • Help AI agents understand your site without crawling all of it
  • Give developer tools a clean map of your documentation
  • State plainly what your business is and does, in your words
  • Cost you nothing in search, by Google’s own confirmation

If a vendor tells you llms.txt will get you into AI Overviews, that claim contradicts Google’s published documentation.

03Then why did Google add an llms.txt check to Lighthouse?

Because ranking isn’t the only thing Google cares about. On 20 May 2026, Google added an Agentic Browsing audit category to Chrome Lighthouse. One of its checks is whether a site has a llms.txt file—what Google’s documentation describes as “the presence of a machine-readable summary at the domain root.”

Google’s stated reasoning is efficiency: without llms.txt, agents may spend more time crawling a site just to work out its high-level structure and primary content.

So the two positions aren’t contradictory, they’re about two different audiences. Google Search ranking: irrelevant. AI agents operating your site: useful enough that Google now audits for it. Mueller framed the value as discovery and functionality—helping agents find and use a site—rather than search optimization. That distinction is the whole point, and almost nobody writing about llms.txt makes it.

04Who actually reads llms.txt today

As of mid-2026, no major consumer AI search product has publicly confirmed that it consumes llms.txt to answer user questions. That includes ChatGPT search, Perplexity, Google AI Overviews and AI Mode, Gemini, Copilot, and Claude’s search. Anyone telling you otherwise is guessing.

The tools that do read it are, for now, agent- and developer-facing:

Coding agents & IDEsCursor and Windsurf use it for documentation lookup, so a library’s llms.txt shapes how well an assistant can use that library.
AnthropicRecommends llms.txt in its guidance on writing for agents, and publishes one.
OpenAIUses it for the Agents SDK and the Agentic Commerce Protocol—agent tooling, not ChatGPT search.
AI visibility trackersThird-party crawlers used by AEO/GEO monitoring vendors, including the one behind our own scorecard.

That list is narrower than the hype suggests and broader than “nobody.” It also points in an obvious direction: the audience for llms.txt is agents, and the number of agents visiting websites is going one way.

05Only 22% of sites have one

We run an AI readiness audit that checks, among other things, whether a site serves llms.txt. Across 86 completed audits:

22%

have an llms.txt file (19 of 86)

71%

declare a sitemap in robots.txt

17%

have no structured data at all

One caveat worth stating plainly: this sample is self-selected. These are businesses that chose to run a free AI visibility scorecard, so they skew more engaged with this topic than average, not less. The real adoption rate across the web is almost certainly lower than 22%.

The useful comparison is the sitemap number. Nearly three quarters of these sites declare a sitemap—a convention that took years to become table stakes. llms.txt is roughly where sitemap.xml was two decades ago: cheap, uncontroversial, and mostly absent.

06How to create an llms.txt file

Thirty minutes, five steps.

1Pick 10–25 pagesThe ones that actually explain what you do. Not every page—curation is the entire value.
2Write the headerAn # H1 with your site name, then a > blockquote that answers “what is this and who is it for?” in two or three sentences.
3Group the links under ## headingsGuides, Products, Documentation, Contact—whatever matches your site.
4Annotate every single linkA colon and a sentence describing what’s behind it. A bare list of URLs is barely better than a sitemap.
5Serve it at /llms.txt as text/plainNot HTML. Then confirm it in a browser—plenty of sites return their 404 page here with a 200 status.

A minimal starter you can adapt:

# Acme Plumbing

> Acme Plumbing is a licensed residential plumbing company serving
> Denver, Colorado since 1998. We handle emergency repairs, water
> heater replacement, and repiping for homeowners.

## Services

- [Emergency plumbing repair](https://acme.example/emergency): 24/7 callout for burst pipes, leaks, and blocked drains across metro Denver.
- [Water heater replacement](https://acme.example/water-heaters): Tank and tankless installation, including sizing guidance and rebate help.

## About

- [About Acme](https://acme.example/about): Company history, licensing, and the service area we cover.
- [Contact](https://acme.example/contact): Phone, address, and hours.

That’s a complete, valid llms.txt. The annotations are doing the work.

07A real example, annotated

Here’s the opening of our own llms.txt, which you can read in full:

# JEMSU AI Visibility

> AI Visibility is JEMSU's service for getting a business discovered
> and recommended inside AI-generated answers — Google AI Overviews,
> Google AI Mode, ChatGPT, Claude, and Gemini — rather than only
> ranking in traditional search results.

## Guides

- [Generative Engine Optimization (GEO): the complete guide](/geo): How generative engines retrieve and cite sources, GEO vs AEO vs SEO compared, and platform-by-platform notes.

Three choices in there worth copying:

  • The summary says what the service is, not how great it is. A model reading marketing adjectives learns nothing it can repeat accurately.
  • Every link is annotated with what it covers, in enough detail that a model could decide whether to fetch it.
  • It’s generated from one source module, not hand-edited. Ours is built from a single TypeScript file that also produces llms-full.txt, so the two can’t drift apart when a page changes.

That last point matters more than it sounds. The most common failure mode for these files isn’t writing a bad one—it’s writing a good one and letting it go stale.

08What’s the difference between llms.txt and llms-full.txt?

llms.txt is the index. llms-full.txt is the content.

The index is a curated map: a summary plus annotated links, small enough to read in full before deciding what to fetch. llms-full.txt is the actual prose of that content in one file, so a model can answer from it without making twenty separate requests.

Most sites only need the index. Add llms-full.txt when your content is genuine reference material someone would want loaded in full—documentation, API references, a technical handbook. For a ten-page service business it’s overkill.

09llms.txt vs robots.txt vs sitemap.xml

These three get lumped together as “the text files at your domain root,” but they do unrelated jobs:

 robots.txtsitemap.xmlllms.txt
AnswersWhat may you crawl?What pages exist?What is this site, and what matters?
AudienceAll crawlersSearch engine crawlersModels and AI agents
FormatDirectivesXMLMarkdown
Respected by Google SearchYesYesNo—explicitly ignored
Skipping it costs youControl over crawlingDiscovery of deep pagesAgent efficiency, not rankings

robots.txt is the one with teeth. If you’re only going to fix one file, fix that one—a Disallow aimed at GPTBot or ClaudeBot does real damage that no llms.txt offsets. See our GEO guide for how crawler access fits the bigger picture.

10Five mistakes that make llms.txt useless

  • Serving HTML from it. Many frameworks answer unknown paths with a catch-all page, so /llms.txt returns your 404 markup with a 200 status. Our own scanner treats an HTML body here as no file at all, and so should you.
  • Letting it drift.A file listing last year’s pages is worse than none— it actively misinforms. Generate it from the same source as your navigation or sitemap if you can.
  • Linking to pages that 404. Check every URL. This is the single most common defect we see.
  • Skipping the blockquote summary. That summary is the highest-value line in the file, and it’s the one most often missing.
  • Dumping every URL on the site. If it lists everything, it says nothing. You already have a sitemap for completeness.

11Is llms.txt worth adding?

Yes—with a precise reason, because the usual reasons given for it are wrong.

It takes about thirty minutes. Google has explicitly confirmed there’s no ranking downside. And it genuinely helps AI agents and developer tools understand your site, an audience that is growing fast and that Google now audits for in Lighthouse. Add it as agent infrastructure.

What it won’t do is move your visibility in AI Overviews or make ChatGPT start naming your business. If that’s the goal, the work is elsewhere: making sure AI crawlers aren’t blocked, marking up your entity and content with schema, building the off-site mentions engines repeat, and actually measuring whether you get named.

For what it’s worth, that’s how we weight it ourselves. Our audit scores llms.txt under crawler access and structured data—the pillars about whether machines can read your site. It contributes nothing to the pillar that measures whether AI engines actually name you, because that’s measured by running real prompts against five engines and counting. Those are different questions, and conflating them is how this topic gets oversold.

Want to know where you actually stand?

Our free scorecard checks whether ChatGPT, Claude, Gemini, and Google AI name your business — and audits crawler access, schema, and llms.txt while it’s there. Results in a few minutes.

Run the free scorecard