Back to the blog

Blog · AI visibility (GEO)

llms.txt: The Complete Guide for Small Businesses

In short llms.txt is a text file placed at the root of your website (yoursite.com/llms.txt) that summarizes your business, your offers and your key pages for AI systems. It reduces errors when ChatGPT, Claude or Perplexity talk about you, and increases your chances of being cited correctly. It takes 15 minutes to write, or 2 with our free generator.

What is an llms.txt?

It is the equivalent of robots.txt, but for meaning rather than access. robots.txt tells crawlers where they may go; llms.txt tells AI systems what to understand and what to remember about your website: who you are, what you sell, at what price, where to find you.

It is an emerging standard, proposed in late 2024 and gradually adopted since. Not every AI engine reads it systematically yet, but the cost is so low (one text file) and the benefit so direct that "should we wait?" is not really a question: the engines that read it understand you better, the others are not bothered by it.

What it actually changes

Without an llms.txt, an AI talking about your company reconstructs your business from your pages, with the classic risks: old prices left on a forgotten page, a discontinued offer presented as current, a misread activity. With an up-to-date llms.txt, you provide the reference version, factual and dated. Three effects:

  • Fewer errors when an AI describes you to a prospect.
  • Better odds of being cited: a factual, structured summary is exactly the format AI prefers to pick up.
  • A signal of seriousness: AI visibility audits (including ours) check for its presence.

How to write it: the structure

The format is plain Markdown. A heading with your name, a one- or two-sentence description, then short sections:

# Boulangerie Martin

> Artisan bakery in Nice since 1987. Naturally leavened sourdough bread,
> house-made pastries, orders for business customers.

Sourdough bread from 3.50 EUR, corporate breakfast trays on request,
business delivery in Nice and surrounding areas. Open Tuesday to
Saturday. Contact: contact@boulangerie-martin.fr

## Key pages

- [Order online](https://www.boulangerie-martin.fr/commander): collect in store
- [Business offer](https://www.boulangerie-martin.fr/professionnels): trays and delivery
- [Find us](https://www.boulangerie-martin.fr/contact): address and opening hours

The golden rules: facts, not marketing ("since 1987" beats "a passion for excellence"), prices when they are public, and only information you are comfortable seeing an AI repeat word for word.

Does the format really matter?

Yes, and this is the most common trap: a file with the right content but the wrong structure is read as ordinary text. The llmstxt.org specification requires three things, in this order:

  1. A level-1 heading with the site name, on the first line.
  2. A summary in a blockquote (>) right after it.
  3. Then as much prose as you like, but with no headings at all. As soon as a level-2 heading appears, the section it opens must contain nothing but Markdown links, in the form - [name](address): note.

The third rule is the one almost everyone misses. A "Pricing" or "Services" section full of sentences is invalid against the specification, even though it reads perfectly well to a human. That is exactly why the example above puts the company information as prose before the first heading, and keeps its sections for link lists.

This is no longer theoretical: Google's Lighthouse audit now checks this format in its category dedicated to agents. We found out by auditing our own websites: all three failed, with zero links detected, and our own generator was producing files in the same state. Both have been fixed.

The rule of thumb fits in one sentence: all the prose before the first section heading, and nothing but link lists after it.

How to check yours in two minutes?

  • It answers. Open yoursite.com/llms.txt in a private window: you should see plain text, not a 404 page and not your website.
  • Every address it lists answers too. A dead link in a file written for AI engines is false information you are serving them yourself.
  • It says the same thing as the site. Prices, offers, opening hours: any divergence cancels the benefit, since the file existed precisely to remove the doubt.
  • It fits on one screen. If you have to scroll for a while, it has become a sitemap rather than a summary.
  • Its updates are triggered by events, not by the calendar: whenever an offer or a price changes, not "once a year".

Where to put it, and how to get it found

  1. Place the file at the root of your website: it must respond at yoursite.com/llms.txt, in the same place as your robots.txt.
  2. Add a comment line in your robots.txt to help crawlers find it: # llms.txt: https://yoursite.com/llms.txt
  3. Check that it displays correctly in a browser, as plain text.

On WordPress, Wix or Shopify, your host or a file-management plugin lets you drop a file at the root; otherwise, your webmaster does it in five minutes.

The mistakes that cost you

  • Letting it go stale. An llms.txt that lists old prices or discontinued offers does more damage than no file at all: you are supplying the wrong information yourself. Re-read it every time your offers change.
  • Filling it with superlatives. "The region's undisputed leader" is not a fact. AI cross-checks: a non-factual file loses all its reference value.
  • Putting everything in. It is a summary, not a sitemap. Five to ten lines of offers and two or three key pages are enough.
  • Contradicting the website. If the llms.txt says €90 and the pricing page says €110, you created the very doubt the file was meant to remove.

What next?

llms.txt is one of the conditions of your AI visibility, not the only one. It belongs to the second of the 4 conditions of GEO: being understandable. AI crawlers still need permission to read your website (our robots.txt and AI crawlers guide), and your content still needs to be citable.

Generate your llms.txt in 2 minutes.

Free, no email, no account: fill in the form, copy the file, drop it at the root.

Open the generator