Lighthouse fails in your Llms.txt without Markdown links


Chrome’s new Lighthouse agentic browsing audit addresses your .txt file as a markdown document. If your llms.txt does not use markdown link syntax, you fail the audit, even if every link in the file is correct and working. I performed the audit on nohacks.co. Two of the six audits were successful. Three came back with no object. A failure: the llms.txt audit, with the textual error “The file does not appear to contain any links.” The fix was five characters per link. The file is always served as plain text. Only the audit result has changed.

Lighthouse 13.3.0 shipped the Agentic Navigation category alongside performance, accessibility, SEO and best practices. Six audits overall by default: good formation of the accessibility tree (agent-accessibility-tree), cumulative layout offset (cumulative-layout-shift), discoverability llms.txt (llms-txt) and three WebMCP checks (webmcp-registered-tools, webmcp-form-coverage, webmcp-schema-validity). The category returns a fractional success rate instead of a score of 0 to 100, because Web Agent standards are still evolving.

1 in 6 audits failed on Nohacks.co

I performed the audit via the Lighthouse CLI: npx lighthouse@latest https://nohacks.co --only-categories=agentic-browsing. Six audits came back. Three came back with no object, all WebMCP: webmcp-registered-tools, webmcp-form-coverageAnd webmcp-schema-validity. Lighthouse does not give any reason for a non-applicable finding, it simply marks the audit and moves on. nohacks.co exposes WebMCP, but only through the experimental imperative navigator.modelContext API (two glossary tools, two for an agent browser directory), without declarative form annotations. The scan took place in a default headless Chrome 150 with no WebMCP flag, so the not applicable verdict could mean that the website is not exposing any of these recognized audits, or that the scanning environment had no WebMCP API active at that time. Lighthouse doesn’t say which one. Two audits passed without problem: agent-accessibility-tree reported “All audits were passed” confirm that the HTML and ARIA semantic structure is well-formed enough for agents to navigate, and cumulative-layout-shift returned to zero.

An audit failed: llms-txt. The Lighthouse text error message was:

The file does not appear to contain any links.

The category score was 0.67. That was the first surprise. The file at nohacks.co/llms.txt contains many links. Navigation paths to articles, episodes, guests, glossary. RSS feed URLs. Audio file URL templates. The file contains more than five kilobytes of structured content. So why wasn’t Lighthouse reporting any links?

Lighthouse analyzes .txt Like Markdown and rejects plain text links

The file extension is .txtbut Lighthouse parses content as markdown and requires markdown link syntax for any text to be considered a link. The file is named llms.txt. The HTTP server sends it back with a text/plain Type MIME. Open it in a browser and you see plain text. But the llms.txt specification has llmstxt.org sets the format as a markdown document. The specification is explicit: “Each section contains a bulleted list of links. Each item in the list has a link followed by optional notes about the link, separated from the link by a colon.” The Lighthouse parser enforces this strictly. Each link must be coded according to the markdown link syntax, (text)(url)with brackets around the link text and parentheses around the URL.

My file used a more natural plain text format:

- Homepage: / - Publication masthead, cornerstone series, latest articles and episodes
- Articles: /blog - All articles on AXO, the agentic web, and AI agents
- Episode: /episode/(slug) - Full show notes, transcript, audio player

Same destinations. Same descriptions. Same information. Lighthouse’s parser does not record these lines as links. On the entire file it recorded exactly zero. The audit fails.

A file with a .txt extension, served with a text/plain A MIME type, which fails an audit unless formatted as markdown. This is a mismatch that the audit layer will need to be more honest about. The extension says one thing. The MIME type says one thing. The parser is the source of truth and the parser requires markdown.

Fix is ​​5 characters per link

Wrap each link target in markdown bracket-paren syntax, (text)(url)and replace it - separator before each description with : . Five characters per link. Mechanical conversion, repeated throughout the file.

- (Homepage)(/): Publication masthead, cornerstone series, latest articles and episodes
- (Articles)(/blog): All articles on AXO, the agentic web, and AI agents
- (Episode)(/episode/(slug)): Full show notes, transcript, audio player

I made the modification. Rerun the audit. The score went from 0.67 to 1.0. The title of the audit was changed from “llms.txt does not follow recommendations” has “llms.txt follows recommendations.” No details in the subsequent report. Clean pass.

The file is always served as text/plain. The file extension is always .txt. The contents of the file are always the same. Only the link encoding has changed.

Lighthouse measures parsable link syntax, not file quality

The audit checks whether your file is mechanically analyzable. It does not check whether the file usefully describes your website. Both readings are true at the same time.

The first reading: The audit measures something real. Markdown link syntax is mechanically parsable. Plain text descriptive lines are not. If an AI agent (or the Lighthouse parser replacing an agent) needs to extract links from the file programmatically, the markdown format is required. The audit is correct: the file before my fix could not be parsed for links by standard tooling. Converting to markdown link syntax fixes a real interoperability gap.

Second reading: format compliance is not the same thing as file quality. A carefully written, accurate, and complete llms.txt that uses plain text descriptions fails this audit. A thin, automatically generated llms.txt with markdown link syntax passes. Auditing cannot differentiate between the two. The AIOSEO WordPress plugin, used by more than 3 million websites WordPress.org Listgenerates llms.txt files with default markdown link syntax, default behavior Glenn Gabe has surfacedand the plugin’s own documentation confirms this. These automatically generated files use markdown link syntax because that’s what the generator outputs. Most of them probably pass this audit. Most hand-picked, owner-sensitive llms.txt files probably fail.

This gap is worth considering before considering audit pass/fail as a measure of how agent-ready your website truly is. The audit checks whether your file is parsable. It does not check if your file is useful.

Should you care about Lighthouse Agentic Browsing’s Llms.txt check?

Yes, but not by much. Lighthouse can tell you if your llms.txt is parsable as markdown. It can’t tell you whether the file honestly describes your website. This check is yours. Open Chrome DevTools, click the Lighthouse tab, make sure the Navigation agent category is checked and run Analyze on your URL. The audit takes less than a minute. If it fails due to the no link error, the fix is ​​five characters per link and five minutes of editing. If the plan passes, the hardest question will be one that Lighthouse won’t be able to ask. Was the file automatically generated by a plugin you didn’t configure, or did you write it yourself, and in either case, does it actually describe what your website is about?

THE Machine-centric architecture Structural pillar lies beneath it all: pre-layout data models, rendering independence, content that doesn’t rely on client-side JavaScript or human display defaults to be machine readable. The llms.txt audit is a tight check at this layer. The biggest structural question, whether your machine-readable surface accurately describes your website, is up to you.

More resources:


This article was originally published on No hacks.


Featured image: Darko 1981/Shutterstock



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *