- AI browsers such as Comet, Claude in Chrome, Gemini in Chrome and the ChatGPT browser operate your site on behalf of a person. They mainly read the structure of the page, the accessibility tree, and add screenshots.
- Most failures happen in a few places. Typical culprits are buttons and fields without names, overlays such as cookie banners, shifting layouts, hover-only controls and bot protection that locks out all automation.
- Almost every fix is small and also helps screen readers and search engines. With WebMCP you can additionally offer agents your most important actions directly as tools.
What does this guide cover?
This guide is the hands-on manual. You go through your site area by area and fix what AI browsers get stuck on. What Agentic Engine Optimization means in principle and how to think about agents as a new kind of visitor is covered in the guide Agentic Engine Optimization. Which AI browsers exist and how they are built is shown in AI browsers compared.
The agent clicks like a human and is easily overwhelmed
Perplexity Comet, Claude in Chrome, Gemini in Chrome and the browser in ChatGPT look at the rendered page and click through it the way a person would. That is flexible but error-prone. One ambiguous button, a form field without a label or a layout that jumps while loading, and the task fails. You can be at the top of the AI answer and still lose the sale because the agent gets stuck in checkout.
The good news is that the sources of error repeat. Most fixes are small, targeted changes that do not need a relaunch.
How does an AI browser read your page?
“Like a human” is only true of the result. The agent does not see your page, it reads it in three steps.
- Read the page. It fetches the accessibility tree, the structure of roles, names and states of every interactive element, and takes a screenshot when needed.
- Match the element. It decides which element fits the task, for example “this field is called Email, so the address goes here”.
- Trigger the action. It clicks or types into exactly that element.
Anthropic describes exactly this for Claude. Claude reads pages through their structure, meaning the accessibility tree, elements, forms and tabs, and through screenshots with coordinates. The documentation advises reading the tree first and only then taking a screenshot. Claude falls back to screenshots and coordinate clicks for canvas interfaces, heavily virtualised lists and elements inside cross-origin iframes. Perplexity writes that the Comet assistant takes in the visible text, headings and metadata of the open page with every request. OpenAI names screenshots and the rendered state of the page for the ChatGPT cloud browser. For Gemini in Chrome, Google only documents that auto browse clicks, scrolls and fills in forms.
Whatever is marked up cleanly in the structure, an agent finds reliably. An element that merely looks like a button remains guesswork based on the screenshot, slower and more error-prone. That is where most stumbling blocks arise.
- Elements that look like a button but are not one
- Layouts that shift, so a remembered position no longer matches
- Text in images, or content that heavy JavaScript loads later
- Native elements with clear roles and states
- Fields linked to a descriptive label
- Content that sits as text in the structure
Where do the agents stop by themselves?
Some interruptions are intentional. Vendors make their agents stop at sensitive points and let the person decide. Plan these handovers into your flows.
| AI browser | How it reads | Where it stops or hands over to the user |
|---|---|---|
| Claude in Chrome (Anthropic) | Accessibility tree first, plus screenshots | Does not solve CAPTCHAs. Asks before downloads and before entering sensitive data. Asks for permission on financial sites and does not open adult sites or known piracy sites |
| ChatGPT, cloud browser and desktop app browser (OpenAI) | Screenshots and rendered state | With CAPTCHAs or blocks against automated browsers the task can fail, and ChatGPT then asks you to take over the browser. Logins go through a form whose data the model does not see. ChatGPT asks before a booking or payment |
| Gemini in Chrome, auto browse (Google) | Clicking, scrolling, filling in forms; reading method not documented | The user takes over for payments, accepting terms and creating accounts. Confirmation required before submitting forms and messages |
| Perplexity Comet | Visible text, headings and metadata of the open page | Perplexity gives no information on CAPTCHAs and logins |
The table reflects the status on November 3, 2026. OpenAI discontinued the ChatGPT Atlas browser on August 9, 2026. Since then, the browser features live in the ChatGPT Work cloud browser, in the desktop app's built-in browser and in the Chrome extension. Google discontinued Project Mariner in May 2026, and its technology now sits in Gemini. What matters for you as a website owner is therefore that every agent can operate your site.
Common mistakes at a glance
In April 2026, Google published recommendations for agent-friendly websites on web.dev. Together with the patterns agents fail on in practice, they result in this list. The right-hand column tells you how to find each issue on your site.
| Mistake | Effect on the agent | Fix | How to check |
|---|---|---|---|
| Unstable layout | Elements jump while loading and the click misses. Buttons sit in different places depending on the page type | Consistent layouts, a low CLS score, fixed image dimensions and placeholders | CLS in PageSpeed Insights and Search Console, Lighthouse audit “Cumulative Layout Shift” |
| <div onclick> instead of <button> or <a> | The element barely shows up in the structure | Native elements, otherwise at least role and tabindex | DevTools, Elements → Accessibility, role must be button or link |
| Buttons and fields without labels | Icon buttons and fields without a label have no name | Descriptive labels, link fields via for and id | The element has no “Name” in the accessibility tree |
| Transparent overlays | Covered elements are skipped | Avoid them or make them cleanly closable | Click through the page with the cookie banner and chat widget open |
| Heavy client-side rendering | The page is empty until JavaScript runs | Deliver core content server-side or high up in the HTML | Compare source code and rendered HTML |
| Hover-only or mouse-only controls | Menus and drag and drop are unreachable | Make them work with focus and click | Use the page with the keyboard only |
| Infinite scroll without pages | The agent does not know when it is done | Offer pagination or a clear end | Check whether category pages have their own URL per page |
| CAPTCHA on every action, hard bot blocks | Legitimate agents acting for users fail | Use them selectively at sensitive points | Review the bot rules in your CDN and firewall |
Google adds two more points. Clickable elements should be recognizable as clickable via cursor: pointer. Interactive elements must be visible and larger than 8 square pixels, otherwise the agent filters them out when analyzing the image.
Clean up the accessibility tree
Open Chrome DevTools, choose the Accessibility tab under Elements and click through your most important elements. Every interactive element needs a role (button, link, textbox, checkbox) and a name. If either is missing, the agent only sees an image at that point. The Lighthouse category “Agentic Browsing” checks this in the audit “agent-accessibility-tree”.
This is what the difference looks like in code.
Forms an agent can fill in
Forms are where tasks fail most often, because every field has to be recognized correctly. These rules come from the form recommendations on web.dev and the WCAG 2.2 techniques.
- One label per field, linked via
forandid. Placeholder text disappears when typing and therefore does not replace the label. - Set autocomplete values, such as
email,name,street-address,postal-code,username,current-password,cc-number. This tells the browser what belongs in which field. - Suitable field types.
type="email"andtype="tel"for contact details, and for card numbers and ZIP codestype="text"withinputmode="numeric"instead oftype="number". - One name field instead of separate fields where possible, and no drop-down lists for dates.
- Errors as text next to the field. Mark the field with
aria-invalid="true"and link the message viaaria-describedby. No agent recognizes a red border on its own. - Build custom widgets to a pattern. For choices such as size or color, the WAI-ARIA Authoring Practices offer the Combobox and Listbox patterns. A native
<select>is usually the most robust option.
Cookie banners, pop-ups and chat widgets
Overlays are doubly hard for agents. They cover the elements underneath, and the agent first has to work out how to close them. In the 2025 BrowserArena study, removing pop-up banners was one of the three typical failures of the agents tested, alongside CAPTCHAs. A study of deliberately placed pop-ups (ACL 2025) found that agents clicked such pop-ups in 86 % of cases on average and that their task success rate dropped by 47 %. That study looked at targeted attacks. A comparable measurement for cookie banners does not exist yet.
- Build the cookie banner as a dialog with the role
dialog, a heading as its name and real buttons with clear text such as “Accept all” and “Reject”. The “Dialog (Modal)” pattern in the WAI-ARIA Authoring Practices shows how focus and closing work. - Do not place invisible or semi-transparent layers over the content that remain after closing.
- Keep checkout, cart and forms free of newsletter pop-ups and chat widgets that sit on top of buttons.
- Check the page once with the banner open and once with it closed. Both states must be usable.
The agent must not invent consent on the user's behalf. A clearly labeled banner helps it pass the question to the person correctly or answer it as instructed.
Tune bot protection for agents
Many AI browsers run in the user's own browser and look like normal Chrome to your server. Others run in the provider's cloud on data center IPs and quickly end up in a blanket block. These cloud agents now have an identifier.
- The ChatGPT cloud browser signs its requests with Web Bot Auth, meaning HTTP Message Signatures under RFC 9421. It sends the headers
Signature,Signature-InputandSignature-Agentwith the value"https://chatgpt.com". OpenAI's help explains how to allow it on Cloudflare, Akamai, HUMAN and Vercel, and says that the website decides whether to allow this traffic. - Since 1 July 2026, Cloudflare lists such signed agents as part of Verified Bots and distinguishes direct access from access through an intermediary.
- For Claude in Chrome, Comet and Gemini in the local browser, the vendors document no identifier of their own. They arrive with the user's IP and browser.
So use CAPTCHAs selectively, for example at login after several failed attempts. According to Anthropic, Claude in Chrome does not solve CAPTCHAs, and ChatGPT hands over to the user. A CAPTCHA in the wrong place ends the task. The guide Bot protection and SEO explains how to set up bot protection so that it slows down attackers and lets wanted bots and customers through.
Layout, navigation and rendering
- Load stably. Give images and ad slots fixed dimensions so nothing jumps. You measure CLS via the Core Web Vitals.
- Same elements in the same place. The add-to-cart button should sit in the same position on all product pages.
- Menus via click and focus. A menu that only opens on hover also needs a button with
aria-expanded. - A clear end. For long lists, offer pages with their own URLs or a “Load more” button.
- Content in the HTML. Product name, price and availability belong in the delivered HTML. The JavaScript crawling study shows where source code and rendered HTML diverge.
WebMCP as the next step
Removing stumbling blocks means staying out of the agent's way. WebMCP goes one step further. Your page describes its most important actions, such as search or cart, directly as tools. The agent then does not have to guess what a button does.
WebMCP is a W3C Community Group draft and not a standard. Chrome offers it as an origin trial from version 149, and Edge also runs it as an origin trial. The interface is now called document.modelContext. For forms there is a declarative variant with the attributes toolname and tooldescription on the <form>. By default, the user still has to click submit. The first major agent to use such tools is the built-in browser of the ChatGPT desktop app, since 31 August 2026; ChatGPT's Chrome extension does not.
The guide WebMCP explains the setup, the imperative variant and how to measure agent calls.
How much does it matter?
The A11y-CUA study by researchers at UC Berkeley and the University of Michigan, presented at CHI 2026, had a current computer-use agent complete 60 everyday tasks while changing the mode of interaction. In the default mode, which relies on sight and mouse, it completed 78.3 % of tasks. Using only the keyboard, the same path screen readers and the accessibility tree use, it managed 41.67 %, and with a screen magnifier 28.3 %.
The success rate almost halves as soon as the agent has to rely on the structure. Clean markup spares it the guesswork via screenshot, and that often decides whether the task succeeds.
Test, don't guess
- Run through with real agents. The agent in Perplexity Comet is free. Let it walk your most important paths, such as search, cart, booking and inquiry. Test several agents, for example Claude in Chrome and ChatGPT as well, because they behave differently.
- Set up a fixed test case. Build the most important tasks into a repeatable, automated test. That way you notice when a release or a new feature breaks a path for agents.
- Use Lighthouse “Agentic Browsing”. The category is available from Chrome 150. It checks the accessibility tree for agents, WebMCP, layout stability, llms.txt and, since Lighthouse 13.5, a file for Agent Resource Discovery. It is experimental and shows the share of passed audits instead of a score from 0 to 100.
- Look at the accessibility tree. In Chrome DevTools under Elements → Accessibility you see the structure the agent encounters and spot missing names or roles.
Common mistakes
- The team optimizes for one AI browser that is discontinued or rebuilt shortly afterwards.
- The cookie banner sits as an overlay over the checkout.
- Variant selection such as size or color is a custom widget without roles.
- Form errors are shown only as a color on the field.
- The firewall blocks data center IPs across the board and also hits the cloud agents of real customers.
- After a relaunch, labels that existed before are missing and nobody checks.
The same effort pays off several times
Almost all of these improvements, semantic HTML, clear labels, content in the HTML and a low CLS score, also make your site better for screen readers and search engines. You already track CLS in PageSpeed Insights and Search Console. You are strengthening foundations that pay off across several channels.
Frequently asked questions
What is an AI browser?
An AI browser is a browser with a built-in agent that operates websites on the user's behalf, meaning it searches, clicks and fills in forms. Examples are Perplexity Comet, Claude in Chrome, Gemini in Chrome and the browser in ChatGPT.
Do I need a separate version of my website for AI browsers?
No. AI browsers operate the same page as people. If structure, labels and layout are clean, people, screen readers and agents all get along.
Do AI browsers respect robots.txt?
Agents acting on behalf of a user treat robots.txt differently from crawlers. OpenAI writes about ChatGPT-User that robots.txt rules may not apply to user-initiated actions. Access is easier to control through bot protection, for example via the ChatGPT cloud browser's signature.
How do I spot AI browsers in my logs?
Agents in the user's browser are hard to tell apart from normal Chrome. The ChatGPT cloud browser can be recognized by its signature with the Signature-Agent header. The guide Log file analysis has more.
Do I need to implement WebMCP now?
WebMCP is a draft and runs as an origin trial. For most websites it pays off more to fix the stumbling blocks in this guide first. If you want to test early, start with the declarative variant on an existing search form.
Sources
Retrieved on November 3, 2026. If something is out of date or missing, let us know.
- Google web.dev, Recommendations for an agent-friendly website (AI agent site UX): https://web.dev/articles/ai-agent-site-ux · April 2026
- Anthropic, Browser use tool: https://platform.claude.com/docs/en/agents-and-tools/tool-use/browser-use-tool · Version browser_toolset_20260801
- Anthropic Help, Use Claude in Chrome safely: https://support.claude.com/en/articles/12902428-use-claude-in-chrome-safely · retrieved November 3, 2026
- Anthropic Help, Get started with Claude in Chrome: https://support.claude.com/en/articles/12012173-get-started-with-claude-in-chrome · retrieved November 3, 2026
- OpenAI Help, Using Cloud browser in ChatGPT: https://help.openai.com/en/articles/20001280-using-cloud-browser-in-chatgpt · retrieved November 3, 2026
- OpenAI Help, ChatGPT Work's Cloud browser allowlisting: https://help.openai.com/en/articles/11845367-chatgpt-works-cloud-browser-allowlisting · retrieved November 3, 2026
- OpenAI Help, Using site tools in the ChatGPT desktop app: https://help.openai.com/en/articles/20001423-using-site-tools-in-the-chatgpt-desktop-app · August 31, 2026
- OpenAI Help, Evolving Atlas into ChatGPT for browser-based agentic work: https://help.openai.com/en/articles/20001371-evolving-atlas-into-chatgpt-for-browser-based-agentic-work · discontinued on August 9, 2026
- OpenAI, Overview of OpenAI Crawlers: https://developers.openai.com/api/docs/bots · retrieved November 3, 2026
- Google Help, Gemini in Chrome auto browse: https://support.google.com/gemini/answer/16821166 · retrieved November 3, 2026
- Perplexity Help, Comet Assistant panel: https://www.perplexity.ai/help-center/comet/en/articles/11734688-assistant-panel · retrieved November 3, 2026
- Cloudflare Docs, Signed agents: https://developers.cloudflare.com/bots/concepts/bot/signed-agents/ · updated November 2, 2026
- Chrome for Developers, Lighthouse Agentic Browsing: https://developer.chrome.com/docs/lighthouse/agentic-browsing · retrieved November 3, 2026
- Chrome for Developers, WebMCP declarative API: https://developer.chrome.com/docs/ai/webmcp/declarative-api · updated September 25, 2026
- W3C Web Machine Learning Community Group, WebMCP: https://webmachinelearning.github.io/webmcp/ · Draft Community Group Report, November 2, 2026
- web.dev, Sign-in form best practices: https://web.dev/articles/sign-in-form-best-practices
- web.dev, Payment and address form best practices: https://web.dev/articles/payment-and-address-form-best-practices
- W3C WAI, ARIA Authoring Practices, Dialog (Modal) Pattern: https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/
- W3C WAI, WCAG 2.2 Technique ARIA21 (aria-invalid): https://www.w3.org/WAI/WCAG22/Techniques/aria/ARIA21
- Gubbi Mohanbabu et al., A11y-CUA, CHI 2026: https://arxiv.org/abs/2602.09310 · February 10, 2026
- Zhang, Yu, Yang, Attacking Vision-Language Computer Agents via Pop-ups, ACL 2025: https://arxiv.org/abs/2411.02391 · May 24, 2025
- BrowserArena, arXiv 2510.02418: https://arxiv.org/abs/2510.02418 · October 2025