AI Visibility Score Methodology

Technical specification: 8-layer analysis, scoring formulas, and industry standards

Version 2.0.0 (2026-02-25) – Evidence-based framework for measuring AI discoverability and citation readiness.

Overall Score Calculation

Formula: Overall Score = (AI Readiness + SEO + Citation Readiness) / 3

AI Readiness (33.3%)

Layer 1-4: Can AI bots access and understand your content?

Components: Gateway, SSR, Indexability, Content Quality

SEO Foundation (33.3%)

Layer 5-6: Can humans and search engines discover you?

Components: Technical SEO, On-Page SEO

Citation Readiness (33.3%)

Layer 7: Will AI platforms cite you as authoritative?

Components: GPT, Gemini, Claude, Perplexity scoring

Thresholds:

  • ≥70 = PASS (AI-ready for citation)
  • 40-69 = WARN (Partial readiness)
  • <40 = FAIL (Critical blocking issues)

Component 1: AI Readiness Score (Layer 1-4)

Formula: AI Readiness = (Content Score × 0.6) + (Indexability Score × 0.4)

Content Score = Layer 4 Quality × SSR Factor
Indexability Score = 100 + Layer 3 Penalties

Layer 1: Gateway (Binary Gate)

Status: PASS or BLOCKED

Scoring (max 90 pts + 10 pts llms.txt bonus = 100 max):

Bot weights reflect real AI platform market share. Blocking GPTBot (60% market) cannot carry the same penalty as blocking a minority bot. Weights are revised quarterly.

Bot Platform Points Market share
GPTBotChatGPT / OpenAI3660.2 %
Google-ExtendedGemini / Google AI2215.3 %
ClaudeBotClaude / Anthropic18~10 %
PerplexityBotPerplexity AI9~5 %
GrokBotGrok / xAI5~4 %
llms.txtAll platforms+15 bonus
  • robots.txt check: Per-bot ALLOWED / BLOCKED / NOT_SPECIFIED
  • HTTP access test: AI bots can fetch content (status 200)
  • llms.txt bonus (+15 pts): Present at domain root, HTTP 200, non-empty content — signals intentional AI permission
  • llms-full.txt (detected, not scored here): Full content dump for AI consumption — used as +10 pts signal in Layer 7 Citation Readiness per platform

Result: BLOCKED → AI Readiness = 0 (audit stops)

Theory: If AI bots cannot access your site, all other optimizations are irrelevant. Bot weights are based on AI platform referral traffic market share data (source: VerisAI Intel W15/2026) and are reviewed quarterly (Q1 Jan · Q2 Apr · Q3 Jul · Q4 Oct). llms.txt and llms-full.txt are separate signals: llms.txt is an access/index file (L1), llms-full.txt is a content completeness signal for citation (L7). GPTBot documentation, Google AI crawlers

Layer 2: Server-Side Rendering (Binary Gate)

Quality: GOOD / PARTIAL / FAILED

Checks (4 critical elements):

  • Valid <title> tag (not empty/placeholder)
  • <h1> heading exists
  • Text content >500 characters
  • JSON-LD schema present

Scoring:

  • 0 missing = GOOD (SSR Factor = 1.0)
  • 1-2 missing = PARTIAL (SSR Factor = 0.7)
  • 3+ missing = FAILED → AI Readiness = 0

Theory: AI bots rely on server-rendered HTML. Missing critical elements = empty page for bots. HTML5 spec, Google structured data

Layer 3: Indexability (Penalty System)

Penalties: 0 to -60 points

Canonical Tags (-20 pts per issue, max -60):

  • Missing canonical tag: -20
  • Multiple conflicting canonicals: -20
  • Relative URL (not absolute): -20

Language Declaration (-10 pts): Missing <html lang="xx">: -10

JSON-LD Validation (-20 pts): Broken/invalid JSON-LD: -20

Theory: Technical errors confuse AI crawlers about which version to index. Canonical URLs, JSON-LD spec

Layer 4: Content Quality (Type-Specific Scoring)

Auto-detected types: ARTICLE, VIDEO, AUDIO, PRODUCT, ORGANIZATION, GENERIC

Example: ARTICLE Scoring (Max 100):

  • Schema (40 pts): Base schema (10) + headline (6) + author (6) + datePublished (6) + publisher (6) + image (6)
  • Structure (40 pts): Word count >300 (20) + H2 subheadings (10) + Internal links ≥2 (10)
  • SEO (20 pts): Title 50-60 chars (10) + Meta description 150-160 chars (10)

Example: ORGANIZATION Scoring (Max 100):

  • Schema (60 pts): Base (10) + name (10) + url (10) + logo (10) + contactPoint (10) + address (5) + sameAs (5)
  • NAP Consistency (20 pts): Phone (10) + Email (10)
  • Local Signals (20 pts): Opening hours (10) + Map/location (10)

