Skip to content

Agent-Ready Website Checklist: 26 Checks and How to Test Each

A 26-item checklist for websites that AI agents like ChatGPT's cloud browser, Claude in Chrome and Gemini auto browse can read and operate. Each check has the reason, the standard behind it and a test, plus results from Lighthouse agentic audits we ran on 15 pages.

Featured image for Agent-Ready Website Checklist: 26 Checks and How to Test Each

An agent ready website is one that an AI agent can read, operate and be let into: the content is in the HTML the server sends, every button, link and form field shows up in the browser's accessibility tree with a clear role and name, the layout does not jump around, forms and checkout work without puzzles, and your bot protection can tell a verified agent from an attacker. Agents such as ChatGPT's cloud browser, Claude in Chrome and Gemini in Chrome's auto browse now click, type and fill forms on real sites, and they fail on the same things that fail screen-reader users.

This page gives you a checklist you can run this week. Each item says why it matters and how to test it, and the tests use free tools: Chrome DevTools, Lighthouse's new Agentic Browsing category, curl and your server logs. Everything was checked against the vendors' own documentation on October 18, 2026, and we ran the tests ourselves on 15 public pages so you can see what typically fails.

Key takeaways

  • Google's Chrome team says agents use the accessibility tree as their primary data model. OpenAI says ChatGPT agent works from screenshots. A site that is agent-ready has to work for both: clean semantic HTML and a stable, visible layout.
  • Most of the checklist is existing standards. WCAG 2.2 criteria such as 4.1.2 Name, Role, Value and 3.3.8 Accessible Authentication cover the majority of what breaks agents.
  • Every major agent stops and hands control back to the person at sign-in, payment or terms acceptance. Design those steps as a clean handoff instead of trying to remove them.
  • Do not block agents by user agent string alone. ChatGPT's cloud browser signs its requests with Web Bot Auth, and Cloudflare, Akamai, HUMAN and Vercel can verify it, so you can allow verified agents and still stop scrapers.
  • Agent sessions are mostly invisible to page-tag analytics. Server or CDN logs with the Signature-Agent header and Google-Agent's user agent are where you can measure them.
  • Newer layers such as WebMCP, llms.txt and Markdown responses are optional extras. Cloudflare found Markdown content negotiation on 3.9% of the top 200,000 domains, and WebMCP is still an origin trial.

What are AI agents doing on websites in 2026?

AI agents are now completing tasks inside websites, not just reading them. The vendors' own help pages describe the same set of jobs: comparing products and prices, adding items to a cart, filling in quote and booking forms, checking availability and preparing a reservation for the person to approve.

  • ChatGPT. OpenAI's cloud browser help page says ChatGPT Work's cloud browser "can read web pages, click buttons, enter information into forms, and carry out steps on supported public and signed-in websites." Its examples include requesting quotes from businesses, comparing local stock and finding a DMV appointment. The older ChatGPT agent mode is still documented and says the agent pauses for the user to take over the browser at log-ins.
  • Claude. Anthropic made Claude in Chrome generally available on every paid plan on August 26, 2026. It reads and types text, clicks links, navigates between pages and fills out forms, using the person's existing log-ins in their own Chrome.
  • Gemini. Google's auto browse support page says Gemini in Chrome can "compare products, search for deals, and add items to your cart," book accommodation and make restaurant reservations. It is limited to US users aged 18+ on Google AI Pro or Ultra.
  • Google-Agent. Google documents a separate Google-Agent user agent that "is used by agents hosted on Google infrastructure to navigate the web and perform actions upon user request."

One product has already disappeared: OpenAI retired its ChatGPT Atlas browser on August 9, 2026 and moved agentic browsing into ChatGPT and Codex. Guides written in late 2025 that tell you to "optimize for Atlas" are now out of date. The underlying mechanics they describe still apply.

