Discovery, the way Google does it
We read robots.txt, sitemap.xml, and llms.txt - then expand from the entry page. We respect Disallow rules, follow same-origin links, and cap at fifty pages so the run finishes in ninety seconds.
Every score in SEO for AI Agents can be traced to a deterministic check, evidence captured at audit time, and a weight chosen with intent. No black box. No vibes.
We read robots.txt, sitemap.xml, and llms.txt - then expand from the entry page. We respect Disallow rules, follow same-origin links, and cap at fifty pages so the run finishes in ninety seconds.
Every page is fetched through Firecrawl, which executes JavaScript the same way Google's evergreen Chromium does. We capture status codes, response headers, the rendered HTML, parsed markdown, JSON-LD blocks, images, links, hreflangs, and Core Web Vitals via the PageSpeed Insights API.
Each check is a small, deterministic function with a weight, severity, evidence shape, and a 'fix' written by a human. Foundational SEO covers the basics that still matter. Technical covers crawl, render, and speed. On-Page covers structure and intent. AIO and GEO cover the new game - being cited by ChatGPT, Perplexity, and Google's AI Overviews. Local covers the pack. E-E-A-T covers trust.
A missing viewport tag matters more than a sparse Twitter card. Each check has a weight from 1 to 6. Dimension scores are weight-normalised against the maximum achievable, then the overall is the weight-normalised average across all non-N/A checks.
Every finding ships with the raw data the check looked at - the HTTP header, the JSON-LD object, the offending URLs, the heading text. You can audit our audit. Open the receipts drawer on any finding to see the JSON.
Gemini 2.5 Pro reads the findings and writes a one-line verdict, a CEO brief, a technical brief, and a 30/60/90 plan with owners and counterfactuals. A second pass criticises that draft against a rubric: is the headline metric counter-intuitive? does the plan have sequencing? is every recommendation actionable? The revised draft is what you read.
Each of the ~50 checks emits a status (pass / warn / fail / n-a), a weight from 1 to 6, and a fractional score between 0 and its weight. Dimension scores divide the earned score by the maximum achievable across non-n/a checks. The overall is the same calculation across the full set.
| Weight | Severity tier | Example check |
|---|---|---|
| 6 | Critical · ranking-blocker | indexability, render-vs-HTML diff |
| 5 | Critical · trust-blocker | HTTPS, broken internal links |
| 4 | High · category-defining | schema depth, AIO answer-first, LLM brand visibility |
| 3 | Medium · compounding | internal-link graph, schema required props, og:image |
| 2 | Low · hygiene | security headers, hreflang, opening hours |
| 1 | Cosmetic / advisory | Twitter card variant, freshness hint |
Parsed from the rendered HTML head and the live response: title, meta description, canonical, robots meta, sitemap.xml, robots.txt, indexability flags. Validated against Google's documented length and uniqueness guidance.
HTTPS via response URL, redirects from the response chain, Core Web Vitals via PageSpeed Insights when reachable, broken links from live HEAD probes, render-vs-HTML diff via a plain (no-JS) fetch of the entry page compared to the JS-rendered markdown.
Heading structure, semantic landmarks, word count and lexical density from parsed markdown, intent-match heuristics, internal-link counts per page, near-duplicate detection across the crawl set.
llms.txt presence + parse, answer-first lead detection, question-shaped H2/H3 ratios, factual density (numbers/dates/entities per 1000 words), chunkability (paragraph length distribution), schema.org required-property validation against Google's rich-result rules.
Entity clarity via Organization @id + sameAs edges, Wikidata/Wikipedia signal presence, author Person entities, citation density, and a live brand-visibility probe (Firecrawl web search) checking whether the site appears in the top results for its own hostname and brand.
LocalBusiness schema with required address/telephone/openingHours, NAP consistency across crawled pages, geo coordinates, locations index page detection.
About / Contact / Privacy / Terms presence, author bios, external citations to authoritative sources, security headers (HSTS, CSP, X-Frame-Options, Referrer-Policy, Permissions-Policy) inspected directly on the entry response.
We crawl up to fifty pages, not your full site. We can't see Search Console data, backlink history, or your CMS. A real engagement layers those in. What SEO for AI Agents gets right is the surface: every signal a smart crawler can read in ninety seconds, scored honestly, with the work shown - and every claim in the AI brief is footnoted to the underlying check that generated it.
Each check derives its severity from a spec or rubric published by the entity it grades against. The full catalog lives on the references page; the most-cited sources are below.