llms.txt explained: the simplest file you can ship for AI visibility
A practical, no-fluff guide to writing /llms.txt — what goes in it, what AI engines do with it, and how to know if yours is working. With real examples.
If you do one thing this week to make your site more visible to LLMs, write a /llms.txt file.
It takes about fifteen minutes. It's a single text file at the root of your domain. It tells AI engines, in plain Markdown, what your site is about and which pages are worth reading. The standard is published at llmstxt.org, and adoption is growing fast — most major LLM providers now check for it as part of their crawling.
This post walks through exactly what to put in it, with a real example you can copy.
The format, in one paragraph
A valid llms.txt file is Markdown with three required-ish parts: an H1 with your project name, an optional blockquote with a one-paragraph summary, and one or more H2 sections containing lists of links. That's it. There's no JSON, no YAML, no validation server. If it parses as Markdown, it works.
Here's a complete, valid example:
# Acme Studios
> Premium product photography studio in Brooklyn,
> serving e-commerce brands since 2019.
## Services
- [Product photography](/services/product): Studio shoots for catalog and PDP imagery
- [Lifestyle shoots](/services/lifestyle): On-location and styled environments
- [Editorial campaigns](/services/editorial): Multi-day campaign production
## Documentation
- [Booking guide](/docs/booking): How to schedule and prepare for a shoot
- [File delivery](/docs/delivery): Format, sizing, and turnaround details
- [FAQ](/faq): Common questions about pricing and scope
## Optional
- [Press kit](/press)
- [About the founder](/about)
That's the entire file. About 350 bytes. If you put this at https://acme.studio/llms.txt and link to it from your robots.txt, you've done more for AI visibility than 95% of the websites on the internet.
What each section is for
The H1 is your project's name, full stop. Don't make it a tagline or a marketing headline. AI engines treat this as the canonical name of your site. "Acme Studios" — not "Acme Studios | Premium Product Photography in Brooklyn".
The blockquote is the one-paragraph summary an LLM will use if it cites you with no other context. Make it good. This is the most leveraged 30 seconds of writing on your whole website. Two or three sentences max. Lead with what you do; end with who you do it for.
Each H2 section is a category of links. The sections most worth having: your core services or products, your documentation (especially if you're a SaaS or technical product), and your strongest editorial content (case studies, longform, how-tos). Each link should have a descriptive title and ideally a short colon-prefixed description.
The "Optional" section is a special convention from the spec. Anything you list here is de-prioritized — it's "extra context if you have time, but not required". Useful for press kits, founder bios, and other ancillary pages. Don't put your most important content here.
What NOT to do
Don't list every page on your site. The whole point of llms.txt is curation. Five well-chosen sections beat fifty generic ones. If you find yourself reaching for a sitemap export, stop — that's not what this is for.
Don't link to PDFs unless they're stable and important. Most LLMs will not retrieve a PDF; the link is dead weight.
Don't write marketing copy in the link descriptions. "Industry-leading photography services that drive ROI" is meaningless to an LLM and to a human. Be specific. "On-location lifestyle photography for e-commerce brands."
Don't forget to update it. Every six months, look at your llms.txt and ask whether the links still represent what you want LLMs to know about you. This is not a fire-and-forget file.
How to know it's working
Three quick checks:
1. Fetch it directly. curl https://yoursite.com/llms.txt should return your file with Content-Type: text/plain or text/markdown. If it returns HTML, your server is rendering a 404 page with a 200 status. Fix that — most LLMs will skip you entirely if your llms.txt looks like HTML.
2. Validate it parses. Run it through any Markdown parser. If you see your H1 as the title, your blockquote as a summary, and your H2 sections as section headers, you're good. AISEOLab's free scan does this automatically and tells you exactly what we found.
3. Check the content is useful. Read your file out loud. Does it sound like an answer to "what is this site, and what's worth reading on it?" If yes, ship it.
What about llms-full.txt?
There's a sibling file, llms-full.txt, that goes further: instead of linking to your content, it embeds it. The full Markdown text of your most important pages, concatenated into one big file at /llms-full.txt.
This is most useful for documentation sites and technical blogs. Anthropic and Stripe both publish llms-full.txt files. If your site is content-heavy and you want LLMs to have direct access to the full text without crawling, generate one. If you're a marketing site or e-commerce store, llms.txt alone is enough.
How to ship it today
Three options, in order of how lazy you can be about it:
Easiest: Run a free AISEOLab scan. We'll write a draft llms.txt for you based on what we find on your site. Copy it, edit the link descriptions to your taste, upload to the root of your server.
Medium: Use the example above as a template. Replace the project name, write a fresh blockquote summary, list 5–8 of your most important pages, ship.
Hard: Read the full spec at llmstxt.org, think about it for an afternoon, write something perfect.
The Easy and Medium paths get you 90% of the value. The Hard path gets you 92%. Don't optimise for perfect when good is sitting right there.
If you ship an llms.txt based on this post, drop us a line at hello@aiseolab.ai — we'd love to see it.