How to Add an llms.txt File: Create, Host and Validate It (2026)
By the AEOeye editorial team·Updated Oct 3, 2026
Part of our pillar guide: Content & Technical AEO

The short answer
Write a Markdown file named llms.txt that starts with an H1 (your site name, the only required element), then add a one-line summary and H2 lists of links to your best pages. Serve it at yourdomain.com/llms.txt as plain text with HTTP 200, and check that it is not HTML and begins with a heading. Expect no AI search lift: Google says Search ignores the file.
An llms.txt file is a Markdown index at your site root that gives AI agents a short, curated map of your site. The format comes from the llmstxt.org proposal, which its author revised as v2 in August 2026. Writing one takes under an hour; getting it right is the part people skip.
In AEOeye's crawler access study (October 2026, a convenience sample of well-known sites), 173 of the 330 sites we could check (52.4%) served a valid file. Another 9 (2.7%) answered /llms.txt with a 200 page that was HTML or had redirected elsewhere, and 8 returned plain text that failed our Markdown H1 test. A broken file is worse than none.
Platform steps come from each vendor's own documentation (October 2026); we have not tested every platform hands-on.
What goes in an llms.txt file?
Four things: your site name, a one-sentence summary, optional context, and short lists of links to the pages you want an agent to read first. The spec requires only the name; the rest is curation.
Link to pages that answer what a buyer or an agent would ask: product and docs, pricing, shipping and refund terms, security, and your two or three best guides. Give each link a plain one-line note on what the page contains. The spec also recommends clean Markdown copies of pages (page.md) so agents read text instead of navigation and scripts.
Before publishing, ask of every URL: would I want an AI to treat this as my canonical answer? Perfect formatting can still point at retired pages. Background: what llms.txt is.
What is the exact llms.txt format?
A Markdown file with sections in a fixed order: an H1 (required), a blockquote summary, optional paragraphs without headings, then H2 sections that each hold a list of links (llmstxt.org). Each link is written as - [name](url): optional note. This example uses a made-up company:
# Acme Analytics
> Privacy-first web analytics for SaaS teams. Free tier, EU hosting.
Acme tracks events without cookies. Pricing is per monthly event volume.
## Docs
- [Quickstart](https://acme.example/docs/quickstart): install the tracker and send a first event
- [API reference](https://acme.example/docs/api): REST endpoints, limits, errors
## Pricing and policies
- [Pricing](https://acme.example/pricing): plans and event limits
- [Refunds](https://acme.example/refunds): refund terms
## Optional
- [Changelog](https://acme.example/changelog): release history
Rules that trip people up:
- One H1, no headings before the first H2.
## Optionalis a convention. Version 2 dropped the context-expansion tool that gave it mechanical meaning, so it now only signals lower priority (spec changes).- Subfolders work. /docs/llms.txt covers the pages under /docs, and the most specific file wins.
- llms-full.txt is not in the spec. Docs platforms such as Mintlify generate it as the whole documentation in one file.
Our free llms.txt generator builds this layout from a form. It does not crawl your site, so you choose the pages.

How do you create and host an llms.txt file?
Save the file as UTF-8 text named llms.txt and make it load at yourdomain.com/llms.txt. On several platforms you change a setting instead of hosting a file.
| Platform | What to do |
|---|---|
| Static site or framework with a public folder | Put llms.txt in your published root folder. Next.js serves files in public/ from the base URL. |
| Next.js, generated | Add a route handler at app/llms.txt/route.ts that returns a text Response. aeoeye.com does this. |
| WordPress | Yoast SEO: Settings, Site features, AI tools, llms.txt, then "Manual page selection" to curate; not available on multisite. AIOSEO generates it in its Lite plan; llms-full.txt needs Pro. |
| Shopify | Shopify serves /llms.txt by default (changelog of May 28, 2026), mirroring /agents.md. To change it, add templates/llms.txt.liquid; Shopify's docs say most stores need not. Check what your store returns before following older upload-and-redirect tutorials. |
| Webflow | Webflow lets you upload the file, publishes it at your domain root and keeps it out of search indexes. Check its help article for size limits. |
| Wix | Generated automatically. Edit it in the SEO & GEO dashboard; an edit stops auto-updates until you reset. Needs a custom domain. |
Ahrefs concludes agents fetch the file when directed to it, and found zero AI-bot requests for missing files. So point to it: Perplexity's docs open with a note telling agents to fetch their /llms.txt, and the spec offers a Link header with rel="describedby".
robots.txt has no llms.txt directive (RFC 9309 defines none), though 28 of 384 robots.txt files (7.3%) in our study mention it.
How do you check that your llms.txt works?
Fetch it the way a bot would and check four things: HTTP 200, not HTML, still at /llms.txt after redirects, and a first line starting with "# ". That is our study's rule; it takes two minutes.
- Status, type, final URL. Run
curl -sL -o /dev/null -w "%{http_code} %{content_type} %{url_effective}\n" https://yourdomain.com/llms.txt. Pass: 200, text/plain or text/markdown, and a final URL ending in /llms.txt. OpenAI's file is text/plain; Google's Gemini API docs file is text/markdown. - First line. Run
curl -sL https://yourdomain.com/llms.txt | head -n 3. The first line must be "# " plus your name. An html tag means you serve a page, not a file. - Soft 404. A soft 404 is an error page that returns 200. Single-page apps are a classic cause: with client-side routing, meaningful status codes can be impractical. With no file, return a real 404.
- Bot view. Repeat step 1 with a bot-style header, for example -A "Mozilla/5.0 (compatible; TestBot/1.0)". A 403 or challenge page means a bot rule is in the way: 46 of the 376 sites whose robots.txt let our crawler request /llms.txt answered with a block or error. A spoofed header is imperfect, so check your CDN's bot log too.
- Links. Every link should return 200 and point to a page you control.
- Ask an agent. The spec suggests asking an assistant questions about your business with only your llms.txt as the starting point. If it cannot find your pricing, your notes are too vague.
Chrome's Lighthouse has an experimental llms.txt audit that needs Chrome 150 or later. Its documentation describes only two outcomes, a flagged server error or not applicable on a 404, so do not count on it to catch a broken format. Afterwards, search your access logs for /llms.txt.

What should you leave out?
Leave out anything you would not want an agent to quote or follow: a dump of every URL, thin or retired pages, login and legal boilerplate, and anything written as instructions. Short and accurate beats long and stale.
- A sitemap mirror. The median valid file in our study was about 9,200 characters; 17 of 173 ran past 50,000.
- Instruction-shaped text. Agents are built to trust the file. Ahrefs advises plain links and descriptions only, links to resources you control, restricted edit access and review of anything a platform generates.
- Stale links. A file pointing at deleted pages is confidently wrong, not merely absent. If a check fails, regenerate rather than hand-patch: one missing bracket breaks a link silently.
We break the first rule ourselves. aeoeye.com's file is generated from our content collections and listed every article, guide, answer and glossary term when the study fetched it: about 92,000 characters, longer than all but 12 of the 173 valid files. We keep it because it costs nothing, not because it moves citations.

Is an llms.txt file worth the effort?
Worth an hour, not a project. Google's AI optimization guide says Search does not use these files and that creating one will neither harm nor help your visibility. Ahrefs found that 97% of the roughly 38,000 valid files it examined (from 137,210 domains) got no requests at all in May 2026.
Ahrefs notes its sample skews technical and that a fetch is not a read. Where the file can pay is developer documentation: GPTBot and Claude-Code were the top named AI fetchers in its logs, and the spec's author notes that OpenAI, Anthropic and Gemini publish an llms.txt for their own developer docs. If coding agents use your docs, ship the file with Markdown pages.
If you run a store or service business hoping ChatGPT names you, do the basics first: let AI search crawlers in (crawler directory), then measure whether AI names you with the free audit. Our full argument is in why llms.txt is overrated.
Key terms
- llms.txt
- A Markdown file served at a site's root (or a subpath) that gives language-model agents a short, curated overview of the site and links to its key pages; proposed by Jeremy Howard in September 2024. ↗
- Soft 404
- A page that tells visitors nothing is there, or has no real content, but returns HTTP 200 instead of 404; Google reports these in Search Console. ↗
- robots.txt
- A plain-text file at a site's root that tells crawlers which paths they may request, standardized as the Robots Exclusion Protocol in RFC 9309. ↗
Step-by-step
- 1
Pick the pages
List 10 to 30 pages an agent should read first: product or docs, pricing, policies and your best guides. Skip retired, thin and login pages.
- 2
Write the file
Start with an H1 of your site name, add a one-line summary as a blockquote, then H2 sections of links written as - [name](url): note. Or fill in the free generator at /tools/llms-txt-generator.
- 3
Save it as UTF-8 text named llms.txt
Use plain text, lowercase name, no double extension.
- 4
Publish it at the site root
Put it in your public folder, add a route, or use your platform's setting (Yoast, AIOSEO, Webflow, Shopify, Wix). It must load at yourdomain.com/llms.txt.
- 5
Check status and first line
Run curl against /llms.txt: expect HTTP 200, text/plain or text/markdown, a final URL still ending in /llms.txt, and a first line starting with "# ".
- 6
Check links and the bot view
Open every link, repeat the request with a bot-style user agent, and ask an AI assistant questions using only the file as its starting point.
- 7
Point to it and keep it current
Link to the file where agents look, restrict who can edit it, and update it when you retire or add key pages.
Key takeaways
- Only the H1 is required; add a blockquote summary and H2 lists of links to your best pages.
- Serve it at /llms.txt with HTTP 200 as plain text or Markdown, never HTML. In our study 2.7% of sites returned an HTML or redirected page instead.
- Check it with curl: status, a first line starting with "# ", link health and the bot view.
- Google says it ignores llms.txt and Ahrefs found 97% of files unread. Spend an hour, not a sprint.
See how AI talks about your brand
Run a free AI visibility audit in under a minute.
FAQ
Where do I put my llms.txt file?+
At the site root, so it loads at https://yourdomain.com/llms.txt, the same pattern as robots.txt. The spec also allows subfolder files such as /docs/llms.txt that cover the pages under that path, with the most specific file applying. On Shopify and Wix the platform serves one for you, and Webflow lets you upload it in site settings.
What is the correct llms.txt format?+
Markdown in a fixed order: an H1 with your site name (the only required part), a blockquote summary, optional paragraphs without headings, then H2 sections containing lists of links written as - [name](url): optional note. An Optional section is a convention for secondary links. The file should be UTF-8 text, served as text/plain or text/markdown.
How do I validate my llms.txt file?+
Request it with curl and check four things: HTTP 200, not an HTML page, a final URL that still ends in /llms.txt after redirects, and a first line starting with "# ". Then click every link, repeat the request with a bot-style user agent, and ask an AI assistant questions using only the file as its starting point.
Do ChatGPT, Claude or Google AI read llms.txt?+
We found no major AI search engine that documents reading it. Google says Search ignores the file, and Ahrefs found that 97% of valid files got no requests at all in May 2026. Coding agents are the clearest readers, so check your own server logs for /llms.txt requests rather than assuming either way.
Is llms.txt the same as robots.txt?+
No. robots.txt tells crawlers which paths they may fetch and is the control AI crawler documentation refers to. llms.txt only offers a curated list of pages and blocks nothing. Keep both, and do not use llms.txt to block or allow any bot.
Sources
- 1.llmstxt.org — The /llms.txt file, v2 (Jeremy Howard, modified August 2026)
- 2.Google Search Central — Optimizing for generative AI features (mythbusting section)
- 3.Ahrefs — We Analyzed 137K Sites: 97% of llms.txt Files Never Get Read
- 4.Chrome for Developers — Lighthouse llms.txt audit
- 5.Shopify developer docs — llms.txt.liquid template
- 6.Google Search Central — JavaScript SEO basics (soft 404 errors in single-page apps)