Agent (October 2026)Where it runsHow it sees your pageHow it identifies itselfWhere it stops for the person
ChatGPT cloud browser / agent modeA remote browser on OpenAI's serversScreenshots of its virtual browser, per OpenAIWeb Bot Auth signature with Signature-Agent: "https://chatgpt.com"Sign-in, two-factor codes, bookings, payments
Claude in ChromeThe person's own Chrome, as an extensionPage content returned to Claude as tool results; Anthropic does not publish a fixed methodNo separate user agent documented; it uses the person's normal browser sessionActions a classifier flags as not matching the request
Gemini in Chrome auto browseThe person's own ChromeNot documented on the support pageNo separate user agent documentedSubmitting forms (confirm), payment, accepting terms, creating accounts (take over)
Google-AgentGoogle infrastructureNot documentedcompatible; Google-Agent user agent, IPs in user-triggered-agents.json, Web Bot Auth trial as https://agent.bot.googNot documented

The practical point of the table: agents that run in the person's own browser look like normal visitors, so they hit your site exactly as your accessibility and UX work allows. Agents that run on a vendor's servers also have to get past your bot protection. A checklist has to cover both.

How do AI agents perceive a page?

AI agents read a page through three channels: the raw HTML and DOM, the browser's accessibility tree, and screenshots interpreted by a vision model. Google's web.dev guide Build agent-friendly websites names all three and says modern agents combine them. The vendors lean on different channels:

  • Accessibility tree. The Chrome team's agent-ready toolkit post (June 22, 2026) says: "Agents rely on the accessibility tree, derived from DOM for assistive technology (AT), as their primary data model." The tree is the browser's summary of every element's role (button, link, textbox), name ("Add to cart") and state (checked, expanded, disabled).
  • Screenshots. OpenAI's help page says "ChatGPT agent uses screenshots of its virtual browser window to 'see' and interact with web pages." Anthropic's computer use documentation describes the same model: Claude receives a screenshot and returns clicks at pixel coordinates, and the docs warn that "some UI elements (such as dropdowns and scrollbars) might be tricky for Claude to manipulate using mouse movements."
  • DOM. web.dev notes agents use nesting to infer relationships, for example that a "Buy Now" button inside a product container belongs to that product.

What the accessibility tree shows for common markup

To make this concrete, we rendered eight common patterns in headless Chrome 155 and dumped the accessibility tree with Puppeteer's accessibility.snapshot(). This is the exact output, trimmed to the interactive parts:

MarkupWhat the accessibility tree exposesWhat an agent can infer
Add to cart
StaticText "Add to cart"Some text. Nothing says it can be clicked.
button "Add to cart"A control with a clear action.
Icon-only button (no name)A button that does something unknown.
Same button with aria-label="Search"button "Search"A search button.
textbox "you@example.com"The example value becomes the field's name.
textbox "Email address"An email field, unambiguously.
Size: M
StaticText "Size: M"Text. Not a choice it can change.
+ native combobox "Size" value=M with options S and MA size picker, its current value and every option.

Two of these eight patterns turn a working control into plain text, and one leaves a button with no name. On screen, all eight look fine. This is why accessibility conformance and agent readiness overlap so heavily, and why the WebAIM Million 2026 numbers matter here: 95.9% of the top one million home pages had detectable WCAG failures, 51% had missing form input labels, 46.3% had empty links and 30.6% had empty buttons.

Is agent readiness the same as AI search optimization?

No. AI search optimization is about being found and cited; agent readiness is about being usable once an agent arrives. The Chrome team draws the same line: agents searching the web follow normal SEO principles, while agents using the web need the work in this checklist. For search, Google's guide to generative AI features says there are no additional requirements to appear in AI Overviews or AI Mode. Nothing here is a ranking trick. It decides whether an agent that already chose your site can finish the job, or gives up and tries a competitor.

The agent-ready website checklist

The checklist below has 26 checks in seven groups. Work top to bottom: access and rendering problems stop an agent before anything else matters, while the machine-readable extras at the end only help once the basics pass. Each row links the check to the standard or vendor document behind it.

#CheckWhy it mattersHow to test it
1. Access and verification
1Key pages (home, category, product, pricing, contact, booking) return the real page to verified agents, not a challengeOpenAI says sites' security measures can block its cloud browser and "each website ultimately decides" whether to allow itFilter CDN or WAF logs for Cloudflare bot tag chatgpt-agent or the Signature-Agent header and check the response codes
2Allow rules are keyed to verified identity (signature, detection ID or published IP list), never to a user agent string aloneGoogle warns user agent strings "can be spoofed"; Cloudflare caught a crawler impersonating Chrome on macOSRead each allow rule and confirm what it matches on
3Rate limits answer with HTTP 429 and a Retry-After header instead of a silent block or a CAPTCHA wallRFC 6585 defines 429 so a client knows to slow down rather than failSend a burst of requests from a test client and inspect status and headers
4You know which controls actually apply to agents: robots.txt for crawlers, WAF rules for user-triggered agentsGoogle says user-triggered fetchers "generally ignore robots.txt rules"List each AI bot you care about and the control (robots group, WAF rule) that governs it
2. Rendering and JavaScript
5Main content, prices, stock and key facts are in the server-rendered HTMLAgents read raw HTML as one of their three inputs; Google recommends server-side rendering, static rendering or hydrationcurl -s URL | grep -i "your price", or load the page with JavaScript disabled
6Shipping, returns, pricing tiers and specs are not only inside hover menus, click-to-load tabs or imagesContent that needs a specific interaction to exist may never be seenSearch the rendered DOM (DevTools Elements, Ctrl+F) for each fact without clicking anything
7Agents and people get the same contentGoogle calls dynamic rendering "a workaround and not a recommended solution" and treats substantially different content as cloakingCompare the HTML served to a bot user agent with the HTML served to Chrome
3. Accessibility tree
8Every control is a native element: WCAG 4.1.2 Name, Role, Value; a clickable
appears as plain text in the tree
DevTools > Elements > Accessibility pane, or enable the full-page accessibility tree view
9Every button and link has an accessible name, including icon-only onesAn unnamed button is a guess; 30.6% of top home pages have empty buttons (WebAIM 2026)Lighthouse rules button-name and link-name
10ARIA is only used where native HTML cannot do the job, and every role is valid for its elementThe W3C ARIA Authoring Practices Guide opens with "No ARIA is better than bad ARIA"Lighthouse rules aria-allowed-role, aria-roles, aria-valid-attr-value
11Headings, lists, tables and landmarks express the page's real structureWCAG 1.3.1 Info and Relationships; agents use nesting to tie buttons to productsDevTools accessibility tree, or a headings-outline extension
12Dialogs are real dialogs with a name, and nothing focusable sits inside aria-hiddenHidden-but-focusable elements confuse both screen readers and agentsLighthouse rules aria-dialog-name and aria-hidden-focus
4. Forms and checkout
13Every input has a programmatic label, not just placeholder text51% of top home pages have unlabeled inputs; a placeholder becomes a misleading nameLighthouse rule label; inspect each field's computed name in DevTools
14Personal-data fields use valid autocomplete tokens (email, tel, postal-code, cc-number)WCAG 1.3.5 Identify Input Purpose makes the field's meaning machine-readableLighthouse rule autocomplete-valid
15Errors are text, linked to the field, and say how to fix the problemWCAG 3.3.1 and 3.3.3; an agent working from screenshots cannot read a red borderSubmit the form empty and read what the accessibility tree announces
16Browse, compare, cart and quote steps work without creating an accountGemini hands account creation back to the person; forced sign-up ends the agent's taskWalk the journey in a private window, signed out
17Log-in allows paste and password managers, with no memory or puzzle testWCAG 3.3.8 Accessible Authentication (Minimum) names password managers and copy-paste as compliant mechanismsTry pasting into the password field; check the login has an alternative to puzzle CAPTCHAs
18A clear review step shows item, quantity, price, fees and delivery before paymentEvery major agent stops before payment; the person needs one screen that proves the cart is rightScreenshot the review step and check every number is visible as text
19CAPTCHAs and step-up checks appear only at real risk points (account creation, payment, password reset)A challenge on search or product pages blocks agents doing harmless researchList every page that can show a challenge in your bot-management settings
5. Layout stability
20Cumulative Layout Shift is 0.1 or lessLighthouse's agentic category includes CLS because an agent clicking a shifted coordinate hits the wrong thingLighthouse or PageSpeed Insights
21No transparent overlays over controls; cookie banners close with a named button; targets are visible and larger than 8 square pixelsweb.dev says covered nodes may be discarded and tiny targets filtered outClick through the page with the cookie banner open; inspect stacking with DevTools Layers
6. Machine-readable layer
22Product, Offer, Organization and LocalBusiness structured data matches what the page showsGives agents unambiguous price, availability and identity; mismatches erode trustGoogle's Rich Results Test and the Schema Markup Validator
23Shipping, returns, pricing and contact policies live on stable, plain-HTML URLs linked from the footerAgents comparing options look for these facts firstOpen each policy URL with curl and confirm the text is in the response
24Optional: llms.txt, Markdown responses, WebMCP tools, an ai-catalog.jsonLighthouse now checks llms.txt, WebMCP and ai-catalog.json, but adoption is tiny and Google Search does not use llms.txtLighthouse Agentic Browsing category; curl -H "Accept: text/markdown"
7. Measurement
25CDN or server logs keep the user agent, verified-bot tag and Signature-Agent headerPage-tag analytics cannot see headers and cannot tell an in-browser agent from a personQuery a day of logs for chatgpt.com in Signature-Agent and Google-Agent in the user agent
26Your top three journeys are re-tested with real agents each monthAgents and your site both change; a passing audit does not prove a task completesAsk ChatGPT, Claude in Chrome and Gemini to do the task and record where each one stops