Theory: Different content types serve different purposes. AI needs structured data matching the content type. Schema.org docs, Schema validator

Component 2: SEO Foundation (Layer 5-6)

Formula: SEO Score = (Technical SEO + On-Page SEO) / 2

Layer 5: Technical SEO (Max 100)

  • Sitemap (30 pts): sitemap.xml exists (15) + Valid XML (15)
  • HTTPS (20 pts): HTTPS enabled (20)
  • Mobile-Friendly (25 pts): Viewport meta tag (15) + width=device-width (10)
  • Performance (25 pts): CSS files <5 (10) + JS files <10 (10) + Images <50 (5)

Theory: Technical foundation enables discovery and indexing. Sitemap protocol, Core Web Vitals

Layer 6: On-Page SEO (Max 100)

  • Open Graph (25 pts): og:title (8) + og:description (8) + og:image (9)
  • Twitter Cards (15 pts): twitter:card (8) + twitter:title (7)
  • Internal Links (20 pts): ≥5 links (20) or 2-4 links (10)
  • Images (20 pts): Alt coverage ≥80% (20) or ≥50% (10)
  • Headings (20 pts): Valid H1-H2 hierarchy (20) or Single H1 (10)

Theory: Proper meta tags enable social sharing and preview generation. Open Graph Protocol, Twitter Cards

Component 3: Citation Readiness (Layer 7)

Formula: Citation Readiness = (GPT + Gemini + Claude + Perplexity) / 4

Scope note: Citation Readiness scores measure technical prerequisites and proxy signals for AI citation eligibility, based on publicly available platform documentation. Actual citation frequency is influenced by additional factors including domain authority, brand mentions, training data presence, and platform-specific algorithms not disclosed by AI platforms. These scores reflect technical readiness indicators, not a prediction of actual citation probability.

Shared signal across all platforms: llms-full.txt (+10 pts each)
If /llms-full.txt is present at domain root (HTTP 200), each platform score receives +10 pts. This file provides a structured full-content dump for direct AI corpus ingestion — a distinct signal from llms.txt (which is an access index scored in Layer 1). All platform scores are capped at 100.

GPT / ChatGPT (OpenAI) Readiness (Max 100)

  • OAI-SearchBot Access (25 pts): Allowed in robots.txt – citation bot for ChatGPT Search
  • GPTBot Access (10 pts): Allowed in robots.txt – training bot, affects brand representation
  • JSON-LD Schema (25 pts): Valid JSON-LD present
  • Content Quality (20 pts): Layer 4 score ≥70
  • Citation Structure (20 pts): H2 subheadings (10) + Lists/bullets (10)
  • llms-full.txt (+10 pts, capped at 100): Full content dump present

Note: OAI-SearchBot drives ChatGPT Search citations. GPTBot affects training data representation only. GPTBot documentation, OAI-SearchBot documentation

Gemini (Google AI) Readiness (Max 100)

  • Google-Extended ALLOWED (10 pts): Not opted out of Google AI training data
  • HTTP Access (10 pts): HTTP access ok
  • E-E-A-T Signals (55 pts): Author attribution (25) + Published/updated dates (20) + Contact info (10)
  • Schema Quality (25 pts): Valid JSON-LD (15) + Specific content type (10)
  • llms-full.txt (+10 pts, capped at 100): Full content dump present

Note: Gemini cites from Google Search index — Google-Extended is AI training opt-out proxy only, not a direct crawl access bot. E-E-A-T signals are the primary citation factor. E-E-A-T guidelines, Google-Extended

Claude (Anthropic) Readiness (Max 100)

  • L1 Gateway PASS (20 pts): Site not blocking bots
  • Citation Metadata (20 pts): Canonical URL (10) + og:url (10)
  • Trust Signals (10 pts): HTTPS enabled
  • Answer Engine Optimization (40 pts): FAQ/Q&A section (15) + Question-format headings (15) + Definition lists (10)
  • Rendering Quality (10 pts): SSR quality GOOD
  • llms-full.txt (+10 pts, capped at 100): Full content dump for Brave Search ingestion

Note: Claude uses Brave Search index for web citations. FAQ and question-format headings are key extraction signals for answer retrieval. Anthropic docs

Perplexity Readiness (Max 100)

  • PerplexityBot Access (25 pts): Allowed in robots.txt (25) – critical gate, without this no indexing or citation
  • Answer Engine Optimization (45 pts): FAQ section (20) + Question-format headings (15) + Definition lists (10)
  • Rendering Quality (15 pts): SSR quality GOOD (15)
  • Content Quality (15 pts): Layer 4 score ≥70 (15)
  • llms-full.txt (+10 pts, capped at 100): Structured full content for Perplexity indexing

Note: PerplexityBot is a critical gate — without it content cannot be indexed or cited by Perplexity. FAQ sections and question-format headings significantly improve citation likelihood. How Perplexity works

