Can agents find your site and its capabilities?
The page registers no tools via the WebMCP browser API (navigator.modelContext).
Fix: Expose your actions to AI agents with the WebMCP browser API: register tools via navigator.modelContext.registerTool. Optionally also publish a /.well-known/webmcp.json tool catalog as a discovery signpost.
Discovered 12 candidate pages but none were reachable.
Fix: Make sure the pages linked from your sitemap and navigation return HTTP 200 to non-browser clients — agents fetch them the same way our crawler does.
Found https://betterhelp.com/llms.txt.
Found at least one "[name](url)" markdown link.
Found a "> summary" blockquote.
First line is a top-level "# Title" heading.
Could not identify a known website platform (custom stack or unrecognised).
Can agents understand your content?
Homepage ignored Accept: text/markdown and returned HTML.
Fix: Serve a markdown version of high-value pages when the client asks for text/markdown. AI summarisers, chatbots and IDE agents prefer markdown — fewer tokens, no DOM noise.
Cookie banner appears to overlay the page (fixed/sticky, dialog role) without a clearly-labelled reject affordance.
Fix: Offer a "Reject all" or "Continue without accepting" button alongside "Accept". Agents and non-JS crawlers that can't click through your banner read the page as empty.
Detected 1 heading level skip (e.g. h2 → h4).
Fix: Tighten the heading order so each level only steps down by one. Skipped levels confuse both screen-readers and AI structural extractors.
Only 0/19 images have width+height — large CLS risk.
Fix: Set width and height on every <img> so the browser reserves space before the image loads. A layout that shifts while loading makes an AI agent mis-click the element it targeted.
Missing landmark elements: main.
Homepage server response contains 1504 words of visible text — content is reachable without executing JavaScript.
1 table(s), all with <thead>.
Homepage contains ~692 elements.
Language declared as "en-US".
19 of 19 <img> tags have alt attributes.
31 internal links found.
Exactly one <h1> on the homepage.
Can agents actually operate the page?
1.85s (field data from CrUX) — poor.
Fix: Every request an AI agent makes pays this server latency, and agents make many requests per task. Reduce TTFB with edge caching, a CDN, and shipping less server-side work per request.
The page registers no tools via the navigator.modelContext browser API, so an AI agent has no structured way to operate it.
Fix: Expose your site’s actions to AI agents with the WebMCP browser API: call navigator.modelContext.registerTool({ name, description, inputSchema, execute }) from your page so an agent can invoke them. Implement it directly, or with a library like the @mcp-b polyfill (https://mcp-b.ai). Spec: https://github.com/webmachinelearning/webmcp.
Lighthouse accessibility score: 88/100. Agents read the page through its accessibility tree, so this is a proxy for how navigable your site is to an AI agent.
Fix: Resolve the failing accessibility audits below — each one removes an element or relationship an agent would otherwise be blind to.
No autocomplete attributes on any data-collecting form field.
Fix: Add autocomplete hints (email, tel, name, etc.) so form-filling agents and browsers can populate fields without guessing.
No HTML5 validation hints (pattern / minlength / maxlength / min / max) on any data-collecting form input.
Fix: Publish input constraints via HTML attributes so agents and browsers can validate client-side.
All 13 agent-critical accessibility audits passed — an agent can perceive and operate the page through its accessibility tree.
`[aria-*]` attributes match their roles passed.
`button`, `link`, and `menuitem` elements have accessible names passed.
`[aria-hidden="true"]` is not present on the document `<body>` passed.
`[aria-hidden="true"]` elements do not contain focusable descendents passed.
`[role]`s have all required `[aria-*]` attributes passed.
Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children. passed.
`[role]`s are contained by their required parent element passed.
`[role]` values are valid passed.
`[aria-*]` attributes are valid and not misspelled passed.
`[aria-*]` attributes have valid values passed.
Buttons have an accessible name passed.
Document has a `<title>` element passed.
Links have a discernible name passed.
All 1 data-collecting forms reference errors via aria-describedby / aria-invalid.
1 of 1 visible interactive form fields have labels.
1/1 data-collecting forms mark required fields.
0.030 (field data from CrUX) — good.
No tool catalog was found at /.well-known/webmcp.json (or /.well-known/webmcp). The catalog is a community convention, not part of the WebMCP standard, so this does not affect WebMCP presence.
Fix: Consider also publishing a tool catalog at /.well-known/webmcp.json: a JSON document with a "spec" of "webmcp/0.1" and a "tools" array, where each tool declares a name and a clear description. It is a community convention (optional, not part of the WebMCP standard) that lets crawlers and agents discover your tools without executing JavaScript.
Can agents safely transact?
/.well-known/oauth-authorization-server returned 404.
Fix: Publish /.well-known/oauth-authorization-server so AI agents discovering your OAuth setup can negotiate flows automatically. Required if your site offers an authenticated API.
/.well-known/oauth-protected-resource returned 404.
Fix: Publish /.well-known/oauth-protected-resource so AI agents discovering your OAuth setup can negotiate flows automatically. Required if your site offers an authenticated API.
No Web Bot Auth signature headers — sites can't verify agent identity.
Fix: Web Bot Auth (IETF HTTP Message Signatures over Signature / Signature-Input) lets you cryptographically verify which agent is hitting you. Several CDNs offer turn-key support; otherwise skip until vendor support matures.
x-amz-cf-id: d9RAZDNy5jm44vSQrGFZw5I-V6i3zYzCHvJGt5fB (AWS CloudFront)
CSP header present.
max-age=63072000, includeSubDomains=true, preload=true.
Homepage scheme is https:.
http://betterhelp.com → https://www.betterhelp.com/ (2 hops).
No stack-trace markers in the first 5KB.
Homepage HTML references no http:// resources.
Referrer-Policy: strict-origin-when-cross-origin.
Valid for 233 more days (Mar 11 23:59:59 2027 GMT, issuer: Amazon RSA 2048 M01).
Server / X-Powered-By headers don't leak product version.
X-Content-Type-Options: nosniff.
X-Frame-Options: SAMEORIGIN.