What we found when we ran these checks on 15 pages

We ran Lighthouse 13.5.0's Agentic Browsing category on 15 pages on October 18, 2026: the home pages of 13 well-known retail, travel, restaurant and SaaS sites, plus our own home and pricing pages. We also probed the 14 home pages with curl. One page could not be audited because the site returned a 403 to headless Chrome, which leaves 14 audited pages. We report results in aggregate and do not name sites that failed, because a single run from one location is a snapshot, not a verdict.

CheckResultWhat it looked like
Accessibility tree well-formed (Lighthouse agent-accessibility-tree)9 of 14 passedOf the 5 failures, 4 were caused by ARIA someone had added, not by missing ARIA: a search
given role="region", a given role="button" as a menu toggle, a carousel slide with a role its element does not allow, and tabs whose role="tab" links were not direct children of the tablist. The fifth had an icon-only button, a card link and an SVG icon with no accessible name.
Cumulative Layout Shift 0.1 or less13 of 14 passedOne restaurant-booking home page measured 0.26. Our own pricing page measured 0.096, closer to the limit than we would like.
llms.txt (Lighthouse llms-txt)7 passed, 3 failed, 4 not applicableFailures were a fetch timeout, a failed fetch and a file that "does not appear to contain any links."
WebMCP tools registered1 of 14Target's home page registers an imperative WebMCP tool, search_products, whose description tells agents to use filter_products next. Lighthouse also listed 3 forms on that page without declarative WebMCP annotations.
ai-catalog.json (Lighthouse ard-schema)0 of 14No page published one.
Markdown on Accept: text/markdown (curl)0 of 14None returned Markdown. Sites answered with HTML, a redirect, an error or a timeout, and one returned 406 Not Acceptable.
Plain HTTP client with a Chrome user agent string (curl)4 of 14 refused or timed outTwo returned 403 or 429 and two timed out. A fifth site answered normally to the Chrome string but returned 403 when the user agent named itself as a bot. Bot management judges far more than the user agent.

Three lessons from this small sample. First, the accessibility failures were mostly bad ARIA rather than missing ARIA, which matches the APG's warning and WebAIM's finding that pages with ARIA average more errors. Second, a page can pass every Lighthouse agentic check and still block agents at the network edge, since Lighthouse loads the page as a browser would. Third, WebMCP has moved from demo to at least one major retailer's production home page, so it is worth watching even though it is still an origin trial.

Rendering and JavaScript: does the content exist before anyone clicks?

The first test is whether your important content is in the HTML the server sends. Agents that read the DOM or raw HTML see whatever is there when they look, and a page that builds its prices, stock or specs with client-side JavaScript after several API calls gives them less to work with and more chances to time out.

