TALECRAFTERS
← All posts
SYSTEMSSEARCH

llms.txt: What It Is, What It Is Not, and Whether You Need One

Konstantinos Chatzimichail3 min read
SYSTEMS

llms.txt is a proposed convention: a markdown file at your root that summarises what a site contains and links to its most useful pages, written for a model rather than a crawler. It is not a permissions file, it is not a sitemap, and no major system has committed to reading it. Write one anyway, for a reason that has nothing to do with whether it is read.

The proposal is simple enough to describe in a sentence. Put a file at /llms.txt containing a short description of what the site is, followed by a curated list of its most useful pages with one line each explaining what is in them. Markdown, human-readable, no schema.

The intent is that a model asked about your organisation could read one short document instead of crawling and inferring from a hundred pages of navigation, cookie banners and footer links.

What it is not

FILEAUDIENCEPURPOSEENFORCEABLE
robots.txtCrawlersWhat may and may not be fetchedBy convention only, and widely honoured
sitemap.xmlSearch indexesEvery URL, with dates and prioritiesNot a permission, an inventory
llms.txtLanguage modelsWhat the site is and which pages matterNo commitment from anybody
Three files that get confused with each other

The distinction that matters most: llms.txt grants nothing and forbids nothing. If you want to control training or crawling, that conversation belongs in robots.txt directives and in whatever opt-out mechanisms the relevant operators publish. Putting a licence statement in llms.txt is theatre.

Does anything read it?

The honest answer as of writing is: not demonstrably, at least not by the systems that matter most. Adoption on the publishing side has grown steadily; commitments on the consuming side have not followed. Anyone telling you it is a ranking factor is inventing that.

That is an argument against building a project around it. It is not an argument against writing one, because the file has a second use that does not depend on any model reading it.

The second use, which is the real one

Writing an llms.txt forces you to answer, in one page, what your site is for and which twenty pages actually matter. Almost every site fails that exercise the first time. You discover that four of the twenty do not exist, that two of them say the same thing, and that the sentence describing the company is different from the one in the footer, which is different again from the one in the meta description.

Fixing those is worth the hour regardless of whether a model ever fetches the file, because those inconsistencies are also what any system infers from when it composes an answer about you.

What to put in one

  1. One H1 with the organisation’s name and a blockquote of one sentence saying what it does. Use the same sentence everywhere else on the site.
  2. A short paragraph of context: where you are, what you make, who for. Facts a model can attach to an entity.
  3. Sections by page type, not by navigation label. Services, case studies, reference, definitions, writing.
  4. One line per page: the title as a link, then what is in it. Not marketing copy — a description.
  5. Numbers where you have them. Counts, dates, published figures. This is the material that gets quoted.
  6. A contact route and the canonical URLs for the organisation’s profiles.

Keep it under a few thousand words. The point is that it is cheaper to read than the site; a file that is not cheaper to read than the site has no reason to exist.

What to do instead, if you only do one thing

If the choice is between an llms.txt and getting your structured data right, choose the structured data. Organisation markup with consistent naming, Article nodes with real authors and dates, DefinedTerm on your definitions, and breadcrumbs that match the URLs are all read by systems that have committed to reading them.

llms.txt is a reasonable bet with a low stake. Schema is not a bet.

Why consistent naming across a site does more for machine comprehension than any single file can.

ENTITY GRAPH, DEFINED

Questions people actually ask

What is llms.txt?

A proposed convention: a markdown file at a site’s root containing a short description of what the site is and a curated list of its most useful pages with one line each. It is written to be read by a language model rather than by a crawler.

What is the difference between llms.txt and robots.txt?

robots.txt states what may and may not be fetched and is widely honoured by convention. llms.txt states what a site contains and which pages matter, grants and forbids nothing, and has no commitment from any major operator to be read.

Do AI systems actually read llms.txt?

Not demonstrably, at least not the systems that matter most. Publisher adoption has grown; consumer commitments have not followed. Anyone describing it as a ranking factor is inventing that.

Is llms.txt worth writing anyway?

Yes, for about an hour of work. The exercise forces you to state in one page what the site is for and which twenty pages matter, and almost every site discovers inconsistencies doing it — different descriptions of the company in three places, pages that duplicate each other, pages that do not exist.

Should llms.txt be written by hand?

No. Generate it from the same data that produces the sitemap and the navigation, so a new page appears in all three or in none. A hand-written one is stale within a month.

Is llms.txt or schema markup more important?

Schema, by a wide margin. Organisation markup with consistent naming, Article nodes with real authors and dates, and DefinedTerm on definitions are read by systems that have committed to reading them. llms.txt is a low-stake bet; schema is not a bet.

WRITTEN BY

Konstantinos Chatzimichail
FOUNDER AND CREATIVE DIRECTOR, TALECRAFTERS

Founder of TaleCrafters. Writes the pipelines the studio works to, directs the films that come out of them, and publishes both.

More from Konstantinos

TERMS USED HERE

READ NEXT