Automated traffic surpassed human traffic for the first time in 2024. The Imperva Bad Bot Report put the number at 51% of all web interactions. Not all of that is agentic browsing, but the trajectory is clear: the non-human audience for your SaaS is already larger than the human one.
And most SaaS products are completely invisible to it.
Your marketing site might rank on Google. Your docs might get cited by Perplexity occasionally. But when ChatGPT Atlas browses the web to compare project management tools, or when a Perplexity Comet agent researches CRM options across tabs, can they actually read your product page? Can they find your pricing? Can they understand what you do?
For most SaaS products, the answer is no. This guide walks through the technical changes that fix that.
How AI Agents Actually Perceive Your Website
Before optimizing anything, you need to understand what agents actually see when they visit your site. It is not what you think.
Three approaches, and they're more different than you'd expect.
The first is pure vision. Anthropic's Computer Use takes screenshots of the browser and reasons about what to click based on pixel-level analysis. Google's Project Mariner does something similar with its "observe-plan-act" loop. It works. But it's computationally expensive, and a layout change can throw the whole thing off.
Then there's accessibility tree parsing. OpenAI went a completely different direction with ChatGPT Atlas. Their developer FAQ spells it out: Atlas reads ARIA tags, the same labels and roles that support screen readers, to interpret page structure. Microsoft's Playwright MCP takes the same approach, providing accessibility snapshots instead of screenshots. The accessibility tree strips away visual noise and exposes what actually matters: buttons, links, form fields, headings, landmarks.
And increasingly, the best agents combine both. OpenAI's Computer-Using Agent layers screenshot analysis with DOM processing and accessibility tree parsing. Perplexity Comet's research infrastructure uses "hybrid context management combining accessibility tree snapshots with selective vision."
| Platform | Primary Approach | What It Reads |
|---|---|---|
| ChatGPT Atlas | Accessibility tree | ARIA tags, roles, labels |
| Perplexity Comet | Hybrid | Accessibility tree + selective vision |
| Claude Computer Use | Vision | Screenshots, pixel analysis |
| Playwright MCP | Accessibility tree | Accessibility snapshots only |
| Google Mariner | Hybrid | Visual + code structure |
Look at that table. Even platforms that started with vision are moving toward accessibility data. The ones built for reliability? They lead with the accessibility tree.
Your website's accessibility tree is not a compliance checkbox. It's the primary interface AI agents use to discover and understand your product.
The llms.txt File: Your Product's AI-Readable Summary
The fastest win for AI agent discoverability is a file you can create in 10 minutes.
llms.txt sits at your domain root and tells AI models which pages contain your most important content. Think of it as a curated table of contents specifically for machines. Where robots.txt is a gate (allow/deny), llms.txt is a map (here's what matters and why).
Slight detour, but this matters: We've already covered the technical details of llms.txt configuration in our AI crawlers checklist. What matters here is the strategic angle for SaaS specifically.
Your llms.txt should include:
- Product overview: One paragraph explaining what your SaaS does, who it is for, and what problem it solves
- Pricing page: AI agents comparing tools need pricing to make recommendations
- Documentation root: API docs, getting started guides, integration pages
- Changelog: Signals active development and current feature set
- Comparison pages: If you have "us vs competitor" pages, include them
Does it actually work? Vercel reports roughly 10% of their documentation traffic comes from AI platforms, and their llms.txt file is one of the most complete implementations in the SaaS space. One file. Tells AI exactly what the product does, how it works, and when to recommend it.
Here's the part most people get wrong: llms.txt works best when it's honest and specific. AI agents that recommend your product based on an accurate description generate qualified leads. Inflate the description and you generate churn instead.
We'll show you exactly where your brand stands in AI search.
No commitment. No credit card. See how ChatGPT, Perplexity, Claude, and Gemini talk about your brand today.

Semantic HTML: The Foundation Agents Read
This is not new advice. Web standards advocates have been pushing semantic HTML for two decades. But the audience expanded. It used to be about screen readers and a relatively small percentage of users. Now it is about every AI agent that visits your site.
UC Berkeley and University of Michigan researchers tested Claude Sonnet on 60 real-world web tasks across different accessibility conditions. The results were sharp:
- Standard conditions: 78% task success rate
- Keyboard-only navigation: 42% success rate (half the performance)
- Magnified viewport: 28% success rate (one-third the performance)
That 78% to 42% drop is the difference between "agent can evaluate your product" and "agent gives up and recommends a competitor." And the fix is straightforward:
Start with native elements. A <button> element automatically appears in the accessibility tree with the role "button" and its text as the accessible name. A <div onclick="doSomething()"> does not. The agent has no idea it's clickable.
Label your forms. Every input needs an associated <label>. Agents read labels to figure out what data a field expects. Add autocomplete attributes with standard values so agents know whether a field wants an email, phone number, or street address.
Get your heading hierarchy right. Use h1 through h6 in logical order. Agents use headings to understand page structure and locate specific sections. Your pricing section buried under a generic <div class="pricing-wrapper"> is invisible. Under an <h2>Pricing</h2>, it's immediately findable.
And use landmark regions. HTML5 landmarks (<nav>, <main>, <aside>, <footer>) tell agents where they are on the page. A <nav> element is unambiguously navigation. A <div class="nav-wrapper"> requires guesswork.
Worth noting: Microsoft's Playwright test agents generate test code that uses accessible selectors by default. When the AI writes a test, it writes page.getByRole('button', { name: 'Search' }). Not CSS selectors. Not XPath. Accessible roles and names. That is the direction the entire industry is heading.
Server-Side Rendering: The Visibility Requirement
This one catches a lot of SaaS founders off guard.
Browser-based agents like ChatGPT Atlas and Perplexity Comet run on Chromium. They execute JavaScript. They can render your single-page application.
But AI crawlers do not.
GPTBot, ClaudeBot, PerplexityBot, and GoogleOther index your content for retrieval and citation. Most of these crawlers don't execute client-side JavaScript. If your product's landing page is a blank <div id="root"></div> until React hydrates, these crawlers see nothing. Your entire marketing site might as well not exist.
Not in the initial HTML? Doesn't get cited. Doesn't get cited? AI agents have no data to recommend your product from.
Frameworks like Next.js, Nuxt, and Astro make SSR dead simple. If you're building content pages for AI visibility, server-side rendering isn't optional. It's the baseline.
One more thing: don't hide critical information behind interactions. Prices, feature comparisons, and integration details behind accordions or "click to reveal" patterns create failure points for every agent that visits your page.
Know exactly what AI says about your competitors.
RankControl's Recon Agent monitors competitor citations across ChatGPT, Perplexity, Claude, and Gemini. See where they show up and you don't.

Testing Which Agents Can Actually See You
You wouldn't ship a website without testing it in a browser. Testing how agents perceive your site should be the same kind of habit.
The most direct tool is Playwright MCP accessibility snapshots. Microsoft's Playwright MCP generates a structured view of any page showing the roles, names, and states that agents actually work with. If your critical interactive elements don't show up in the snapshot, or show up without useful names, agents will struggle.
A snapshot of your pricing page should show something like:
[heading level=1] Pricing
[heading level=2] Strike Plan
[text] $499/month
[button] Start free trial
If it shows unlabeled divs and anonymous click handlers, you have work to do.
For a manual check, try screen reader testing. VoiceOver (macOS), NVDA (Windows), or TalkBack (Android) are the best proxy for agent compatibility. If a screen reader can navigate your product page, find the buttons, read the form labels, follow the content structure, agents can likely do the same. Both audiences read the same accessibility tree.
Then check your server logs. Look for GPTBot, ClaudeBot, and PerplexityBot user-agent strings. Zero AI bot traffic on pages that should be discoverable? Something's blocking them. Usually it's robots.txt, a WAF rule, or a Cloudflare setting you forgot about.
Quick sanity check: right-click your page and choose "View Page Source" instead of using DevTools. If you see an empty <div id="root"> and nothing else, that's what AI crawlers see too.
The Real Problem Is Knowing When It Breaks
You could audit your site today, fix the accessibility tree, add llms.txt, make sure SSR is working, and verify AI crawler access. That alone puts you ahead of most SaaS products.
But here's the thing: agent discoverability isn't a one-time fix.
AI crawlers update their behavior. Your development team ships a new feature that breaks SSR on the pricing page. A Cloudflare rule change blocks PerplexityBot. Your competitor publishes a better-structured comparison page and takes over the recommendation slot you held.
The real problem isn't doing the audit once. It's knowing the moment something stops working.
Total time for the initial audit: 8-12 hours across semantic HTML cleanup, SSR verification, llms.txt creation, robots.txt review, and testing. Then 3-5 hours monthly to maintain: monitoring crawler access, checking for regressions, updating llms.txt as features change.
You can do all of that manually. Or RankControl's agents can run these checks automatically across every page, every week, and alert you the moment an AI agent stops seeing your product.
15+ content types. Published on your domain. Matched to your brand.
Guides, comparisons, listicles, case studies, and more. RankControl generates content that gets cited by ChatGPT, Claude, Perplexity, and more.