Google's own guidance has not changed: its dynamic rendering documentation says dynamic rendering "was a workaround and not a long-term solution" and recommends "server-side rendering, static rendering, or hydration" instead. That matters because a new category of products serves bots a separately rendered copy of your page. Profound's Dynamic Bot Rendering (October 11, 2026) is one example. It is a fast fix when you cannot change your front end, and Google says it will not treat dynamic rendering as cloaking as long as the content is similar. The risk is drift: if the bot copy and the human page diverge, you are serving different content to different visitors. Fixing rendering at the source is the durable option.

How to test it in five minutes:

  1. Run curl -s https://yoursite.com/product-page | grep -i "price" and check that the real price, product name and stock status are in the response.
  2. Open the page in Chrome, open DevTools, press Ctrl+Shift+P (Cmd+Shift+P on Mac), run Disable JavaScript and reload. Anything that vanishes depends on client-side rendering.
  3. Check pricing tables, shipping costs and return windows specifically. These are the facts agents compare and the ones most often hidden in tabs or loaded lazily.
  4. If you use a single-page-app framework, confirm server-side rendering or static generation is on for these templates, not only for the home page.

The AI Rank Lab SEO, AEO and GEO audit automates part of this: it crawls a URL, checks robots.txt, the sitemap and llms.txt, parses the JSON-LD, and flags content sitting behind tabs, accordions and modals. Our Chrome extension runs the same audit on the page as your browser rendered it, so you can compare the JavaScript and no-JavaScript views.

Accessibility tree: how to make every control readable

The fastest way to make a page usable by agents is to make it conform to WCAG 2.2, the current W3C standard (published October 5, 2023 and approved as ISO/IEC 40500:2025). Three success criteria do most of the work:

  • 4.1.2 Name, Role, Value: every user interface component exposes what it is, what it is called and what state it is in. This is literally what an agent reads from the tree.
  • 1.3.1 Info and Relationships: structure shown visually (headings, lists, tables, groups of fields) is also in the markup.
  • 1.3.5 Identify Input Purpose: fields that collect personal data say what they collect with autocomplete.

Use native HTML before ARIA. The W3C's ARIA Authoring Practices Guide puts it bluntly: "No ARIA is better than bad ARIA." WebAIM's data backs this up: home pages with ARIA present averaged 59.1 detected errors against 42 for pages without, though WebAIM notes the pages using ARIA also tend to be more complex.

Which accessibility rules does Lighthouse check for agents?

Lighthouse's agentic category does not run the full accessibility audit. We read the Lighthouse 13.5.0 source: the agent-accessibility-tree audit filters to 33 axe-core rules that matter for machine interaction. They fall into four groups:

  • Names: button-name, input-button-name, input-image-alt, label, link-name, select-name, document-title, svg-img-alt and the ARIA naming rules (aria-command-name, aria-dialog-name, aria-input-field-name, aria-toggle-field-name, aria-tooltip-name, aria-treeitem-name).
  • Valid ARIA: aria-allowed-attr, aria-allowed-role, aria-conditional-attr, aria-prohibited-attr, aria-required-attr, aria-roles, aria-valid-attr, aria-valid-attr-value, presentation-role-conflict.
  • Tree integrity: aria-required-children, aria-required-parent, definition-list, duplicate-id-aria, table-duplicate-name, aria-text.
  • Visibility and focus: aria-hidden-body, aria-hidden-focus, tabindex, plus autocomplete-valid for forms.

Color contrast, image alt text in general and heading order are not in the agent subset. They still matter for people, so keep running the full accessibility audit too.

To test: open Chrome DevTools, select an element and open the Accessibility pane to see its computed name and role. The DevTools accessibility reference also shows how to switch the Elements panel to a full accessibility tree view, which is the closest thing to seeing your page the way an agent's primary data model does.

Diagram of a web page split into three layers an AI agent reads: the visual screenshot, the HTML DOM and the accessibility tree of roles and names, with a checkout form highlighted in each layer

Forms and checkout: where agents hand the task back

Forms are where agents create value for you (a quote request, a booking, a cart) and where most of them stop. Every vendor documents a handoff point. ChatGPT's cloud browser asks for confirmation "before actions that could be hard to reverse or create a financial, legal, account, or other real-world commitment, such as confirming a booking or making a payment." Gemini asks for confirmation before "submitting web forms" and asks the person to take over for "finalizing financial transactions," "accepting terms of service" and "creating an account." Anthropic recommends human confirmation for "completing financial transactions, or agreeing to terms of service."

