methodology
v1.0

Agentic Score Methodology v1.0

AIScoring runs 12 deterministic checks totalling 100 points. Same input, same result. No LLMs in the scoring loop. Results cache for 24 hours per domain. Every check below cites its authoritative source and its exact pass / partial / fail rule.

Version note

Methodology v1.0 — Our scoring weights reflect documented, transparent criteria, refined as we scan more of the web. Every change is versioned and public — no black box. Disagree with a rule or a weight? Tell us: hello@aiscoring.io and we'll show our reasoning.

check · what we fetch · rules · sourcesweight
Agent Discovery

llms.txt manifest

10 pts
What the scanner fetches

GET /llms.txt and GET /llms-full.txt (8s timeout each). Rejects HTML error pages.

Scoring rule
  • PASS/llms.txt returns non-empty plain text (bonus: /llms-full.txt also present).
  • FAILNo /llms.txt, or it returns HTML/404.
Crawler Access

AI crawlers allowed in robots.txt

10 pts
What the scanner fetches

GET /robots.txt, parses User-agent / Disallow groups.

Scoring rule
  • PASSNo Disallow: / rule for GPTBot, ClaudeBot, PerplexityBot, or Google-Extended (nor a Disallow: / against User-agent: *).
  • PARTBlocks 1–3 of the four major AI crawlers.
  • FAILBlocks all four, or robots.txt is missing.
Structured Data

Schema.org JSON-LD (Organization + Product/SoftwareApplication)

10 pts
What the scanner fetches

All <script type="application/ld+json"> blocks from the homepage and pricing page.

Scoring rule
  • PASSAt least one Organization-family type (Organization / Corporation / LocalBusiness) AND one commerce type (Product / SoftwareApplication / Service / Offer).
  • PARTOne of the two families present, not both.
  • FAILNo parseable JSON-LD, or JSON-LD present but no recognized types.
Commerce

Public parseable pricing

12 pts
What the scanner fetches

GET /pricing, /plans, /pricing/. Regexes prices ($/€/£ + digits) and looks for JSON-LD Offer/PriceSpecification.

Scoring rule
  • PASSMachine-parseable prices OR Schema.org Offer markup on a pricing page.
  • PARTPricing page exists but only says "contact sales" / "book a demo", or has copy but no numeric prices.
  • FAILNo pricing page at any of the common paths.

note: Agents cannot recommend what they cannot price.

Developer Surface

Public API documentation

10 pts
What the scanner fetches

GET /docs, /api, /developers, /developer, /api-docs, /openapi.json, /swagger.json.

Scoring rule
  • PASSAny of these returns real content (not a 404 shell).
  • FAILNone of the paths return usable documentation.
Agent Discovery

Agent manifest (agents.json / mcp.json)

8 pts
What the scanner fetches

GET /.well-known/agents.json, /mcp.json, /.well-known/mcp.json, /agents.json.

Scoring rule
  • PASSAny returns a JSON document (starts with `{`).
  • FAILNone found.

note: This is the newest and most in-flux check. Weight kept modest (8) until adoption stabilises.

Crawler Access

Sitemap.xml present and referenced

6 pts
What the scanner fetches

GET /sitemap.xml; greps robots.txt for a `Sitemap:` directive.

Scoring rule
  • PASSValid sitemap.xml present AND referenced from robots.txt.
  • PARTsitemap.xml exists but is not referenced from robots.txt.
  • FAILNo sitemap.xml.
Metadata

Meta/OpenGraph completeness

6 pts
What the scanner fetches

The homepage and pricing page HTML.

Scoring rule
  • PASSAll of <title>, meta description, og:title, og:description present on both pages.
  • PART1–2 items missing across the pages.
  • FAIL3+ items missing.
Commerce

Self-serve signup path

10 pts
What the scanner fetches

Homepage <a> tags; fallback GET /signup, /register, /get-started, /sign-up.

Scoring rule
  • PASSA visible signup / get-started / try-free CTA is linked from the homepage.
  • PARTA signup page exists but is not linked from the homepage.
  • FAILNo self-serve path — the only CTA is "book a demo" / "contact sales".

note: Agents cannot fill out sales-qualification forms. If your only path to purchase is human-gated, agents cannot buy.

Metadata

Machine-readable company info

6 pts
What the scanner fetches

Homepage <title>, meta description, and JSON-LD Organization name/description.

Scoring rule
  • PASSAll four (title, meta description, JSON-LD name, JSON-LD description) present.
  • PARTTitle & meta description present but JSON-LD name/description missing.
  • FAILMissing consistent name/description across sources.
Content Accessibility

Server-rendered HTML content

8 pts
What the scanner fetches

GET / with a plain user-agent, strips <script>/<style>/tags, counts remaining words.

Scoring rule
  • PASS> 200 words of real server-rendered text.
  • PART60–200 words.
  • FAIL< 60 words — a JavaScript shell that agents will see as blank.

note: Cloudflare's public research shows the vast majority of the web serves little agent-legible content — most AI crawlers do not execute JavaScript, so a client-rendered SPA is effectively invisible.

Trust

Terms / Privacy / Security pages

4 pts
What the scanner fetches

Homepage links plus GET /terms, /privacy, /.well-known/security.txt (and variants).

Scoring rule
  • PASSTerms, Privacy, AND Security all discoverable.
  • PART1–2 of the three present.
  • FAILNone found.

How we measure LLM visibility

The 12 checks above measure your site's agent-readiness — deterministic, verifiable properties of your public surface. They do not measure whether ChatGPT actually recommends you today. That's a separate question, and we're honest about how it can and can't be answered.

Sampling methodology (Monitor plan)

For each customer we compile a fixed set of high-intent buying questions in their category (e.g. "best CRM for small SaaS teams"). Every week we ask that set to ChatGPT, Claude, and Perplexity through their public APIs from a clean context, and record which vendors are cited, in which position, and with what supporting URLs. Same prompts, same models, same week → apples-to-apples trend.

Why real mention counts do not exist

No tool — ours or anyone else's — can count how many times you were mentioned inside ChatGPT this week. OpenAI, Anthropic and Google do not publish that data, and there is no back-channel that reveals it. Any vendor claiming a "real" mention count is extrapolating from a sample and calling it a census. We prefer to call sampling sampling.

The one real signal: referral clicks

When an LLM cites you and the user clicks through, that click hits your site with a referrer like chatgpt.com, claude.ai, or perplexity.ai. That is census data — every real click is counted, not sampled. It's a lower bound on impact (many citations don't get clicked) but it's the only ground truth available today, and we surface it directly.

Grade scale

What each letter means for whether AI agents can find, evaluate, and buy from you.

A
85–100
Agent-ready. Findable, legible, buyable.
B
70–84
Visible, with friction on evaluation or checkout.
C
55–69
Partial visibility. Competitors win the rest.
D
40–54
Hard to find. Agents move on to someone legible.
F
0–39
Invisible. Agents shop your category without you.
Methodology v1.0 · last updated 2026-07-14 · we publish a diff on every version bump.