GEO
llms.txt and AI-Readable Documentation
How to create an llms.txt file and AI-readable documentation map with concise descriptions, canonical URLs, topic grouping, and maintenance rules.
llms.txt is a plain-text file that gives AI research tools and answer systems a concise map of important pages. It is not a replacement for a sitemap or robots file. Think of it as a human-readable and machine-friendly reading list.
Where to place it
Place the file at the root of the domain:
https://example.com/llms.txt
A practical llms.txt example
# Example Tech Library
Practical implementation guides for technical SEO, Generative Engine Optimization, structured data, and AI-readable publishing.
## Core guides
- [Technical SEO](https://example.com/technical-seo/): Implementation guide for crawlability, metadata, links, schema, rendering, and maintenance.
- [Generative Engine Optimization](https://example.com/generative-engine-optimization/): Practical guide to answer extraction, evidence blocks, entity clarity, and llms.txt.
## SEO implementation
- [Metadata and canonical URL examples](https://example.com/articles/metadata-canonical-url-examples/): HTML, Next.js, Astro, WordPress, and static examples.
- [Robots.txt and sitemap examples](https://example.com/articles/robots-txt-sitemap-examples/): Safe crawler access and sitemap patterns.
## GEO implementation
- [GEO content structure examples](https://example.com/articles/geo-content-structure-examples/): Direct answers, tables, FAQs, evidence blocks, and summaries.
- [Entity-first content architecture](https://example.com/articles/entity-first-content-architecture/): How to make concepts and relationships consistent across a site.
What to include
- The site name and one honest description.
- Core hub pages.
- Best implementation guides.
- Concise descriptions that explain why each URL matters.
- Canonical absolute URLs.
What to leave out
- Drafts and private pages.
- Every tag or category archive.
- Duplicate URLs for the same content.
- Marketing claims that are not visible on the linked pages.
- Pages you would not recommend to a human reader.
Static generator example
const importantPages = [
{
title: "Technical SEO",
url: "https://example.com/technical-seo/",
description: "Implementation guide for crawlability, metadata, links, schema, rendering, and maintenance."
},
{
title: "GEO Content Structure Examples",
url: "https://example.com/articles/geo-content-structure-examples/",
description: "Direct answers, tables, FAQs, evidence blocks, and summaries."
}
];
function renderLlmsTxt(pages) {
const lines = [
"# Example Tech Library",
"",
"Practical implementation guides for technical SEO and GEO.",
"",
"## Recommended pages"
];
for (const page of pages) {
lines.push("- [" + page.title + "](" + page.url + "): " + page.description);
}
return lines.join("\n") + "\n";
}
Maintenance rules
Update llms.txt when a hub page changes, a major guide is added, a URL changes, or a page is retired. Keep it short enough that it remains a curated map rather than a second sitemap.
Status and expectations
llms.txt is a community convention, not a search engine requirement. Treat it as a helpful documentation map for AI tools and researchers, not as a ranking lever. The file is most useful when it points to strong canonical pages that are already useful to people.
Serve it as plain text
The ideal response is a simple 200 status with a text content type. A redirect to an article page may be understandable to a person, but it is not the same thing as publishing the file.
curl -I https://example.com/llms.txt
HTTP/2 200
content-type: text/plain; charset=utf-8
WordPress implementation options
| Option | Use when | Notes |
|---|---|---|
| Static file in web root | You have hosting file access. | Cleanest option. Keep it outside the media library. |
| Small plugin or rewrite rule | You cannot write to the root but can add code. | Return text/plain and generate content from a curated list. |
| Normal WordPress page | You only need a human-readable explanation. | Good as a guide, but not a real llms.txt file. |
Maintenance checklist
- Keep the file short and curated.
- Use absolute canonical URLs.
- Remove retired pages quickly.
- Update descriptions when a guide changes substantially.
- Link to the human-readable article that explains the policy and examples.
Reference
Example for this site structure
A practical file for a SEO and GEO technical library should point to the two hubs first, then the most useful implementation articles. It should not list every policy page or every minor archive.
# SeoGeo Tech
Implementation-focused guides for technical SEO, Generative Engine Optimization, structured content, and AI-readable publishing.
## Start here
- [Technical SEO](https://seogeo.tech/technical-seo/): Crawlability, metadata, schema, rendering, and maintenance.
- [Generative Engine Optimization](https://seogeo.tech/generative-engine-optimization/): Answer extraction, entity clarity, evidence blocks, and AI-readable documentation.
## Implementation guides
- [Technical SEO Implementation Checklist](https://seogeo.tech/articles/technical-seo-implementation-checklist/)
- [GEO Content Structure Examples](https://seogeo.tech/articles/geo-content-structure-examples/)
- [Structured Data JSON-LD Examples](https://seogeo.tech/articles/structured-data-json-ld-examples/)
Validation after deployment
curl -L https://seogeo.tech/llms.txt
curl -I https://seogeo.tech/llms.txt
The first command should show the text file. The second should show a 200 response and a text content type.
Practical rollout notes
Use this guide after the core pages are stable. Publishing llms.txt too early can expose a weak library map; publishing it after hubs and examples are solid makes it a useful curated index.
Acceptance criteria
Page: llms.txt and AI-Readable Documentation
Reader task: clear in the introduction
Implementation proof: examples, tables, commands, or checklist present
Trust proof: dates, author or publisher context, and source links where needed
Maintenance proof: revisit trigger documented
- The root file returns 200 as plain text.
- Every listed URL is canonical and useful to a human reader.
- Descriptions are factual and not promotional.
- The file stays shorter and more curated than the sitemap.
When to revisit
Revisit when adding or retiring core guides, changing URLs, or after a content audit changes which pages are truly the best starting points.

