llms.txt is a plain Markdown file served at /llms.txt that tells an AI system what a site is and which pages matter, in a format proposed by Jeremy Howard on 3 September 2024. It is optional, no major engine has committed to reading it, and it takes about an hour to write. Citemark's own file is the worked example below.
The llms.txt specification asks for a Markdown file with sections in a fixed order: an H1 with the site's name, which is the only required part; a blockquote summary; detail paragraphs; and H2 sections containing lists of links, each a Markdown link with an optional note after a colon. A section named “Optional” marks links an agent can skip.
01
H1: the name
# Citemark. The only required line.
02
Blockquote: the summary
One paragraph starting with >. What the site is, for whom, where. Written so it can be quoted whole.
03
Detail paragraphs
Plain Markdown, no headings. Facts an agent should know before following links: what you do not do, how you price, your timeline.
04
H2 link sections
## Services, ## Company, ## Learn. Each item is name: a one-line note. Absolute URLs.
05
Optional
An H2 literally named Optional, for secondary links an agent may drop when context is short.
The current version of the spec, revised 10 August 2026, also allows a file at a subpath covering the URLs beneath it, and suggests serving a Markdown copy of each page at the same URL with .md appended. We do the first and not yet the second.
Candidly
Who reads llms.txt today
As of 17 October 2026, none of the crawler documentation published by OpenAI, Google, Anthropic or Perplexity mentions llms.txt, and Google's guidance on AI features says there are no additional requirements and no special structured data. So the honest position is: write it because it is cheap and forces clarity, not because an engine has promised to read it.
What it costs. An hour to write, five minutes a month to keep in sync. Nothing to install.
What it gives you regardless. A one-paragraph description of the company that everyone agrees on, and a list of the pages that matter. Both are useful on their own; the blockquote usually becomes the Organization schema description and the About page opener.
What it might give you. A crawler or agent that does fetch it gets a clean summary with no navigation around it. We do not count citations from it, because we cannot attribute them.
What it will not do. Replace indexing, rendering or schema. An llms.txt on a site that blocks OAI-SearchBot is a note nobody reads.
Worked example
Citemark's llms.txt, annotated
Our file has five parts: the name, a blockquote any engine can quote as a definition of the company, a paragraph stating what we do not guarantee and how we price, and link sections for services, company pages and these guides, with a facts list at the end. Every line is also true on the page it links to.
# Citemark
> Citemark is a Generative Engine Optimization (GEO) and Answer Engine Optimization (AEO) agency in Bengaluru, India. It gets brands cited by ChatGPT, Gemini, Perplexity, Claude and Google AI Overviews, and ranked on Google. The team has run SEO since 2013 and is made of engineers who fix rendering, schema and indexing in the client's codebase. Tagline: "Engineered to be cited."
Citemark does not guarantee rankings or citations. It publishes its timeline (first AI-engine signals in 2–4 months; competitive prompts in 6–12 months) and reports monthly with screenshots of each citation. Plans are month to month and include SEO, AEO and GEO together; the audit is free.
## Services
- [Generative Engine Optimization](https://citemark.in/services/generative-engine-optimization): entity engineering, retrievability (llms.txt, Bing indexing, crawler access), citation-worthy content, mentions and digital PR, monthly citation tracking.
- [Free AI visibility audit](https://citemark.in/ai-visibility-audit): what each engine says about a brand today, screenshot by screenshot, and the three fixes first. Delivered in five working days.
## Learn
- [What is Generative Engine Optimization (GEO)?](https://citemark.in/learn/what-is-generative-engine-optimization): definition, the 2023 research paper the term comes from, how engines build answers, the six workstreams, timelines.
- [llms.txt: what it is and how to write one](https://citemark.in/learn/llms-txt-guide): the specification, who reads it today, this file annotated, six steps, mistakes.
## Facts
- Based in Bengaluru, Karnataka, India. Serves India and international clients.
- Engines covered: ChatGPT (including search), Google AI Overviews, Gemini, Perplexity, Claude, Microsoft Copilot.
- Email: hello@citemarkhq.com
citemark.in/llms.txt, abridged: two of six service links and two of nine Learn links shown.
Line 1, the H1. The brand name alone, spelled as it appears everywhere else.
The blockquote. Four sentences: category and city, what we deliver, who does the work, the tagline. It matches our Organization schema description, so an engine that reads both finds no contradiction.
The paragraph. What we do not guarantee, our published timeline, and how we price. The things a buyer asks an assistant about an agency.
Link sections. Absolute URLs, one line each, the note after the colon written as a summary of the page rather than a slogan.
Facts. Location, engines, industries, email. Short, checkable, no adjectives.
How to
How to write yours in six steps
Writing an llms.txt takes six steps: agree one paragraph that describes the company, list the ten to twenty pages that matter, write a one-line note for each, add the facts a buyer checks, serve the file at the root as plain text, and add a reminder to update it whenever a page changes. The hard part is the first step.
01
Agree the paragraph
Category, city, what you deliver, since when. If the founder and the sales lead describe the company differently, settle it here; the engines will otherwise pick one at random.
02
List the pages
Services, pricing, about, contact, the three or four guides you would hand a prospect. Not every blog post.
03
Write the notes
After the colon: what the page says, in the page's own numbers. “Three monthly plans and a sprint; prices exclude GST” beats “Our flexible pricing”.
04
Add the facts
City and country, engines or products covered, industries, a contact email. Nothing you would not put in your schema.
05
Serve it
Static file at /llms.txt, served as text/plain or text/markdown, UTF-8, no redirect. In Next.js, a file in the public folder does it.
06
Keep it in sync
Add a line to your release checklist: new page, new route entry, new llms.txt line, same commit.
Mistakes
Mistakes we see in llms.txt files
The common failures are a marketing paragraph instead of a description, placeholders left in from a template, a file that lists every URL on the site, notes that repeat the page title, and a file written once and never updated so it contradicts the pages it links to. Each makes the file less useful than having none.
Adjectives. “Leading”, “premium”, “cutting-edge”. A model summarising you drops them; a model checking you against other sources distrusts them.
Everything. Two hundred links is a sitemap, and you already have one. Ten to twenty is a reading list.
Stale facts. A price or a service that changed on the site but not in the file. We keep ours next to the route list that generates the sitemap for this reason.
No numbers. A file with no dates, prices or counts gives an engine nothing to quote.
Engineering
Keep it in sync with the site
The file is useful while it matches the pages. We keep ours in sync: every public route is registered in one list that generates the sitemap, and the release checklist adds a matching llms.txt line in the same commit. A quarterly check reads each note against its page. If they disagree, the page wins and the file is fixed.
If you want the file written for you, it is part of the entity setup in every Citemark plan, and the free AI visibility audit records what each engine currently says about you, which is the description the file should match.
Sources
Sources
Every factual claim above about how an engine works, or about what a company publishes, links to the source it came from. Each URL was opened and checked on the date shown at the top of this guide. If a source later changes or disappears, the claim should be re-checked, not assumed.
Schema markup for AI search: what actually matters
Which schema.org types help AI search and which don't: Organization as ProfessionalService, Service, Article, BreadcrumbList and FAQPage after Google's May 2026 withdrawal. Why to generate schema from one source of truth, and how to check it.
ChatGPT search retrieves pages through third-party search providers, with Bing as its default, then picks passages that answer the question. What OpenAI documents, what it doesn't, the three crawlers, and a checklist for getting indexed and quoted.
How a SaaS company gets named when buyers ask ChatGPT, Perplexity or Google for the best tool, a comparison or a how-to. Prompt map, retrievability for docs and pricing, pages written to be quoted, third-party listings, and what to report to sales.
The free audit runs your category's prompts on ChatGPT, Gemini, Perplexity, Claude and Google AI Overviews and shows who each engine cites today. Five working days, screenshots included.