GEO Guide

How to Write an llms.txt File

Published July 2025 ยท 12 min read

llms.txt is a standardized text file you place at the root of your website (yourdomain.com/llms.txt) that helps AI models understand what your site is about and which pages matter most.

Think of it as a curated guide for AI โ€” not a full sitemap, but a hand-picked summary with context. It was proposed by Jeremy Howard (founder of fast.ai) in September 2024 and is rapidly becoming a web standard.

Why llms.txt Matters

  • ๐Ÿค– AI models can't read JavaScript โ€” many modern sites render content via JS, which AI crawlers can't execute. llms.txt provides a plain-text entry point.
  • ๐Ÿ“‹ Websites are complex โ€” AI crawlers don't know which pages are important. llms.txt tells them directly.
  • ๐Ÿ“ˆ Get cited more often โ€” sites with llms.txt are more likely to be understood and cited by AI search engines.
  • ๐Ÿ” It's like sitemap.xml for AI โ€” but instead of listing URLs, it provides context and descriptions.

llms.txt vs robots.txt vs sitemap.xml

File Purpose Format
robots.txtTell crawlers what they can/can't accessPlain text directives
sitemap.xmlList all URLs on your siteXML
llms.txtExplain what your site is and highlight key pagesMarkdown

The llms.txt Format

The file uses Markdown format with these sections:

# Site Name

> Brief one-line description of your site

## Optional subtitle / additional context

### Section title (optional)

[Page Title](https://example.com/page): Brief description of what this page contains

[Another Page](https://example.com/another): What this page is about

## Links (optional)
[Related resource](https://example.com/resource)

Key rules:

  • โ€ข Start with # followed by your site name (H1)
  • โ€ข Use > for a blockquote summary (1-2 sentences)
  • โ€ข Use ## for section headers
  • โ€ข Links format: [Title](URL): Description
  • โ€ข Keep it concise โ€” AI models have token limits

Example 1: SaaS Company

# Acme CRM

> Acme CRM is a customer relationship management platform for small businesses. Features include contact management, email tracking, pipeline visualization, and AI-powered insights.

## Product

[Pricing](https://acme.com/pricing): Plans start at $12/user/month. Free tier available for up to 3 users.

[Features](https://acme.com/features): Contact management, email integration, pipeline tracking, custom dashboards, and workflow automation.

[API Documentation](https://acme.com/api): REST API with Webhooks. Rate limit: 1000 req/hour. OAuth 2.0 authentication.

## Resources

[Help Center](https://acme.com/help): Step-by-step guides, video tutorials, and FAQ.

[Blog](https://acme.com/blog): CRM best practices, sales tips, and product updates.

[Security](https://acme.com/security): SOC 2 Type II certified. Data encrypted at rest (AES-256) and in transit (TLS 1.3).

Example 2: Developer Tool

# FastDeploy

> FastDeploy is a CLI tool for zero-downtime deployments to Kubernetes. Supports blue-green, canary, and rolling update strategies.

## Getting Started

[Quick Start](https://fastdeploy.io/docs/quickstart): Install via `brew install fastdeploy`. Run `fastdeploy init` to get started.

[Installation](https://fastdeploy.io/docs/install): Available on Homebrew, npm, and as a Docker image. Requires Kubernetes 1.24+.

## Documentation

[CLI Reference](https://fastdeploy.io/docs/cli): Complete command reference with examples.

[Configuration](https://fastdeploy.io/docs/config): YAML-based configuration. Supports environment variables and secrets management.

[Examples](https://fastdeploy.io/docs/examples): Real-world deployment configs for common frameworks (Next.js, Django, Rails, Spring Boot).

## Community

[GitHub](https://github.com/fastdeploy/fastdeploy): Source code, issues, and contributions welcome.

[Discord](https://discord.gg/fastdeploy): Community support and discussions.

Example 3: Content Site / Blog

# GeoScore Blog

> GeoScore Blog publishes guides on Generative Engine Optimization (GEO) โ€” how to make your website visible to AI search engines like ChatGPT, Perplexity, and Google AI Overviews.

## Popular Articles

[What is GEO?](https://geoscore.help/blog/what-is-geo): Complete introduction to Generative Engine Optimization โ€” what it is, why it matters, and how to get started.

[GEO vs SEO](https://geoscore.help/blog/geo-vs-seo): Detailed comparison of GEO and traditional SEO, including target engines, crawlers, content strategy, and success metrics.

[How to Write llms.txt](https://geoscore.help/blog/how-to-write-llms-txt): Step-by-step guide with real examples for creating an llms.txt file for your website.

## Tools

[Free GEO Audit](https://geoscore.help): Get a 12-dimension GEO readiness score for any website.

[llms.txt Checker](https://geoscore.help/tools/llms-txt-checker): Check if your website has an llms.txt file.

[Robots.txt AI Checker](https://geoscore.help/tools/robots-txt-ai-checker): Verify AI crawlers aren't blocked by your robots.txt.

Step-by-Step: Create Your llms.txt

  1. Step 1: Write your site summary
    One sentence: what is your site? Who is it for? What does it do?
  2. Step 2: Pick 5-15 key pages
    Don't list every page โ€” choose the ones that best explain your product/service. Pricing, features, docs, about, and top blog posts are good starting points.
  3. Step 3: Write a description for each page
    One sentence per page. What will an AI learn from this page? Include key facts (prices, versions, requirements).
  4. Step 4: Format as Markdown
    Use the template above. H1 for site name, blockquote for summary, links for pages.
  5. Step 5: Save as /llms.txt
    Place it at the root of your website: https://yourdomain.com/llms.txt
  6. Step 6: Verify with our checker
    Use our free llms.txt checker to verify it's accessible and well-formed.
  7. Step 7: Link from your robots.txt (optional)
    Add llms-txt: /llms.txt to your robots.txt to help crawlers discover it.

Best Practices

  • โœ… Keep it under 2000 words โ€” AI models have context limits
  • โœ… Include concrete facts โ€” prices, versions, dates, requirements
  • โœ… Update regularly โ€” when you add major new pages or features
  • โœ… Use clear page titles โ€” AI reads these as context labels
  • โŒ Don't list every URL โ€” that's what sitemap.xml is for
  • โŒ Don't include marketing fluff โ€” AI wants facts, not adjectives
  • โŒ Don't duplicate content โ€” each link should have a unique description

Common Mistakes

Mistake 1: Treating llms.txt as a sitemap. Don't list 500 URLs โ€” pick the 10-15 that matter most.

Mistake 2: Writing for humans, not AI. Use facts and data, not marketing language. "Best CRM ever" โ†’ "CRM with 50+ integrations, SOC 2 certified, $12/mo".

Mistake 3: Forgetting to make it accessible. Ensure your server returns 200 (not 403 or 404) at /llms.txt.

Mistake 4: Blocking it in robots.txt. Make sure Allow: /llms.txt is in your robots.txt.

Check Your llms.txt Now

Enter your domain and instantly see if you have an llms.txt file โ€” plus get a full 12-dimension GEO score.

Start Free GEO Audit โ†’