JW DigitalJW Digital
Blog

What makes llms.txt work? Rebuilding our own

We rebuilt the llms.txt our site serves to AI engines — from 3.7 KB of placeholder page lists into twelve sections of fact. Here is what was wrong, the new structure, four rules we write by, and how to tell whether it works.

llms.txtGenerative Engine OptimizationAI searchCase

First, what llms.txt is not

robots.txt controls whether crawlers may read your site. sitemap.xml lists what pages exist. llms.txt answers a different question: how should I be described?

It is a statement of fact for AI engines. When ChatGPT Search, Perplexity or Google's AI Overviews needs to introduce a company, this file is the most direct, most structured version of the answer available to it.

That distinction determines how you should write it. Plenty of sites simply list their page titles, which adds almost nothing — the model could already reach those pages. What llms.txt should actually answer are the facts that are hard to read off a page at a glance, but that a model needs most:

  • What you actually do
  • Who you are a fit for
  • Who you are not a fit for
  • Why anyone should believe you
  • How to work with you

With that in mind, we looked at our own llms.txt — and the problems were obvious.

What ours looked like before

The file was 3.7 KB across four sections: Pages, Key Detail Pages, English Site, Sitemap. The structure was not wrong, but three real issues sat underneath it.

Issue one: the English section was a placeholder

All of the detail went to our Chinese pages. The English section was four lines of filler:

- Home: Homepage
- Services: Service modules
- FAQ: Questions and answers
- Cases: Proof of results

Our English site is where most of our business comes from — most of our clients are in the US, Europe and Australia. Writing the English section that way meant handing over our main market.

Issue two: the facts AI actually needs were missing

Nowhere in the file did we state our service region, who we are and are not right for, how engagement works, or a single reason to trust us.

A model will need all of that the moment someone asks a follow-up question. With nothing to draw on, it either guesses — or quotes a competitor who answered properly.

Issue three: news items were crowding out the core pages

We had three recent news posts sitting in the Key Detail Pages section. News is time-sensitive: three months later it has no citation value, and it was occupying space that should belong to pages that stay relevant — services and case studies.

Time-sensitive content should not compete with core pages for position.

The rebuilt structure: twelve sections

We reorganised the whole file. It went from 3.7 KB to roughly 7.6 KB, with twelve sections, mirrored between Chinese and English:

SectionWhat goes in it
AboutService region, working languages, years of experience, contact
What we doThe service range, in plain language rather than jargon
How we differFour-dimension audit, verifiable data, dual engine, results-first payment, no low-end outsourcing
Who it is for / who it is not forTwo explicit lists
Verifiable resultsSpecific cases and numbers, with the source and how to check them
Free toolOur free site speed check
Pages · ChineseThe Chinese page list
Pages · EnglishThe English page list, equally detailed
Key pagesOnly pages that stay commercially relevant
Latest updatesIts own section, clearly labelled as time-sensitive
SitemapWhere to find the sitemap
Citation noteAsking for attribution and the page title

Two changes look minor but affect citation behaviour noticeably: pulling news out of Key Pages into its own section, and using English page names in the English section (Home, Case Studies, Services) instead of leaving Chinese labels in place.

Four rules we write by

One: facts first, adjectives out

Words like professional, efficient and experienced carry no information — every competitor writes them. If you can put a number on something, put the number on it.

Ours reads: one Shopify mousepad brand grew organic traffic 317% in 43 days, with the data taken from the client's Search Console dashboard and verifiable with client consent (the full case study is public).

Two: state who you are not for

This is the paragraph models need most when someone asks "should I hire them" — and the one almost no site includes.

Saying who you turn down is a credibility signal, not a weakness. It shows you filter clients rather than accepting everything that moves.

Three: English should not be the short version

If most of your customers are outside your home market, the English section should be at least as complete as your own language. Writing it shorter is the most common and most expensive mistake in a bilingual llms.txt.

Four: write to the point where it can be checked

"Verifiable data" means nothing on its own. "Data from the client's dashboard, verifiable with client consent" does.

A claim only counts as a claim if someone can verify it. Otherwise it is just another adjective.

How to tell whether it works

Three checks, no tooling required.

Ask a model directly. Give ChatGPT or Perplexity your URL and ask what the company does and who it suits. Whether the key facts in the answer match your llms.txt is the clearest signal you will get.

See who is reading it. Some AI engines identify themselves in their User-Agent. A look at requests for llms.txt tells you roughly who is picking it up.

Interrogate every line. Open your llms.txt and ask of each sentence: could a model already read this on my homepage? If yes, that sentence is wasted — it adds nothing.

One warning: do not turn it into keyword stuffing

llms.txt is not a new SEO battlefield. It is a competition over clarity.

A keyword-stuffed llms.txt is as unconvincing as a keyword-stuffed landing page, because the model judges whether a passage answers the question — not how often a term appears in it.

If your site does not have this file yet, or you renamed your sitemap and called it done, it will most likely change nothing.

Last

Our own llms.txt is public — open it alongside this article and read the twelve sections for yourself.

If your site does not have one yet, or you want to know how your current version reads: run our free speed check to see whether the technical foundation is healthy, or talk to us for a fuller diagnosis. We will give you an honest read before we discuss working together.