# What is llms.txt, and is it worth adding?

`llms.txt` is a plain-text file at the root of your domain that describes your site for language models. Same location convention as `robots.txt`, entirely different job.

- `robots.txt` says **who may fetch what**.
- `sitemap.xml` says **which URLs exist**.
- `llms.txt` says **what this site is, in your own words**.

## Why it exists

A model that lands on your homepage has to reconstruct what you do from navigation, marketing copy and whatever HTML survived the build. It gets pricing from a table it may misread, and your product category from a headline written to sound clever rather than to be precise.

`llms.txt` replaces that reconstruction with a statement. You write the summary; the model does not have to guess it.

## What belongs in it

Keep it short and factual. Markdown, served as `text/plain`.

```markdown
# Acme Analytics

> Server-side product analytics for teams that cannot ship a tracking script.

Acme Analytics collects events from your backend and answers questions about
funnels, retention and revenue. Self-hosted or managed. No browser SDK.

- Price: 49 EUR per month, 14-day trial, no credit card.
- Language: English.
- Founded 2021, based in Berlin.

## Pages

- [Pricing](https://acme.example/pricing): plans and limits
- [Docs](https://acme.example/docs): setup and API reference

## Contact

support@acme.example
```

Two rules that matter more than the format:

1. **Prices as numbers.** "Affordable" is unusable. "49 EUR per month" can be quoted.
2. **No marketing adjectives.** Anything a competitor could also write about themselves is wasted space.

A longer `llms-full.txt` with your full content is a useful companion — it lets an agent answer detail questions without a second request.

## The soft 404 trap

The most common mistake is not a missing file. It is a file that appears to exist.

Many frameworks answer unknown paths with the app shell and a 200 status. Request `/llms.txt` and you get HTML, a `text/html` content type, and a status that says everything is fine. To a crawler that is indistinguishable from a broken file, and you will never notice by clicking the link in a browser.

Check the content type, not just the status code:

```bash
curl -sI https://example.com/llms.txt | grep -i content-type
```

If that says `text/html`, your llms.txt does not exist as far as any consumer is concerned.

## Is anything actually reading it?

Honest answer: adoption is uneven, and no major model provider has committed to it publicly. If you are looking for a guaranteed ranking effect, this is not it.

The case for adding it anyway is cheaper than the debate: it is one static file, it takes twenty minutes, and it forces you to write down what your product is in plain language — which turns out to be useful for your own homepage too. The downside risk is a file nobody fetches.


---

Not sure whether yours is a real file or a soft 404? [Run a free scan](https://check.ai-agent-ready.com/) — five checks, under 60 seconds, no login.

A product by The Autopilot — https://the-autopilot.com
