What llms.txt is, and whether you need one

A short Markdown file at /llms.txt that tells an AI what your site is and where the important pages are. It takes twenty minutes to write. It won't move your rankings. It's still worth doing, for reasons that are more modest than the hype.

What it is

Jeremy Howard of Answer.AI proposed it in September 2024, at llmstxt.org. The idea is simple: web pages are full of navigation, scripts and layout that a language model has to wade through, so give it one plain file instead. The shape is:

That's all. No schema, no registration, nothing to install.

What it doesn't do

It isn't robots.txt. It doesn't let anything in or keep anything out; if you want to block AI crawlers, that's still robots.txt's job.

It isn't a ranking signal. Google has said publicly that it doesn't use it, and none of the big AI companies has committed to reading it when answering questions. Anyone selling llms.txt as a way to "rank in ChatGPT" is selling you a file you can write yourself in twenty minutes.

Why bother, then

Because the cost is close to nothing and it does help in a few real places:

It matters most for sites whose pages are hard for a machine to read: apps that render in the browser, documentation spread over hundreds of pages, or a product with plans and prices an AI keeps getting wrong.

A template

# Groomly

> Booking and invoicing software for independent dog groomers in the UK.
> One plan, £12 a month, no commission on bookings.

Groomly is made by Groomly Ltd, a two-person company in Bristol.

## The product

- [Features](https://groomly.com/features): bookings, reminders, invoices, client notes
- [Pricing](https://groomly.com/pricing): one plan at £12 a month; 30 days free
- [How it compares](https://groomly.com/compare): against the per-booking apps

## Help

- [Getting started](https://groomly.com/docs/start): setting up in ten minutes
- [Contact](mailto:hello@groomly.com)

## Optional

- [Changelog](https://groomly.com/changelog.md)
- [Plans as data](https://groomly.com/plans.json)

Serve it as plain text from the root of your domain. On Vercel, Netlify or any static host that means putting it in public/llms.txt. Then open yourdomain.com/llms.txt in a browser and check you get the text, not your app's home page. Single-page app hosts answer every unknown path with the app, and a crawler will take that as "no file".

Getting it right

A working example: robinofloxley.com/llms.txt lists ten apps with their prices, links each app's own llms.txt, and points to the costs behind every price as JSON.

Check yours

The visibility check reads your llms.txt along with your sitemap, robots.txt and structured data, and tells you what's missing.

Check my site, free