Mission SEO
Get Your Free SEO Strategy
Lighthouse Agentic Browsing results before and after the fixes: 0/4 on the broken test page, then 3/3 with the accessibility tree, Cumulative Layout Shift and llms.txt audits passing

How to improve agentic browsing scores for Google Lighthouse

By Mission SEO staff

· 8 min read

To improve agentic browsing scores in Google Lighthouse, fix the audits Lighthouse actually counts: give every button, link and form field an accessible name, keep Cumulative Layout Shift (CLS) at 0.1 or lower, and make /llms.txt return a valid file or a plain 404. Add WebMCP only to forms agents should complete, and gate releases on the pass ratio the report shows, not the JSON category score.

In a test we ran on October 13, 2026, these fixes took a mock B2B SaaS page from 0/4 to 3/3.

What counts toward the agentic browsing score

Lighthouse 13.5.0, the current CLI release, has seven audits in the category. Release notes place version 13.4.1, which lacks the ai-catalog.json check, in DevTools from Chrome 152, and 13.5.0 from Chrome 156. The report divides passed by counted audits, leaving out not applicable and informative ones. With a pass mark of 0.9, one failure keeps the ratio out of the green.

Audit

Counted when

Passes when

Accessibility tree is well-formed

Always

None of 33 axe-core rules fails on the page

Cumulative Layout Shift

Page-load runs

CLS is 0.1 or lower (score 0.9)

llms.txt follows recommendations

/llms.txt returns anything but a 4xx

2xx within 2 seconds, with an H1 line, a Markdown link and 50+ characters

ai-catalog.json schema is valid (13.5.0)

A discovery signal exists or /.well-known/ai-catalog.json returns 200

No conformance errors

WebMCP schemas are valid

The browser exposes WebMCP and the page has tools or tool issues

No errors or warnings (warnings score 0.5)

WebMCP form coverage

Only when every form is annotated; otherwise informative

Every form has WebMCP annotations

WebMCP tools registered

Never (informative)

Not scored

What moved the score in our test

We built a mock B2B SaaS landing page, served it locally and ran the Lighthouse 13.5.0 CLI against eight versions on October 13, 2026 (headless Chromium 141, mobile settings). Repeat runs matched. Chromium 141 lacks WebMCP, so those three audits were not applicable.

Page version

Ratio

What decided it

Broken page; every URL returns the HTML app shell

0/4

Four axe rules failed, CLS was 0.189, and both discovery URLs returned HTML

Fixed page; /llms.txt returns 404

2/2

llms.txt and ai-catalog.json not applicable

Fixed page plus a spec-shaped llms.txt

3/3

All counted audits passed

Fixed page; one-line llms.txt

2/3

No links, under 50 characters

Fixed page; /llms.txt returns 500, redirects home or takes 3 seconds

2/3 each

Server error, HTML after the redirect, timeout

Fixed page with one unlabeled icon button

1/2

Accessibility category still scored 91

Without llms.txt, ai-catalog.json or WebMCP tools, a page has two counted audits and can show 2/2. Publishing llms.txt adds a check you can fail; it can't fix one that's failing. The same banner measured CLS 0.189 with mobile settings and 0.112 with the desktop preset, so test both.

What you need before you start

  • Chrome 150 or later for the category in DevTools, stable since June 30, 2026

  • Node.js 22.19 or later for the Lighthouse 13 CLI

  • Access to templates, or a developer who has it

  • Access to server or CDN rules for /llms.txt and unknown URLs

  • For WebMCP tests, the origin trial (Chrome 149 through 162) or the chrome://flags/#enable-webmcp-testingflag

  • Eight CLI runs; each local test run took under 15 seconds

How to improve your agentic browsing score in Lighthouse

1. Run a baseline on your key templates

In Chrome DevTools, open the Lighthouse panel, select Agentic Browsing and click Analyze page load. For repeatable runs, use the CLI:

npx lighthouse@13.5.0 https://www.example.com/pricing \
  --only-categories=agentic-browsing \
  --output=json --output-path=./pricing.json

Test the homepage, pricing, demo-request and one docs page in mobile and --preset=desktop runs. Expected result: a ratio and failing audits per template.

Illustration of a Lighthouse Agentic Browsing result of 2/3. Failed: llms.txt does not follow recommendations, no links and too short. Passed: accessibility tree is well-formed, and Cumulative Layout Shift at 0.021. Not applicable and not counted: the ai-catalog.json schema check and the WebMCP audits.
Illustration: the result is passed audits over counted audits, here 2/3. Not applicable audits are left out of the count.

2. Clear every failing accessibility rule, not only the element shown

