llms.txt 2026: Example File and Syntax Checker

By gptmelo · Published · Updated · 4 min read · technical

Editorial cover for llms.txt — plain-text index for AI crawlers

Key takeaways

  • llms.txt points crawlers to what matters—it does not replace good HTML.
  • Validate syntax before you publish the file.
  • Pair with robots rules for GPTBot and ClaudeBot.

What is llms.txt? It is a plain-text file at your site root that lists your most important URLs with short descriptions so AI crawlers can find canonical docs and product pages faster. It complements HTML, sitemap.xml, and robots.txt—it does not replace them. Keep the list curated (dozens of URLs, not every filter page) and re-validate after major publishes.

What llms.txt is

llms.txt lives at https://yoursite.com/llms.txt. The format is human-readable Markdown-style text: an H1 title, optional blockquote summary, section headings, then lines like [Page title](URL) — one-line description.

It is not:

  • A replacement for sitemap.xml (still submit sitemaps for discovery)
  • A robots.txt substitute (robots rules still control allow/block)
  • A place for login-gated or noindex URLs (the file is public)

The llms.txt structured data framework covers field definitions; this guide walks through building and validating the file.

Example llms.txt skeleton

# Acme Docs Index
> Canonical docs and product pages for Acme; curated for AI crawlers.

# Docs
[Getting Started](https://www.acme.com/docs/start) — Install and first-run setup
[API Reference](https://www.acme.com/docs/api) — REST endpoints with examples

# Products
[Pricing](https://www.acme.com/pricing) — Plans, limits, and billing FAQ

Keep descriptions factual. Skip deprecated paths, campaign landing pages, and internal wikis.

Google’s Lighthouse agentic-browsing docs describe llms.txt as an optional hint for models that browse the open web—it does not override robots rules or replace on-page HTML.

Who should publish llms.txt first

Teams with public documentation, API references, or comparison pages see the fastest win. Marketing sites with one landing page and a blog rarely need a long index—start with five URLs you want quoted in ChatGPT or Perplexity answers.

If you already run the GEO Content Checker on priority URLs, add llms.txt after those pages pass structure checks. A broken help article linked from llms.txt still will not cite well.

llms.txt vs robots.txt vs sitemap.xml

FilePrimary job
robots.txtAllow or block crawler paths
sitemap.xmlMachine-readable URL inventory for search crawlers
llms.txtCurated, described URLs for LLM-oriented discovery

Blocking GPTBot in robots.txt while listing the same URLs in llms.txt sends mixed signals. Align both files before you publish. When you tune AI crawler access, run the same checks you would for AI search optimization tools—structure plus crawl rules.

Step 1: Pick URLs worth citing

Audit docs, pricing, integration guides, and policy pages. Aim for quality over count—most sites need dozens of entries, not thousands.

  • One canonical URL per topic (no duplicate intro + PDF-only versions unless both must cite)
  • Stable slugs you expect to keep for 12+ months
  • Descriptions a model could quote without editing (“SSO available on Business tier”, not “best-in-class platform”)

Step 2: Draft the file

Use a plain-text editor or the llms.txt Generator to scaffold sections. Required habits:

  1. H1 with your site or doc-set name
  2. Optional > summary line
  3. Section headings (# Docs, # Products, …)
  4. Markdown links plus em-dash descriptions on each line
gptmelo llms.txt Generator scaffolding a site map file
llms.txt Generator — scaffold sections before you validate and upload

Step 3: Validate before publish

Paste the draft into gptmelo’s llms.txt Checker. Fix broken Markdown, missing descriptions, and dead URLs before you upload to the root.

Checklist on every release:

  • File returns 200 at /llms.txt (not /blog/llms.txt unless that is truly your root)
  • Every listed URL returns 200 or a stable redirect
  • robots.txt allows the AI user agents you care about (OpenAI GPTBot documentation)

Checker vs generator workflow

ToolUse when
GeneratorFirst file, new site section, or onboarding a contributor
CheckerAfter manual edits, CMS exports, or quarterly reviews

Run the checker even when you used the generator—one bad bracket can make the whole file easy to ignore.

Step 4: Publish at the domain root

Upload the validated file so it resolves at https://yoursite.com/llms.txt. CMS platforms differ:

  • Static hosts (Cloudflare Pages, Netlify): add public/llms.txt or a route handler that returns plain text
  • WordPress / headless CMS: use a root rewrite or CDN rule—do not bury the file under /blog/ unless that is your canonical root
  • Subpath installs: if the marketing site lives at example.com but docs live on docs.example.com, pick one root for the index and link out explicitly

After deploy, open the URL in a private window. You should see raw text, not an HTML wrapper.

Step 5: Re-validate on a schedule

Re-run the checker after:

  • Major documentation restructures or URL slug changes
  • Pricing tier renames or plan deprecations
  • robots.txt edits that touch AI user agents

Quarterly is enough for stable sites; weekly during a launch month is not excessive.

Maintenance checklist for content ops

Assign one owner (docs lead or SEO) to:

  • Compare llms.txt against your sitemap when either file changes
  • Remove sunset product lines soon after you deprecate a product
  • Log validation output from the checker in your release notes

Pair this file with your GEO site audit workflow when leadership wants a full crawl-and-structure review—not as a substitute for fixing page structure.

Common mistakes

  • Listing URLs you block in robots.txt
  • Marketing adjectives instead of quotable facts in descriptions
  • Forgetting updates after a docs migration
  • Publishing under a subdirectory when bots expect the domain root
  • Treating llms.txt as a full sitemap dump

Free check: the live /llms.txt file

Open the llms.txt Checker. Check the file at the domain root—not a subdirectory. No account required.

1. Fill the form. Keep Check domain selected and enter the production domain, or switch to Validate content if you are pasting a draft.

llms.txt Checker with Check domain selected and a URL field
llms.txt Checker — enter the domain, or switch to Validate content

2. Check. Click Check llms.txt for free.

3. Read the result. You get pass/warn rows. The screenshot is a sample — yours follows the domain or draft you entered. Glance at H1 and public links.

llms.txt Checker result with pass/warn rows
llms.txt Checker — structure rows for title, links, Last-Updated

4. Fix the live file. Edit /llms.txt at the domain root, deploy, then check again. Do not treat this window as the file.

FAQ

What is llms.txt?

A plain-text index at your site root that tells AI crawlers which pages represent your site for training and retrieval.

Is llms.txt required for GEO?

Helpful signal, not a ranking guarantee. Fix page structure and crawl access first.

Where does the file live?

At the site root: https://yoursite.com/llms.txt — not in a subdirectory.

Last updated