llms.txt Presence
experimentalCategory: ai-signals · Methodology v4.5
/llms.txt is an emerging standard.
Signal Source
- Source
https://{domain}/llms.txt (fallback /llms.md, /.well-known/llms.txt)- Kind
- http_response
Score Bands
| Verdict | Condition |
|---|---|
| Pass | a valid llms.txt is fetched and follows the expected markdown structure — a # title, a > description blockquote, and at least one ## section |
| Partial | an llms.txt (or fallback) file is fetched but its markdown is incomplete — missing the title, the description, or any ## section |
| Fail | no llms.txt is found at /llms.txt, /llms.md, or /.well-known/llms.txt, or the response is empty |
Description
The llms.txt Presence parameter checks whether your site publishes a valid /llms.txt file: a markdown summary that tells AI systems what your site offers without crawling every page. friendly4AI scores it 100 when a well-formed file is found, 50 when the file exists but is incomplete, and 0 when no file is present at any expected path.
What does the llms.txt parameter measure?
/llms.txt is an emerging standard. The file is a short markdown summary of your site written for AI systems, and this parameter checks whether you publish one. The scanner tries /llms.txt first, then falls back to /llms.md and /.well-known/llms.txt. Once it finds a file, it validates three structural elements:
- a top-level
#title - a
>description blockquote - at least one
##section heading
The scanner also counts the sections and the markdown links inside the file and records those as supporting evidence.
Why does llms.txt matter for AI-readiness?
A well-formed llms.txt works as a curated front door for AI systems. Rather than piecing your purpose together from scattered pages, an LLM reads one concise document that names your site, says what it does, and links to the pages that matter most. That shortcut sharpens how accurately ChatGPT, Claude, and Perplexity describe and cite you, and it hands you control over the framing instead of leaving it to a crawler's guesswork. Adoption is still early, which is why this sits in the methodology as an experimental AI signal: it's published with that status while the standard settles.
How is llms.txt Presence scored?
This experimental AI-Specific Signals parameter is graded across three tiers under the v4.5 methodology, and the scanner applies the published rubric exactly:
- Pass (100) — a file is fetched and valid: it has a
#title, a>description, and at least one##section. - Partial (50) — a file is fetched but the markdown is incomplete, missing any of those three required elements.
- Fail (0) — no file is found at
/llms.txt,/llms.md, or/.well-known/llms.txt, or the response is blank.
Section and link counts go into the report as evidence, but the pass gate is the three-element structure check.
How do I fix llms.txt issues?
- Create
/llms.txtat your site root in markdown: a# Your Site Nametitle on the first line, a> One-line summaryblockquote, and one or more## Sectionheadings. - Link to your most important pages from inside the sections so AI systems can follow them to deeper content.
- Scoring partial? Check that all three required elements are present. A missing description blockquote or section heading is the usual culprit.
- Treat
/llms.txtas the primary path. The/llms.mdand/.well-known/llms.txtfallbacks exist for compatibility, but the root file is the convention. - Read the llmstxt.org specification for the full format, then re-scan to confirm the file validates.
Related parameters
Version History
- Introduced
- v1
- Last changed
- v4.5
Key takeaways
- Signal: https://{domain}/llms.txt (fallback /llms.md, /.well-known/llms.txt)
- Category: AI-Specific Signals
- Passes when: a valid llms.txt is fetched and follows the expected markdown structure — a #…
- Status: Experimental — scoring behaviour may change in future methodology versions.