The accessibility tree audit fails if any of these 33 axe-core rules fails on the page: button-name, input-button-name, input-image-alt, label, link-name, select-name, document-title, aria-allowed-attr, aria-allowed-role, aria-command-name, aria-conditional-attr, aria-dialog-name, aria-hidden-body, aria-hidden-focus, aria-input-field-name, aria-prohibited-attr, aria-required-attr, aria-required-children, aria-required-parent, aria-roles, aria-text, aria-toggle-field-name, aria-tooltip-name, aria-treeitem-name, aria-valid-attr, aria-valid-attr-value, duplicate-id-aria, definition-list, table-duplicate-name, tabindex, autocomplete-valid, presentation-role-conflict and svg-img-alt.

Agents read the accessibility tree, so a missing name blocks them as it blocks screen reader users. The agentic report shows only the first failing element per rule, so run the Accessibility category too, which lists every node. Fix components, not pages: aria-label on icon buttons, <label for> on fields, hidden text in icon links. Two rules, aria-allowed-role and table-duplicate-name, carry zero weight in the Accessibility score, so a page can score 100 there and still fail here.

Expected result: "Accessibility tree is well-formed" passes.

Illustration of the failed audit Accessibility tree is not well-formed, listing one element per failing rule: button-name on a search icon button, with three more icon buttons not listed; label on an email input; and link-name on a pricing link. A note says to fix the component and to run the Accessibility category to see every failing node.
Illustration: the agentic report shows only the first failing element for each rule. The Accessibility category lists every node.

3. Bring CLS to 0.1 or lower on every tested template

Lighthouse scores CLS on a curve where 0.1 maps to 0.9. Running Lighthouse's own scoring function, CLS 0.05 scores 0.99, 0.12 scores 0.84 and 0.189 scores 0.65, so anything above 0.1 fails here.

Line chart of the Lighthouse CLS audit score, falling from 1.00 at CLS 0 to about 0.25 at CLS 0.4 and crossing the 0.9 pass mark at CLS 0.1. The test page scored 1.00 at CLS 0.021 once fixed, and 0.86 at CLS 0.112 with the desktop preset and 0.65 at CLS 0.189 with mobile settings while broken.
CLS audit score by CLS value, from Lighthouse 13.5.0's scoring function. Only 0.1 or lower reaches the 0.9 pass mark.

Set width and height on images, reserve space for banners, consent bars and chat launchers, and don't insert content above what has rendered. In our test, image dimensions and a reserved 70-pixel banner slot cut CLS from 0.189 to 0.021. Lighthouse sees only load-time shifts, while field CLS covers the whole visit, so check Core Web Vitals data too.

Mission SEO fixes LCP, INP and CLS at the template level and ships the biggest fixes in weeks 3 to 6 of an engagement. Expected result: CLS passes in both form factors.

4. Make /llms.txt and ai-catalog.json return a real file or a real 404

Lighthouse fetches /llms.txt from the tested origin's root and, in our test, followed redirects. A 4xx is not applicable; any other response must meet the table's rules, including the 2-second limit. Check both URLs:

curl -sI https://www.example.com/llms.txt
curl -sI https://www.example.com/.well-known/ai-catalog.json

If either returns 200 with your app shell, make unknown paths return 404. If you publish llms.txt, this file passes and follows the llms.txt proposal:

# Example SaaS
> Example SaaS is revenue analytics software for B2B finance teams.

