GEO FixAI search readiness check

AI search fix

llms.txt missing — how to fix it

When llms.txt is missing at your domain root, many AI workflows lack a standard short briefing about your brand, services, and priority URLs. Crawlers may still fetch pages if robots.txt and your WAF allow them, but assistants have to infer structure from HTML alone. Google's guidance for generative AI features in Search says you do not need llms.txt or other special AI files there — crawlability and helpful, non-commodity content come first. For ChatGPT, Perplexity, Claude and similar systems, publishing /llms.txt is still a practical GEO signal: a markdown map with a one-line summary, brief context, and linked sections for your most important pages.

llms.txt does not replace robots.txt, Cloudflare allow rules, or strong on-page content. It complements technical access with a readable site map some LLM pipelines use. Keep the file lightweight: markdown headings and list links per llmstxt.org, without HTML tables or embedded scripts. Regenerate it when pricing, routes, or core messaging change so AI-facing summaries stay current.

How to add llms.txt when it is missing

  1. Open https://yourdomain.com/llms.txt and confirm it returns 404 or an empty response.
  2. Draft an H1 title, a one-line blockquote summary, and a short context paragraph.
  3. Add sections such as Docs, Services, and Optional with markdown list links.
  4. Serve the file at /llms.txt with Content-Type text/plain or text/markdown.
  5. Add an Updated date line and re-check after your next site deploy.

Free · 2 minutes · no card

Does your site have a working llms.txt?

The free Express Check reads your llms.txt, robots.txt and schema and shows what's missing.

No card and no payment for the free check. Prices for Starter and Pro exclude VAT as shown on the site. GEO Fix does not guarantee AI visibility or citations.

You'll get an HTML report showing whether llms.txt is present and whether robots.txt or WAF rules block AI crawlers.

What an llms.txt file actually does

An llms.txt file is a small markdown document at your domain root that gives AI tools a fast, human-readable map of your site: who you are, what you offer, and which URLs matter most. It is a proposed convention, not an official standard, so support varies between systems. Google has stated that llms.txt is not required to appear in its generative AI features, and several engineers note that major assistants do not yet read the file directly. Treat it as one orientation signal among many, not a switch that turns AI visibility on.

Where it can help is the growing set of LLM-based tools and pipelines that do fetch a site llms.txt to understand scope before crawling individual pages. Publishing one is low-cost and low-risk: at worst it is ignored, at best it gives compatible systems a cleaner brief than parsing your full HTML. Keep expectations grounded, though — a tidy llms.txt cannot compensate for blocked crawlers or thin pages.

Why your llms.txt is missing or returns 404

If https://yourdomain.com/llms.txt returns a 404, the usual reasons are simple. The file was never created; it was uploaded to a subfolder instead of the web root; or the platform routes unknown paths to a catch-all page rather than serving a static file. On some stacks the file exists but is sent with the wrong Content-Type, so browsers download it instead of showing plain text, and some checks treat that as missing. A stale CDN cache, an over-broad redirect, or a WAF challenge can also hide a file that is technically present.

Diagnose it in order: request the URL directly and read the raw status code, confirm the file sits at the root and not under a build folder in production, then inspect the response headers. Fixing the delivery is often faster than rewriting the file itself.

How to write an llms.txt worth fetching

Follow the format described at llmstxt.org. Start with an H1 that names the site, add a one-line blockquote summary, then a short paragraph of context. Below that, group links under clear markdown headings such as Docs, Services, and Optional, pointing to the pages you most want represented. Keep it lightweight — plain markdown headings and lists, no HTML tables, scripts, or tracking. Many teams generate a first draft with a plugin or generator, then trim it by hand so it reads like a briefing rather than a sitemap dump.

If your documentation is extensive, you can also publish an llms-full.txt with expanded content while keeping llms.txt itself short. Whichever you choose, write for a reader skimming in seconds: concrete names, plain language, and links that resolve.

After publishing: validate and stay realistic

Once the file is live, confirm it returns a 200 response with a text/plain or text/markdown Content-Type, then re-check after your next deploy so a build step does not quietly drop it. A quick manual fetch or a validator is enough; you do not need a dedicated tool. Add an Updated line and refresh the file whenever pricing, routes, or core messaging change, so AI-facing summaries do not drift from reality.

Finally, keep llms.txt in perspective. Crawl access through robots.txt and your WAF, plus substantive pages that answer real questions, do more for AI visibility than any single file. An llms.txt can make compatible systems orient faster, but it does not guarantee that ChatGPT, Perplexity, or Google will cite you — inclusion is decided by each platform.

Updated