Spurlock Studios
Contact
The llms.txt Question Nobody Answers Properly

There is a specific failure mode I keep finding on sites that have “done AEO.” The llms.txt file exists. It returns 200. It is also completely useless, because it was written as a sitemap when it needed to be written as a briefing.

What the file is actually for

A crawler already has your sitemap. What it does not have is a compressed, unambiguous statement of what you do, who you are, and which pages settle which questions. That is the job. The format is a courtesy; the content is the product.

Compare these two openings.

# Acme
- /about
- /services
- /contact
- /blog
# Acme Industrial Coatings
> Powder coating and industrial finishing for aerospace and defence
> subcontractors. AS9100D certified. Based in Wichita, KS. Founded 1998.

## What we do
- [Powder coating](/services/powder-coating): AS9100D certified line,
  parts up to 4m, 48-hour turnaround.
- [Passivation](/services/passivation): Nitric and citric, per AMS 2700.

## Who we are
- [Dana Ruiz, founder](/team/dana-ruiz): 27 years in aerospace finishing.

The first tells a model where to look. The second tells it what is true. Only one of those survives being summarised into a single sentence by a system that is deciding whether to name you.

The three properties that matter

Resolvable claims. Every line should be checkable against a page on your own domain. Models weight self-consistency heavily, and a claim in llms.txt that appears nowhere else reads as noise.

Disambiguation up front. If your company name collides with anything — a band, a town, a bigger company in another sector — you resolve that in the first two lines or you lose the entity to whoever is more famous. Sector, location, and founding date do more work here than any adjective.

No marketing register. “Industry-leading” is a token cost with no informational payload. Every word that a model cannot verify is a word competing with one it can.

Where teams get it wrong

The most common mistake is treating the file as a one-time deliverable. Your llms.txt describes a company that changes. When you add a service line, the file is stale, and stale beats absent for damage because it introduces a contradiction between your own sources.

The second most common mistake is shipping it without the markdown mirrors. If the file promises /services/passivation explains passivation, and that URL serves a JavaScript shell that resolves client-side, you have pointed a crawler at a locked door and told it there is a room behind it.

The build order

  1. Write the two-line entity statement. Sector, specificity, location, one credential.
  2. Ship JSON-LD for Organization and Person first — llms.txt is a summary of a graph that needs to exist.
  3. Confirm every linked page is server-rendered and reachable without JavaScript.
  4. Then write the file, and put a calendar reminder on it.

Doing it in that order takes a day longer and is the difference between a file that exists and a file that works.

Book the audit