Why Equal Weighting (1/3 + 1/3 + 1/3)?

AI Readiness (33.3%)

Technical capability: Can AI bots access and understand your content?

SEO Foundation (33.3%)

Discoverability: Can humans and search engines find you?

Citation Readiness (33.3%)

Authority: Will AI platforms cite you as a trusted source?

Critical Insight: All three pillars must be present:

  • High AI Readiness + Poor SEO = Nobody finds you
  • High SEO + Poor Citation = AI ignores you
  • High Citation + Blocked Gateway = Score = 0

Score thresholds defined

PASS / CITABLE (≥70)
The page meets minimum AI visibility requirements. Signals are sufficient for AI crawlers to access, parse, and potentially cite the content.
WARN / PARTIAL (40–69)
Significant gaps exist. The page may be accessible but has missing structured data, weak content signals, or citation barriers that reduce AI citation likelihood.
FAIL / NOT CITABLE (<40)
Critical failures detected — blocked crawling, missing SSR, or insufficient content. AI systems cannot reliably access or cite this page.

Industry Standards & Documentation

Official Standards Bodies:

  • Schema.org – Structured data vocabulary
  • Google Search Central – SEO best practices, E-E-A-T
  • W3C – Web standards (HTML, accessibility)
  • IETF – Internet protocols (robots.txt RFC 9309)

AI Platform Documentation:

Validation Tools:

Academic & Industry Research:

Version History

v2.2.0 (2026-04-06): llms.txt / llms-full.txt signal separation

  • L1 Gateway: llms.txt bonus increased from +10 to +15 pts — standard transitioning from optional to baseline as Anthropic, Cursor, Mintlify adopt it; validation tightened (HTTP 200 + non-empty content required)
  • L1 Gateway: llms-full.txt now detected and stored in audit details — separate signal from llms.txt
  • L7 Citation Readiness: llms-full.txt added as +10 pts to all 4 platform scores (GPT, Gemini, Claude, Perplexity), capped at 100 — full content dump enables direct AI corpus ingestion independently of platform-specific crawlers
  • Rationale: llms.txt = access/index signal (belongs in L1 Gateway); llms-full.txt = content completeness signal (belongs in L7 Citation Readiness). Merging both into one L1 bonus was a design flaw

v2.1.0 (2026-04-06): L1 Gateway — market-share-weighted bot scoring

  • Replaced equal-weight formula (5 × 18 pts) with market-share-weighted per-bot points: GPTBot 36 pts (60.2 %) • Google-Extended 22 pts (15.3 %) • ClaudeBot 18 pts (~10 %) • PerplexityBot 9 pts (~5 %) • GrokBot 5 pts (~4 %)
  • Methodological rationale: blocking the dominant AI platform (ChatGPT, 60.2 % market share) cannot carry the same score penalty as blocking a minority platform — equal weighting created false equivalence exploitable by competitors
  • Market share data source: VerisAI Market Intelligence Pipeline, Week 15/2026 (AI platform referral traffic analysis)
  • Commitment: bot weights will be revised quarterly (Q1 January • Q2 April • Q3 July • Q4 October) based on current market share data from the VerisAI Intel pipeline

v2.0.0 (2026-02-25): L7 methodology revision based on actual AI bot behavior research

  • GPT: replaced GPTBot-only scoring with OAI-SearchBot (25 pts) as primary citation bot + GPTBot (10 pts) for training; rebalanced remaining points
  • Gemini: replaced CloudVertexBot scoring with E-E-A-T signals as primary factor (author 25, dates 20, contact 10); added note that Gemini cites via Google Search index
  • Claude: replaced Privacy/Terms scoring with FAQ (15), Question headings (15), Definition lists (10); reflects Brave Search index citation behavior
  • Perplexity: PerplexityBot elevated to 25 pts as critical gate; FAQ expanded to 20 pts; removed logo/footer credibility signals
  • Added informative-only bot list to L1 (OAI-SearchBot, ChatGPT-User, Claude-Web, etc.) — tracked but not scored

v1.0.1 (2026-02-18): Scope clarification

  • Added Citation Readiness scope note: scores reflect technical eligibility indicators, not actual citation probability

v1.0.0 (2026-02-15): Initial public release

  • Established equal-weight formula: (AI Readiness + SEO + Citation) / 3
  • Documented all 8 layers with point breakdowns
  • Added platform-specific scoring (GPT, Gemini, Claude, Perplexity)
  • Linked official documentation sources

Quarterly Review Commitment: L1 bot weights are revised every quarter (Q1 Jan · Q2 Apr · Q3 Jul · Q4 Oct) based on current AI platform market share data from the VerisAI Intel pipeline. The full methodology is updated whenever AI platforms publish new official crawler documentation, new LLM citation research emerges, or web standards change in ways that affect AI visibility measurement.