GEO / AEO guide

How to write an llms.txt file

A practical walkthrough, using a real, live file as the example.

Format Plain text, Markdown-style Location /llms.txt at the site root

What it is

An llms.txt file is a plain-text index at a site's root, written for AI systems rather than search crawlers — the equivalent of sitemap.xml, but aimed at large language models instead of search engines. It gives an AI system a fast, structured way to understand what a site covers and which pages matter most, rather than having to infer it from a full crawl.

Where it goes and how big it should be

It's served as plain text at /llms.txt, the same way robots.txt and sitemap.xml already are. Keep it concise — a few kilobytes is enough for most sites. A separate, deeper llms-full.txt is worth adding only once a site has enough content to justify it.

What to include

Four sections cover most of what matters:

A real example

This site's own llms.txt follows exactly this structure — a positioning summary, a list of key page sections, links to case studies and writing, a core-facts block, and a link out to LinkedIn. It's short, current, and kept in sync by hand whenever the site changes. Reading it directly is a better example than a hypothetical one:

View the live file at andrewfear.com/llms.txt

The part that matters most: consistency

An llms.txt file is only useful if what it says matches what's actually on the page, and what's on the page matches what's said elsewhere (LinkedIn, other profiles). Inconsistent facts don't just fail to help — they reduce an AI system's confidence enough that it may omit a site entirely rather than risk citing something wrong. Write it, then keep it updated every time the underlying content changes.

Schedule a call More on this AI practice