Skip to content

AI Search

llms.txt example: what a good one looks like

An llms.txt file is Markdown at your domain root: an H1 with your site name, an optional blockquote summary, then H2 sections of curated links, each page with a one-line description. A worked example is below. The rule that matters is curation: list the handful of pages you most want an AI to understand, not every URL, and generate the file so it never goes stale.

By Viken Patel

Most explanations of llms.txt tell you the format and stop, which leaves you staring at a blank file wondering what a real one actually contains. The fastest way to understand it is to read a good one.

An llms.txt file is Markdown, served at your domain root. It has an H1 with your site name, an optional summary, then sections of curated links, each with a one-line description.

Below is a worked example you can adapt, explained line by line. The one rule that separates a useful file from a useless one is curation, and it is worth getting right before you write a word.

An llms.txt example to start from

Here is a complete, realistic llms.txt for a consulting site. It is short on purpose.

# Viken Patel

> AI SEO consultant helping marketing teams stay visible in AI
> search and rebuild their marketing systems to produce revenue.

## Consulting

- [AI Search Consulting](https://vikenpatel.com/consulting/ai-search): Measuring and fixing visibility in AI answers and search.
- [Advisory](https://vikenpatel.com/consulting/advisory): Ongoing strategic guidance for marketing leaders.

## Key guides

- [SEO in the AI Era](https://vikenpatel.com/guides/seo-in-the-ai-era): The four-layer framework for finding where AI visibility breaks.

## Selected articles

- [What is generative engine optimization](https://vikenpatel.com/insights/what-is-generative-engine-optimization): A plain definition of GEO and what it changes.
- [How AI Overviews work](https://vikenpatel.com/insights/how-ai-overviews-work): The mechanism behind Google's AI Overviews.

## About

- [About Viken Patel](https://vikenpatel.com/about): Background, focus, and how the practice works.

That is a valid, working file. Notice what it is not: it is not every page on the site.

The example, explained

Each part of that file is doing a specific job, and understanding the job is how you write your own.

The H1 is your entity. It names who the site is about, in the exact form you want an AI to use. The blockquote below it is a one-line summary of what you do, which sets context for everything that follows.

The H2 headings group your pages by purpose: what you sell, your flagship content, your best articles, who you are. Under each, every link is a Markdown link followed by a short description. The description is not decoration. It tells a model what the page is for, so it can pick the right one without fetching all of them.

The whole file reads like a hand-picked table of contents, which is exactly what it is meant to be.

What to put in your own llms.txt

The selection is the entire skill here. Include only the pages you would most want an AI to understand if it could read a handful.

For most sites that means your core service or product pages, your two or three best guides, a small set of articles that represent your expertise, and your about page. Leave out thin pages, near-duplicates, tag archives, and anything you would not proudly hand to a stranger as representative of what you do.

If your file is getting long, you have drifted from curation into inventory. That is what your sitemap is for. The value of llms.txt is precisely that it is short and opinionated, which is also why the "what and whether" question is worth reading in what is llms.txt before you invest much effort.

llms.txt vs llms-full.txt

You will see a companion file mentioned, and it is worth knowing the difference so you do not overbuild.

llms.txt is the curated map of links and descriptions above. llms-full.txt is an optional second file that contains the full text of those pages concatenated into one document, so a model can ingest the actual content in a single fetch. It is mostly useful for documentation sites where an agent needs the reference text itself.

For a typical marketing or consulting site, the short llms.txt is the one that matters. Add llms-full.txt only if you have a real reason for a model to read your full content in bulk.

Generate it, do not hand-maintain it

The one operational rule: do not write this file by hand and expect to keep it current.

A hand-made file goes stale the first time you publish something and forget to update it, and a stale map that points at old or missing pages is worse than no file at all. Generate it from the same content source as your sitemap, so a new page appears in it automatically the moment it ships.

This site does exactly that, publishing a generated file at /llms.txt that updates on every publish. That is the version worth building. Whether it moves your AI visibility at all is a separate and more sceptical question, which I take on directly in does llms.txt work.

The takeaway

An llms.txt example is a short Markdown file at your domain root: an H1 name, a one-line summary, then H2 sections of curated links with descriptions. Copy the structure above, fill it with only your most important pages, keep it short, and generate it so it never goes stale. The format is trivial; the curation is the work.

If you want a clear read on what is actually driving or blocking your visibility in AI answers, beyond housekeeping files, that is what an AI visibility audit provides.

This article is part of the SEO in the AI Era: The Complete Guide guide.

FAQ

Common questions

What does an llms.txt file look like?
Plain Markdown. It opens with an H1 of your site or brand name, an optional one-line summary in a blockquote, then H2 headings that group your key pages. Under each heading is a bulleted list of Markdown links, and each link has a short description of what the page covers. That is the whole format.
What should I include in an llms.txt file?
Only your most important pages: core service or product pages, your best guides, and the key articles that represent what you do. The goal is a curated shortlist an AI can use to understand your site quickly, not a full inventory. If you find yourself adding everything, you are building a sitemap, not an llms.txt.
What is the difference between llms.txt and llms-full.txt?
llms.txt is the short, curated map of links with descriptions. llms-full.txt is an optional companion that contains the full text content of those pages in one file, so a model can ingest the actual content without fetching each URL. Most sites start with llms.txt alone; llms-full.txt is mainly useful for documentation.
Where do I put the llms.txt file?
At the root of your domain, served at yourdomain.com/llms.txt, as plain text. It sits alongside robots.txt and your sitemap. It must be reachable at that exact path, because that is the convention tools look for, the same way robots.txt is always at /robots.txt.
How do I keep an llms.txt file up to date?
Generate it from your content rather than writing it by hand. A hand-maintained file goes stale the moment you publish something and forget to add it, and a stale map is worse than none. Generating it from the same source as your sitemap means new pages appear automatically the moment they ship.