Missing llms.txt
llms.txt is the emerging convention for handing LLMs a clean, curated markdown map of your site — what it is, and links to the pages you most want read — instead of leaving them to scrape rendered HTML full of navigation and markup. As assistants increasingly answer questions using your content, an llms.txt is a cheap way to steer them to the right, accurate source.
Framework fixes
Symptoms
How VibeCheck catches it
In your widget · Problems
No llms.txt
To your coding agent · MCP
agent › get_detected_issues
→ { detector: "aeo", issue: "No llms.txt", threshold: "/llms.txt is not served as a 2xx text/plain or markdown response" }
The same string in your widget and in your agent’s context — no screenshot, no copy-paste.
Root causes
The fix
Publish a markdown file at /llms.txt: an H1 with the site name, a short blockquote summary, then sections of links (title + one-line description) to the pages you want LLMs to read. Serve it as text/plain or text/markdown from the root.
- Write
/llms.txt: an H1 title, a one-line summary, then curated link sections - Link your most important, canonical pages with a short description each
- Serve it from the site root with a
text/plainor markdown content type
# Acme Docs
> Acme is a widget platform. This file points LLMs to the canonical docs.
## Guides
- [Quickstart](https://acme.com/docs/quickstart): Get running in 5 minutes.
- [API reference](https://acme.com/docs/api): Every endpoint and type.FAQ
- Is
llms.txtan official standard? - It’s an emerging convention, not a formal standard, but it’s increasingly recognised. It costs almost nothing to add and gives you a curated surface for LLMs, which is why it’s worth doing.
- What’s the difference between
llms.txtandrobots.txt? robots.txtcontrols what crawlers may access;llms.txtis a positive, curated markdown summary that points LLMs to your best content. They’re complementary.- What should I put in it?
- A title, a one-line description of the site, and grouped links to your most important canonical pages, each with a short description. Keep it concise and current.