Platinum.ai
← Back to blog

Technical · Antti Pasila · 7 min read

Chrome Lighthouse Now Checks Your llms.txt. Here's What It Tests and How to Pass.

Google added an llms.txt audit to Lighthouse's new Agentic Browsing category. We read the source code: here is exactly what it checks, why perfectly valid files still fail, and how to test yours.

Laptop in a dark room showing an audit dashboard with score gauges beside a plain text file

Key takeaways

  • Lighthouse fetches /llms.txt from your site's origin. A 404 is marked Not Applicable; a server error or a fetch slower than 2 seconds fails.
  • An existing file passes when it has a Markdown H1, at least one Markdown link, and at least 50 characters. That is a format check, not a quality check.
  • The most common failure on valid files is speed: dynamically generated, uncached llms.txt files can miss the 2-second fetch window.

In April 2026, Google merged an llms.txt check into Lighthouse, the auditing tool built into Chrome DevTools and PageSpeed Insights. It sits in a new category called Agentic Browsing, which measures how well a site is built for AI agents rather than for human visitors.

Most coverage stopped at the headline. We read the audit's source code instead, because the details decide whether your file passes, fails, or is ignored entirely. Here is what it actually does.

What changed, and when

  • April 20, 2026: the llms.txt check is merged into Lighthouse (pull request #16970), followed by refined validation rules about a week later.
  • May 7, 2026: Lighthouse 13.3.0 adds the Agentic Browsing category to the default configuration, shipping in Chrome 150 DevTools and PageSpeed Insights.
  • June 2026: the header check is relaxed to allow leading whitespace, and failed fetches start reporting the underlying error.
  • Today: Lighthouse 13.5.0 (September 18, 2026) runs the same llms.txt rules. Google labels the whole category experimental and subject to change.

What the Lighthouse llms.txt audit checks

The audit does one fetch and then applies a short decision tree. It requests /llms.txt from the origin of the page you tested, after redirects. Test https://www.example.com/pricing and it fetches https://www.example.com/llms.txt; if www redirects to the bare domain, it fetches the bare domain's file.

  1. The fetch fails or takes longer than 2 seconds: the audit fails with "Fetch of llms.txt failed".
  2. The server returns a 5xx error: the audit fails with "Failed with HTTP status" and the code.
  3. The server returns any 4xx, including 404: the audit is marked Not Applicable. Having no file is not penalized, because the file is optional for now.
  4. The server returns the file: Lighthouse runs three content checks, and all three must pass.

The three content checks

  • An H1 header: a line starting with # followed by a space and text, such as "# Your Business Name". Leading whitespace is allowed.
  • At least one Markdown link in the form [text](url). Bare URLs do not count.
  • At least 50 characters in total. Anything shorter is flagged as "suspiciously short".

That is the whole audit. It does not validate the rest of the llms.txt specification, check that links resolve, or judge whether the content is useful. A file with a title, one sentence, and one link passes.

Why valid llms.txt files still fail

The most common way a valid file fails is not formatting. It is the 2-second fetch timeout, which is hard-coded in Lighthouse's resource fetcher. A file can return 200 in your browser and still fail the audit.

A public example from the Lighthouse issue tracker: a WordPress site whose SEO plugin generated llms.txt from the database on every request, 882 links across 18 sections, served uncached through Cloudflare. A plain curl took 2.3 seconds. Lighthouse reported "Fetch of llms.txt failed" even though the file was spec-compliant. Adding an edge cache rule brought the response to about 120 milliseconds.

  • Serve llms.txt as a static file, or cache it at the edge. Treat it like robots.txt, not like a dynamic page.
  • Remember that edge caches are per data center. A warm cache near you can still be cold where PageSpeed Insights runs, so give the file a long cache lifetime.
  • Keep it lean. Hundreds of auto-generated links add bytes and generation time without helping agents.
  • Check the Chrome version in the report footer. The category requires Chrome 150 or later, and runs on older builds have produced misleading fetch failures.

How to test your llms.txt

Start with curl. It tells you the status code, the response time, and whether the first line is an H1, which covers most failures in one command:

curl -s -o /dev/null -w "%{http_code} %{time_total}s\n" https://example.com/llms.txt
curl -s https://example.com/llms.txt | head -1

You want a 200, a time well under 2 seconds, and a first line like "# Example Inc". For our own file, curl reports 200 in 0.43 seconds and the first line is "# Platinum.ai".

Then run the real audit. In Chrome 150 or later, open DevTools, go to the Lighthouse panel, and include the Agentic Browsing category. From the command line:

npx lighthouse https://example.com --only-categories=agentic-browsing --view

A minimal llms.txt that passes

This passes all three checks. It follows the llms.txt specification's shape: an H1, a short blockquote summary, and sections of Markdown links.

# Example Bakery

> Family-run bakery in Austin, Texas. Sourdough, custom cakes, and catering for up to 200 guests. Order online or call ahead for same-day pickup.

## Key pages

- [Menu and prices](https://example.com/menu): Full menu with current prices
- [Custom cakes](https://example.com/cakes): Lead times, sizes, and ordering
- [Hours and location](https://example.com/visit): Opening hours and parking

What passing does and does not mean

Passing is not a Google ranking factor. Google's Search team has said plainly that llms.txt is not needed for Search, and this audit does not change that. Lighthouse is measuring something else: how cheaply and reliably an AI agent can understand your site. Both statements are true at once.

Passing also does not mean your file is good. The bar is one header, one link, and 50 characters. In our scan of 69 small business sites, 24 had an llms.txt file, 13 of those were near-identical auto-generated templates, and only 4 were properly structured. A template with a title and a list of links clears this bar while telling an agent almost nothing about what the business does, who it serves, or what it costs.

Treat the audit as a floor. It confirms that agents can fetch and parse your file. Whether they can recommend you from it depends on what you put inside.

The rest of the Agentic Browsing category

llms.txt is one of seven audits in the category. Unlike Performance or SEO, Agentic Browsing has no 0 to 100 score. It shows a fraction of checks passed, because Google says the standards are still emerging.

  • Agent accessibility: whether the accessibility tree, which agents use as their main model of the page, has names, labels, and valid roles.
  • WebMCP: three audits covering registered tools, form coverage, and schema validity. They require joining the WebMCP origin trial.
  • Cumulative Layout Shift: elements that move make agents click the wrong thing.
  • Agent discoverability: the llms.txt audit, plus a schema check for agent resource discovery.

If you want the wider picture first, run a free AI readiness audit on your domain. It checks llms.txt presence and quality alongside robots.txt rules for AI crawlers, sitemaps, structured data, and page weight, then tells you what to fix first.