So the goal is not to make checkout fully automatic. It is to let the agent get the person all the way to a correct review screen, then make the human step short. In practice:

  1. Label every field with a and add the right autocomplete token. Our test above shows a placeholder-only field is named after its example value.
  2. Use native controls for dates, sizes, quantities and countries, or follow the APG pattern exactly if you build a custom one. Anthropic's docs say dropdowns are hard to operate from screenshots, so a native

This form is protected by reCAPTCHA. Your data is handled securely and we will never spam you.

Frequently Asked Questions

Something else? Ask the team

What is an agent ready website?

An agent ready website is one an AI agent can read, operate and be let into. Its key content is in the server-rendered HTML, every control appears in the accessibility tree with a role and a name, the layout is stable, forms have real labels and allow guest use, and bot protection lets verified agents through while still blocking abuse.

Do AI agents respect robots.txt?

Not reliably, and not by design. Google says its user-triggered fetchers, including Google-Agent, generally ignore robots.txt because a person requested the fetch. Robots.txt is the right control for crawlers that build training data or search indexes. For agents acting on a user's request, use WAF or bot-management rules keyed to verified identity.

Should I block AI agents from my website?

For most businesses, no. Agents increasingly arrive on behalf of a customer who wants to compare, book or buy. Allow verified agents on browse, search, cart and quote pages, rate-limit with HTTP 429, and keep step-up checks for account creation, payment and password reset. Block by verified identity, not by user agent string, which anyone can copy.

Can AI agents solve CAPTCHAs?

Do not design around it. OpenAI says sites' security measures can block its cloud browser and that the user may need to take over or finish the step themselves. A CAPTCHA on a product or search page usually ends the agent's task or forces a handoff. Keep challenges for genuinely risky steps, and follow WCAG 3.3.8 so log-in does not depend on puzzles.

Is making a site accessible the same as making it agent ready?

It covers most of it. Chrome's team says agents use the accessibility tree as their primary data model, so WCAG 2.2 criteria such as 4.1.2 Name, Role, Value, 1.3.1 Info and Relationships and 1.3.5 Identify Input Purpose fix the majority of agent failures. Agent readiness adds bot access, layout stability for screenshot-based agents, handoff design and log-based measurement.

Do I need llms.txt or WebMCP to be agent ready?

No. Both are optional extras. Lighthouse checks for llms.txt, but Google Search does not use it. WebMCP lets a page register tools agents can call, but it is a Chrome origin trial and a Community Group draft, not a W3C standard. Fix access, rendering, the accessibility tree and forms first; then prototype WebMCP on your highest-value form.

Will an agent-ready website rank better in AI Overviews or ChatGPT?

Not directly. Google says there are no additional requirements to appear in AI Overviews or AI Mode. Agent readiness decides whether an agent that already chose your site can complete the task. Being cited is a separate problem covered by normal SEO and AI visibility work, which you can track with an AI visibility tool.

How do I know if AI agents are visiting my website?

Check server or CDN logs, not page-tag analytics. Look for the Signature-Agent header with chatgpt.com (ChatGPT's cloud browser), user agents containing Google-Agent, and fetchers such as ChatGPT-User, Claude-User and Perplexity-User. Agents running inside a person's own Chrome, such as Claude in Chrome, have no separately documented user agent and look like normal visitors.

How do I test my website for AI agents quickly?

Run Lighthouse's Agentic Browsing category in Chrome 150 or later, inspect the accessibility tree in Chrome DevTools, curl your key pages to confirm content is in the HTML, check your WAF treatment of verified agents, then ask ChatGPT, Claude in Chrome and Gemini to complete your top journey and note where each stops.

Written by

Chief Marketing Officer & AI Search Optimization Architect

Verified Author

Digital Marketing Strategist & Pioneer in SEO, Answer Engine Optimization (AEO), and Generative Engine Optimization (GEO).

Enjoyed this article?

Subscribe to our newsletter and get the latest AI search optimization insights delivered to your inbox.

No spam. Unsubscribe at any time.

See how AI engines read your site

Paste your site. The free audit scores it for SEO, answer engines and generative engines, and lists the fixes.