People looking for a supplier increasingly ask a language model rather than a search box. The model does not read the page as a person sees it; it reads what is in the HTML — navigation, cookie notices and three paragraphs of brand voice included. Out of that mixture it has to produce one sentence that is true.
llms.txt is an attempt to give that summary a template instead of leaving it to chance.
What goes in it
An llms.txt is Markdown. At the top, the name and a paragraph describing the organisation in facts. Below that, sections of links, each with a sentence saying what the page contains. No superlatives, no claims without evidence — models prefer to quote what sounds checkable.
- A summary that makes sense without the rest of the site
- The important pages, each with context rather than only a title
- Products with status, licence and domain, where there are any
- What is explicitly not true — for instance: no office outside the registered seat
That last point is the underrated one. Our file states plainly that Quavon has no office outside Rosenheim, even though the site carries pages for 38 cities. Leave it out and you hand the answer to "does this company have an office in Hamburg?" to guesswork.
What it is not
llms.txt is not a ratified standard, and no search engine has promised to read it. It replaces neither robots.txt nor structured data: robots.txt governs who may crawl, JSON-LD describes entities in machine-readable form, llms.txt summarises in prose. The three do not contradict each other; they answer different questions.
The cost is one file. The worst case is that nobody reads it.
How we handle it
We serve four files: llms.txt and llms-full.txt in German, plus the English versions. The short one summarises, the long one carries the detailed state. Both are declared in every page head as link rel="alternate" and explicitly allowed for the AI crawlers in robots.txt, so nobody has to guess where they are.