If you've decided an llms.txt file is worth having, the good news is it takes about thirty minutes. The format has strict rules that are easy to get wrong on the first try, so here's exactly how to write one and where it goes.
What does an llms.txt file need to include?
Four parts, in a fixed order: an H1 with your name, a one-line blockquote summary, optional
context paragraphs, then H2 sections of links. The H1 is the only required element and it has
to be the very first line in the file. Right after it, a blockquote (a line starting with >
) gives AI systems the single sentence they'll use to understand what your site is. Everything
below that is optional detail and a set of link sections.
Here's a minimal, valid example for a fictional local business:
# Riverside Family Dental
> Riverside Family Dental is a general and cosmetic dentistry practice in Austin, Texas, accepting new patients.
We've served Austin families since 2011. Same-week appointments are usually available.
## Pages
- [Services](https://riversidedental.example/services): Cleanings, whitening, Invisalign, and emergency care.
- [New patients](https://riversidedental.example/new-patients): What to bring, insurance accepted, forms.
- [Book an appointment](https://riversidedental.example/book): Online scheduling.
## Optional
- [Careers](https://riversidedental.example/careers): Current openings.
Where do I put the file, and what do I name it?
At the root of your domain, lowercase, named exactly llms.txt, served
as plain text at yourdomain.com/llms.txt. Not /blog/llms.txt, not
/LLMs.txt, and not returned as HTML. It works the same way robots.txt and
sitemap.xml already do on your server: one file, one fixed location, publicly reachable
with no login. If your site runs on a static host or a CMS with a "static files" or "public" folder,
that's where it goes. On a Flask or Node app, it's whatever route serves files at the domain root.
How do I write the links section correctly?
Each link line follows one exact pattern: - [Title](URL): Description, title in
brackets, URL in parentheses, a colon, then a short description. Agents are parsing this
mechanically, so a missing colon or a link with no title breaks the parser's ability to read that
line. Group links under H2 headings that describe the section, like "Docs" or "Pages" or "Products,"
and keep the list to the pages you'd actually want an agent or AI assistant to land on, not every URL
on your site. A dozen well-chosen links beats eighty.
Skip H3 headings, nested bullets, and tables entirely. The spec stays this plain on purpose: the goal is a file small enough that an AI model can read the whole thing in one pass, ideally under roughly 3,000 tokens.
Should I also publish an llms-full.txt?
Only if you have real reason to. llms-full.txt is a separate,
optional file containing your actual page content concatenated into one document, rather than just
links to it. It's mostly useful for documentation sites where an AI coding assistant benefits from
reading your entire API reference in one request. A restaurant, a law firm, or a home services company
has no real use for it. Among sites that publish an llms.txt at all, a smaller subset add the full
version too, and it's concentrated almost entirely in developer tools and technical documentation.
Does publishing one actually move your AI citations?
This is the part worth being straight about. Adoption is still low and concentrated in one industry: as of June 2026, only 8.7% of the world's top 1,000 websites publish an llms.txt file, and the businesses that do skew heavily toward technology and developer tools, sites like Cloudflare, GitHub, and Adobe, according to Rankability's monthly adoption tracker. Government and social media sites in the same top-1,000 sample: zero adoption.
And on the question everyone actually cares about, whether the file changes how often AI cites you, the honest answer is still no. We covered the full case for that in our earlier post on whether you need llms.txt: Google has said directly it doesn't factor into AI Overviews, and side-by-side testing hasn't found a citation lift from having the file versus not having it. What llms.txt is good for is being read correctly by agent tools, like an AI assistant browsing on someone's behalf. That's a real, separate use case from getting quoted in a ChatGPT or Perplexity answer, and it's worth keeping the two apart.
How do you check whether your site is ready?
GeoRoar runs a free audit that scores your public pages against a fixed 100-point rubric covering crawler access, structured data, answerability, entity clarity, trust signals, and off-site corroboration, in about 30 seconds, no sign-up. llms.txt is one small line item in that rubric, not the headline. If you want the underlying fixes generated for you rather than doing them by hand, that's the $99 Fix Pack.
Think you can hit an A?
Here's a sample GeoRoar scorecard. Yours takes about 30 seconds.
This is a sample. Your real scorecard is free, no sign-up.
Run your free GEO audit
Geo