← Back to Blog

llms.txt, llms-full.txt, and the .well-known Mirror: What They Are and Why Every Site Should Ship All Three

llms.txt, llms-full.txt, and the .well-known Mirror: What They Are and Why Every Site Should Ship All Three

If you run an audit on a modern site and the analyzer flags "No llms.txt" or "No /.well-known/llms.txt mirror," it is not flagging a cosmetic SEO issue. It is flagging the exact signal that determines whether Perplexity, ChatGPT search, Claude, and Gemini will cite your site confidently or skip it because they cannot find a clean summary to quote.

I ship these files on every site I run. The total effort is under an hour. The payoff is measurable: AI citations that name your domain by name instead of paraphrasing you into anonymity.

What llms.txt Actually Is

llms.txt is a plain-text file at your site root (or for the RFC 8615 mirror, at /.well-known/llms.txt) that gives AI retrieval engines a curated, high-signal view of your site. The format is defined at llmstxt.org and is deliberately minimal: an H1 with the site name, an optional blockquote tagline, and then H2 sections listing canonical pages, services, or concepts.

The point is not to replace your sitemap. Your sitemap tells search crawlers every URL. llms.txt tells AI retrieval: here is the short list of pages that carry my best answers. Think of it as a table of contents written for a reader who is going to cite you, not index you.

A realistic example for a property management site:

# Seth Watte Properties
> Professional property management in Twin Falls, Idaho

## About
Family-owned rental portfolio since 2005. 7 properties, 30+ units,
residential and Airbnb vacation rentals across the Magic Valley.

## Services
- Residential Rentals: https://yoseth.com/residential
- Commercial Leases: https://yoseth.com/commercial
- Airbnb Vacation Rentals: https://yoseth.com/airbnb

## Contact
Phone: (208) 420-6328
Email: sethwatte@hotmail.com

That is enough for an AI to cite the site accurately when a user asks "who manages rentals in Twin Falls Idaho."

How llms-full.txt Differs

llms-full.txt is the expanded version. Same location, same format, but you pack it with context: chapter summaries, FAQ dumps, glossary entries, per-page descriptions, pricing details, edge-case policies. If llms.txt is your elevator pitch, llms-full.txt is your 30-minute deep dive.

The practical rule I follow: llms.txt stays under 130 lines. llms-full.txt can go to 250+ lines. Put everything in llms-full.txt that an AI might need to answer a specific question about your site — from "what are your weekly rates" to "do you allow pets on short-term stays" to "what states does the 25-year cost model cover."

Some AI systems prefer the short summary, some pull the expanded one. You do not have to choose. Ship both.

Why the /.well-known/llms.txt Mirror Matters

RFC 8615 is the IETF spec that defines /.well-known/ as the canonical discovery directory for machine-readable metadata. security.txt lives there. ai-plugin.json lives there. agent-card.json lives there. The humans.txt and ai.txt files have both root-level and well-known locations because they predate the RFC convention.

llms.txt is heading the same direction. Some AI clients already look at /.well-known/llms.txt first because it fits the RFC pattern; others still hit /llms.txt. The right answer is to serve both URLs with the same content, so whichever path the client tries, it gets a hit.

This is a 30-second task: copy the file, add a Content-Type header, and you have covered every client discovery pattern.

How to Ship All Three Files

For a static site, the steps are:

  1. Write llms.txt by hand at the site root. Start with your site name as H1, a one-line tagline as a blockquote, then H2 sections for About, Services, Pages, Contact.
  2. Write llms-full.txt with the same structure but expand every section. Include per-page URLs with short descriptions, a full FAQ, a glossary.
  3. Copy llms.txt to /.well-known/llms.txt.
  4. Update your Netlify or Apache config to serve all three with Content-Type: text/plain; charset=utf-8.

For an Eleventy site, it is cleaner. Create three templates:

src/llms.njk
---
permalink: /llms.txt
eleventyExcludeFromCollections: true
---
# J.A. Watte
> 
...

src/llms-full.njk
---
permalink: /llms-full.txt
eleventyExcludeFromCollections: true
---
# J.A. Watte
(expanded content)

src/well-known-llms-txt.njk
---
permalink: /.well-known/llms.txt
eleventyAllowMissingExtension: true
eleventyExcludeFromCollections: true
---
(same body as llms.njk)

The eleventyAllowMissingExtension: true frontmatter is what lets Eleventy emit a file with no extension in the built output.

Why AI Retrieval Engines Care

When a user asks Perplexity "who is the best REALTOR in the Portland metro for new construction," Perplexity has two options. It can trawl dozens of pages on an agent's site and guess at a summary, or it can read their llms.txt and pull a clean, self-authored description.

The agent with llms.txt wins twice. First, the summary the AI cites is what the agent actually wrote about themselves, not a paraphrase. Second, Perplexity burns less compute to extract that summary, which increases the probability it cites the source at all on a subsequent query.

I have watched the same site go from "cited by Perplexity occasionally" to "cited by name on the answer card" after shipping llms.txt and llms-full.txt. Sample size is not huge. But the pattern holds on every site I run.

What to Check in the Audit

The Site Analyzer and Mega Analyzer both verify all three endpoints:

  • /llms.txt served at root
  • /llms-full.txt served at root
  • /.well-known/llms.txt as the RFC 8615 mirror

They also validate the structure: must have an H1 title, at least one H2 section, and enough URL coverage to be useful. Thin llms.txt files (under 500 bytes) get flagged — you can technically serve them, but you are not getting the signal benefit.

If your audit flags any of the three as missing, the fix is mechanical: write the file, add the Content-Type header, deploy. Under an hour of work, per site. Probably the single highest-leverage hour you will spend on AEO this quarter.

The Short Version

  • llms.txt is your AI elevator pitch — curated, cited, short.
  • llms-full.txt is the deep dive — chapters, FAQs, glossary.
  • /.well-known/llms.txt is the RFC 8615 mirror for clients that follow the convention.
  • Ship all three. The analyzer rewards it, the AI engines reward it, and the people who find you via AI answers see your own words instead of someone else's paraphrase.

← Back to Blog

Accessibility Options

Text Size
High Contrast
Reduce Motion
Reading Guide
Link Highlighting
Accessibility Statement

J.A. Watte is committed to ensuring digital accessibility for people with disabilities. This site conforms to WCAG 2.1 and 2.2 Level AA guidelines.

Measures Taken

  • Semantic HTML with proper heading hierarchy
  • ARIA labels and roles for interactive components
  • Color contrast ratios meeting WCAG AA (4.5:1)
  • Full keyboard navigation support
  • Skip navigation link
  • Visible focus indicators (3:1 contrast)
  • 44px minimum touch/click targets
  • Dark/light theme with system preference detection
  • Responsive design for all devices
  • Reduced motion support (CSS + toggle)
  • Text size customization (14px–20px)
  • Print stylesheet

Feedback

Contact: jwatte.com/contact

Full Accessibility StatementPrivacy Policy

Last updated: April 2026