llms.txt
llms.txt is a map. The audit only checks that the map exists.
What llms.txt is, the exact check CiteScore runs on /llms.txt, and why a missing file does not zero a $39 AI-visibility score.
3 October 2026 · 7 min read
llms.txt is a community proposal, published at llmstxt.org, for a plain Markdown file at the root of a site. The idea is small: give a model a curated list of URLs worth reading, with a one-line description of the project at the top, instead of making it guess from the homepage nav. It is not an OpenAI standard, a Google ranking factor, or a Perplexity requirement. Treating it as one of those is how the file turned into folklore.
CiteScore’s check is smaller than the folklore. During a $39 audit we request /llms.txt on the host of the URL you submitted. Found means the response succeeded and the body, after trimming, was not empty. Anything else — 404, an empty 200, a network failure — is not found. We keep a short sample of the body for the report. We do not validate the Markdown outline, and we do not request /llms-full.txt.
How it moves the score
Presence is a positive mark on one dimension: AI-crawler access, alongside the robots.txt tokens. It does not add points to answer fitness, evidence, or markup. A beautiful llms.txt on a slogan homepage will not drag the overall score into the “citation-ready” band by itself. A missing file will not zero the audit.
That is deliberate. The file is a courtesy index. The citable object is still the page: a definition, an entity, a fact, a FAQ. If those are missing, the ChatGPT, Perplexity, and AI Overviews rows have nothing to promote, whether or not the map exists.
A file that matches the proposal, using a fictional product
Northbound is the fictional company in the sample report. This file is an illustration of the shape, not a template that earns citations, and not a file we host for them. The H1 is a project name. The blockquote is a one-sentence summary. The list is the handful of URLs a model should read before it reads the marketing site.
# Northbound > Customer-interview repository for product teams. Northbound stores interview transcripts, tags themes, and exports clips for product decisions. ## Product - [What it is](https://northbound.example/): definition, who it is for, what it replaces - [Pricing](https://northbound.example/pricing): public plans - [vs Dovetail](https://northbound.example/compare/dovetail): honest comparison ## Optional - [Changelog](https://northbound.example/changelog): month-level product changes
Put the canonical URLs in the list, not campaign links. If the comparison page does not exist yet, leave it off. A map that points at 404s is worse than no map. Write the summary in the same words as the homepage definition, so the file and the HTML do not describe two products.
What to ignore in llms.txt advice
- “Add the file and ChatGPT will cite you.” No engine has published that rule. Our own ChatGPT row can still say Absent when the HTML is thin.
- Keyword lists inside the file. The proposal is a reading list. Stuffing “ChatGPT citation” into every bullet does not create a source.
- A private or staging URL. We fetch the public host. A file that only exists behind your VPN is invisible to the check, and to everyone else.
The checklist includes llms.txt as item eight of twelve, in one paragraph. This page is the longer version of that item: the exact HTTP check, the dimension it touches, and the claims it does not support.
Questions about the check
Does a missing llms.txt fail the audit?
No. Found means the response was successful and the body was not empty. Missing means that check is a negative on the AI-crawler dimension only. The other seven dimensions still score the page. Plenty of sites with no llms.txt can clear Mentioned on answer fitness and evidence.
Do you grade the writing inside the file?
No. We store a short sample so the report can quote what we saw. We do not score headings, link titles, or whether the file matches the community proposal’s outline. A one-line placeholder counts as found. It is a weak courtesy, and the rest of the audit will still judge the HTML.
Do you fetch llms-full.txt?
No. The proposal describes an optional expanded file. CiteScore requests /llms.txt on the same host as the URL you submitted, and stops there.