## Product
- [Pricing](https://www.example.com/pricing): plans and what each tier includes
- [Security](https://www.example.com/security): SOC 2 report and data handling

## Docs
- [API reference](https://docs.example.com/api): endpoints and authentication

Search ignores llms.txt, so publish it for agents, not rankings, and add one per origin you test, such as a docs subdomain.

The ai-catalog.json check, new in 13.5.0, validates manifests from the Agentic Resource Discovery proposal, which has since moved to /.well-known/ard.json (v0.91, August 26, 2026). Unless you publish MCP servers or agents, return 404. Expected result: llms.txt passes or is not applicable; ai-catalog.json is not applicable.

5. Add WebMCP to the forms agents should complete

WebMCP audits stay not applicable until the testing browser exposes WebMCP, through the origin trial or the flag. Then annotate one form with the Declarative API:

<form action="/demo" method="post" toolname="request_demo"
      tooldescription="Requests a product demo. Sales replies by email.">
  <label for="email">Work email</label>
  <input id="email" name="email" type="email" required>
  <label for="company">Company</label>
  <input id="company" name="company" type="text">
  <button type="submit">Request demo</button>
</form>

Schema validity fails on errors (a toolname without a tooldescription, or a required field without a name) and on warnings (a field with no label or toolparamdescription), which score 0.5. Keep each page under 40 tools, and add allow="tools" if the form sits in a cross-origin iframe, such as an embedded scheduler. Expected result: "WebMCP schemas are valid" passes.

Illustration of the WebMCP tools registered audit listing one declarative tool, request_demo, described as Requests a product demo. Sales replies by email, with a required email parameter and an optional company parameter, taken from the form's toolname and tooldescription and each field's label.
Illustration: a form with toolname and tooldescription is listed as a declarative tool, with its fields as parameters.

6. Gate releases on the pass ratio, not the JSON score

The JSON field categories['agentic-browsing'].score is a weighted average of audit scores. A page that passes the accessibility check with CLS at 0.15 gets (1 + 0.76) / 2 = 0.88 there, while the report shows 1/2. This script counts like the report and fails the build on any counted failure:

// agentic-check.mjs. Usage: node agentic-check.mjs report.json
import fs from 'node:fs';
const lhr = JSON.parse(fs.readFileSync(process.argv[2], 'utf8'));
const cat = lhr.categories['agentic-browsing'];
let passed = 0, counted = 0;
for (const ref of cat.auditRefs) {
  const a = lhr.audits[ref.id];
  if (['notApplicable', 'informative', 'manual'].includes(a.scoreDisplayMode)) continue;
  counted++;
  if (a.score >= 0.9) passed++;
  else console.log(`FAIL ${ref.id} (score ${a.score})`);
}
console.log(`Agentic Browsing: ${passed}/${counted}`);
process.exit(passed === counted ? 0 : 1);

Expected result: any counted failure fails the pipeline.

Common mistakes and how to fix them

Mistake

Result

Fix

Fixing only the element the report lists

The rule still fails elsewhere

Clear every node the Accessibility category lists

Returning 200 for unknown URLs

llms.txt and ai-catalog.json fail

Return 404 for missing paths

Publishing a one-line llms.txt

Fails on links and length

Add a summary and links, or remove it

Adding WebMCP to raise the ratio

Adds checks without fixing failing ones

Add tools where agents should act

Gating CI on the JSON category score

Failures pass the gate

Gate on passed over counted

Next steps

  1. Baseline four templates in both form factors this week.

  2. File one ticket per failing rule and component, and one per template with CLS above 0.1.

  3. Publish an llms.txt that passes, or return 404.

  4. Add WebMCP to one form agents should complete, and test with the flag on.

  5. Add agentic-check.mjs to CI.

A full ratio doesn't show whether ChatGPT, Gemini or Claude recommend your product; Mission SEO tracks that weekly in its SEO for B2B SaaS program.

You can do every step yourself. To hand it off, Mission SEO's technical SEO service delivers audit findings in about two weeks for most B2B sites, fixes what it can in WordPress, Webflow, Contentful or Framer, writes developer tickets for the rest and monitors releases for indexing and speed breaks.

Get a technical audit

Sources and date checked: Chrome for Developers documentation, Lighthouse release notes and Lighthouse 13.5.0 source code, checked October 13, 2026. Test results come from a mock page in a sandbox; your numbers will differ. Google labels the category experimental.

Frequently asked questions

Does the agentic browsing score affect Google rankings?

Google hasn't said the agentic browsing score affects rankings, and Lighthouse is a diagnostic tool, not a ranking system. Google's guide to generative AI features says Search needs no AI text files or special markup and ignores llms.txt. Treat the score as a readiness check for browser agents.

Can I see the agentic browsing score in PageSpeed Insights?

The Lighthouse 13.4.1 release notes say it enabled the Agentic Browsing category through the PageSpeed Insights API in Lighthouse Viewer, and each release is expected to reach PageSpeed Insights within two weeks. For WebMCP results, test locally, where you control browser flags.

Do I need Chrome Canary to run the agentic browsing audit?

No. Chrome 150, the first version with the category in DevTools, reached stable on June 30, 2026. The Lighthouse CLI bundles its own audit code, so it runs the category with older Chrome too; our test used Chromium 141. Only the WebMCP audits need a WebMCP-enabled browser.

Why does my agentic browsing score change between runs?

Results change when the page does. Late banners move CLS, WebMCP tools registered by JavaScript can miss Lighthouse's capture, and DOM changes alter the accessibility tree. A slow llms.txt fails after 2 seconds, and mobile and desktop settings measure CLS differently.

Sources

  1. Lighthouse agentic browsing scoring, Chrome for Developers

  2. llms.txt audit, Chrome for Developers

  3. WebMCP schema validity audit, Chrome for Developers

  4. Registered WebMCP tools audit, Chrome for Developers

  5. WebMCP, Chrome for Developers

  6. WebMCP Declarative API, Chrome for Developers

  7. Lighthouse v13.5.0 release notes, GitHub

  8. Lighthouse v13.5.0 source code, GitHub

  9. Chrome release schedule, Chromium Dash

  10. WebMCP feature status, Chrome Platform Status

  11. The /llms.txt file proposal, llmstxt.org

  12. Agentic Resource Discovery specification v0.91

  13. Optimizing for generative AI features, Google Search Central

  14. Cumulative Layout Shift (CLS), web.dev

  15. Build agent-friendly websites, web.dev

More in Blog

See all →

Work with Mission SEO

Rank #1 on Google and in AI answers

We’re a B2B SEO and AEO agency. Book a free 30-minute call with a senior consultant: we look at your site before we talk, so you leave knowing what to fix first.

Get Your Free SEO Strategy

Book your free audit

30 minutes with a senior consultant, not a sales rep.

  1. Your details
  2. Pick a time