Agent Readability Scanner
Score whether an AI agent can understand a page WITHOUT executing JavaScript. Fetches the URL once, parses the SSR HTML, and grades seven axes deterministically: text content, heading structure, metadata quality, internal links, schema presence, and a heuristic JS-dependency estimate. Returns an agent-perspective summary of what a bot reading raw HTML would actually understand.
An AI agent reading this page would identify it as "Stripe | Financial Infrastructure to Grow Your Revenue". Stripe is a financial services platform that helps all types of businesses accept payments, build flexible billing models, and manage money movement. It can ground answers in approximately 12,835 characters of body text. First 240 chars: "Stripe | Financial Infrastructure to Grow Your Revenue Products Solutions Developers Resources Pricing Sign in Start now Contact sales Back Sign in Sign in Contact sales Global GDP running on Stripe: Financial infrastructure to grow your re…".
Detected signals
Findings
2% of the page is readable text (ratio 0.02); the rest is markup and scripts.
fix Server-render the primary copy so readable text outweighs markup.
Heuristic dependency score 0.40/1.00 from SSR text volume, text/script ratio, and JS-required placeholders.
fix Server-render primary content; treat JavaScript as enhancement, not a requirement.
2 H1 · 5 H2 · 25 H3.
fix Use exactly one <h1> and section the page with <h2>s.
54 characters: "Stripe | Financial Infrastructure to Grow Your Revenue".
fix Set a unique 30–60 char <title>: "Page topic, Brand".
149 characters.
fix Add <meta name="description"> with a 120–160 char summary.
https://stripe.com/
Of 181 total links. Agents follow internal links to ground answers.
Structured data present; validate types with the structured-data validator.
Copyable plain-text summary for sharing with engineers / SEO leads.
AgentSpeed Agent Readability Scanner Target: https://stripe.com HTTP: 200 Score: 91/100 Text chars: 12835 | text/html ratio: 0.02 | JS dep: 0.40 Findings: [PASS] 12,835 chars of server-rendered text (content.text_amount) [PASS] Title present (metadata.title) [PASS] Meta description present (metadata.description) [PASS] Canonical declared (metadata.canonical) [WARN] 2 <h1> tags (headings.h1) [PASS] 5 H2 / 25 H3 (headings.h2) [PASS] 151 internal links (links.internal) [PASS] 1 JSON-LD block (schema.present) [WARN] Moderate JS dependency (js.dependency) Run again at: https://agentspeed.com/tools/agent-readability-scanner
Watch this URL — get alerted when this changes
Turn this one-off check into a scheduled watch. We re-run it, diff the result, and alert you on a regression through the same channels as your agent alerts. Watches are a paid feature.
Manage watches at /watches. You’ll be asked to sign in if you haven’t already.
Click an example to run the tool with pre-filled inputs.
Most agent-visibility problems are SSR problems. A site that hydrates everything client-side ships an empty shell to GPTBot and ChatGPT-User; a site that puts the value prop, pricing, and CTAs in the initial HTML response ships a real page. The difference shows up in citation rate.
This tool runs in your browser’s tab and reports what the bot actually receives. No headless browser involved. The JS- dependency score is a heuristic from the SSR HTML, not a real render comparison. Flagged in the result.
Why no headless browser?
How is JS dependency calculated?
What does "agent perspective summary" mean?
Is this the same as the structured-data validator?
Score the entire site against 30 agent-readiness checks across discoverability, readability, structured data, actionability, and performance.
Get the full report for stripe.com →