How VisibilityPulse Scores AI Search Optimization Readiness
Signals v1.2 — Updated June 2026. This page documents what we measure, why we measure it, how the composite score is calculated, and — critically — what we cannot measure.
Jump to: What We Measure·Why These Signals·Scoring Formula·Limitations·What We Don't Measure·Changelog
1. What We Measure
VisibilityPulse audits the technical prerequisites that determine whether AI engines can crawl, parse, trust, and cite your website. Every signal we check is observable from a publicly accessible page fetch — no proprietary data sources, no black boxes.
We do not claim to predict actual citation rates. Citation decisions are made by AI engines themselves based on proprietary ranking algorithms, query intent matching, and real-time retrieval logic that is not publicly disclosed or observable from the outside.
⚡ The four major AI engines are architecturally distinct. ChatGPT Search uses OAI-SearchBot + Bing's retrieval infrastructure. Perplexity runs an independent crawler. Gemini uses standard Googlebot search crawls for AI Overviews, while model training and Vertex AI grounding use Google-Extended. Claude uses Claude-SearchBot for citations. A single composite score is a technical readiness proxy — not a cross-platform citation prediction. See Section 4.
2. Why These 8 Signals
Each signal was selected because it represents a technical factor with documented relevance to AI engine crawlability, content extraction, or entity recognition. Five signals contribute to the composite score. Three are reported as qualitative flags.
Weighted Signals — Contribute to Composite Score
Technical Health
We check: HTTPS protocol enforcement, server response time, HTML content size, single H1 tag structure, internal link count, and Core Web Vitals (LCP, CLS, INP) via Google PageSpeed Insights API. These are foundational prerequisites — if any fail, crawlers cannot reliably access or rank your content.
- HTTPS — Plain HTTP is a disqualifying signal for modern AI engines and Google ranking systems.
- Server response time — Responses over 600ms indicate infrastructure issues that limit crawl budget.
- H1 structure — Multiple or missing H1 tags break document hierarchy that AI extraction relies on.
- Internal links — At least 3 internal links signals a content-rich site vs. a thin doorway page.
- Core Web Vitals (LCP, CLS, INP) — Google PageSpeed Insights API score. AI Overviews use the same quality signals as regular Search.
Google's official May 2026 guidance confirms AI Overviews and AI Mode use the same core ranking and quality systems as regular Search. Technical hygiene that matters for Google Search matters equally for Google's AI features.
Sources: Google Search Central — Managing your content in AI and search features (2026), Google PageSpeed Insights API, Core Web Vitals (web.dev)
Entity Authority
We check three data sources and sum their points:
- Wikipedia (max 40 pts) — Wikipedia MediaWiki API confirms the brand has an article. FOUND = 40. NOT_FOUND / DISAMBIGUATION / API error = 0.
- Wikidata (max 30 pts) — Wikidata Search API confirms an entity ID. CONFIRMED = 30, POSSIBLE = 10, NOT_FOUND / error = 0.
- sameAs links (max 30 pts) — Organization/Person
sameAsproperties pointing to LinkedIn, Crunchbase, Twitter, Instagram, ProductHunt, etc.
Entity Authority score = Wikipedia pts + Wikidata pts + sameAs pts (max 100). A failed API request scores 0 — the signal is never excluded from the composite. This means an unauthenticated/offline audit legitimately lowers the composite.
Brand presence is the strongest predictor of AI Overview visibility. Ahrefs analysis of 75,000 brands (May 2025) found branded web mentions correlate 0.664 with AI Overview citation probability vs 0.218 for backlinks.
ℹ️ On-page entity signals are a proxy. The strongest actual predictor — off-site brand mention volume across Reddit, YouTube, Quora, and industry publications — is not checkable from a page audit. See Section 5.
Sources: Princeton University / KDD GEO Study — Generative Engine Optimization (arXiv:2311.09735), Ahrefs — Brand Mentions & AI Overview Visibility, Wikipedia MediaWiki Action API, Wikidata Search API.
Content Freshness
We check: sitemap lastmod dates, schema dateModified /datePublished properties,article:modified_time meta tags, footer copyright year, and presence of active content sections (/blog, /news, /insights).
Rationale: AI engines serving real-time answers prioritise recent, accurate content. Stale freshness signals reduce citation probability for time-sensitive queries. Content updated within the last 30 days scores highest; over 12 months scores zero.
AI Crawler Access
We check your robots.txt for the following crawlers. Each engine has a distinct crawl architecture:
- OAI-SearchBot (25 pts) — ChatGPT Search citation crawler. This is what indexes pages for real-time ChatGPT Search answers. Primary signal for ChatGPT citation eligibility.
- PerplexityBot (20 pts) — Perplexity operates a fully independent crawler and index, separate from both Bing and Google. Blocking PerplexityBot removes Perplexity citation eligibility entirely.
- Claude-SearchBot (15 pts) — Anthropic’s citation crawler for Claude Search (introduced Feb 2026). ClaudeBot is training-only and does not affect citation eligibility.
- Bingbot (15 pts) — Bing’s crawler. ChatGPT Search retrieval is built on Bing’s index (OpenAI / Microsoft partnership). Blocking Bingbot significantly reduces ChatGPT citation eligibility.
- Googlebot (10 pts) — Google’s search and AI Overview crawler. Blocking Googlebot removes eligibility for Google AI Overviews and Gemini grounding.
- Amazonbot / Applebot-Extended (5 pts each) — Alexa+/Rufus and Apple Intelligence.
- DuckAssistBot / MistralAI-User / Google-CloudVertexBot / Google-NotebookLM (2–3 pts each) — Smaller-reach AI citation crawlers. Points capped at 100 across all bots.
- Google-Extended / GPTBot / ClaudeBot — Training-only. We report their status but do not score them.
ℹ️ If robots.txt is unreachable (network error), AI Crawler Access scores 0 and is included in the composite at full weight — not excluded. This is intentional: an unreachable robots.txt is a real technical failure that affects citation eligibility.
Sources: platform.openai.com/docs/bots, Anthropic Claude-SearchBot docs, docs.perplexity.ai
JSON-LD Schema Markup
We check for 8 schema types using a proportional point system. All 8 types must be present and valid to reach 100/100.
- Organization (valid: name + url) → +40 pts | present but incomplete → +20 pts
- Article / BlogPosting (valid: headline + datePublished) → +15 pts | present but invalid → +5 pts
- BreadcrumbList → +10 pts
- Person → +10 pts
- Product / Service → +10 pts
- WebPage / WebSite / WebApplication → +5 pts
- FAQPage (valid: at least 1 Question+Answer pair) → +5 pts
- SpeakableSpecification → +5 pts
Important clarification on FAQPage schema (as of June 2026): Google fully deprecated FAQ rich results on May 7, 2026. The FAQPage schema type remains valid and parseable, but no longer generates visual SERP features. Its remaining value for AI visibility is:
- Enforces clear Q&A content structure that AI extraction systems can parse
- Sends signals to Google’s Knowledge Graph that strengthen entity associations
LLMs and JSON-LD: LLMs tokenize JSON-LD as raw text alongside visible page content (Williams-Cook, February 2026 controlled study). The benefit of schema markup comes from the content structure it enforces and Knowledge Graph associations — not from LLMs semantically parsing the markup itself.
Sources: schema.org/FAQPage, Google FAQ deprecation notice (May 2026), Google: Optimizing for generative AI (May 2026), Williams-Cook (Feb 2026): LLMs tokenize JSON-LD as raw text.
Qualitative Flags — Reported But Not Scored in Composite
These three signals are checked and displayed but do not affect the composite score. They are directional quality indicators, not precision measurements. Fixing them improves citation eligibility but the relationship is not directly quantifiable from observable signals.
Checks: OAI-SearchBot/sitemap/page status/title/meta description quality. Pass/fail flags only.
Checks: hreflang tags, Open Graph completeness, Twitter Card, canonical URL, HTML lang attribute.
Checks: Person/author schema, Organization social proof, Review/AggregateRating schema, Q&A content patterns, authoritative outbound links (.edu/.gov/.org).
3. How the Score Is Calculated
The composite score (0–100) is a weighted sum of the five scored signals, calculated server-side on each audit run:
Entity Authority sub-breakdown (always sums to max 100):
- Wikipedia presence (FOUND) → +40 pts
- Wikidata entity (CONFIRMED → +30 pts, POSSIBLE → +10 pts)
- sameAs schema links to authoritative domains → 0–30 pts
ℹ️ These weights reflect our best current understanding of relative signal importance based on publicly available research. They are not derived from a proprietary AI citation dataset and will be revised as peer-reviewed research matures. All changes are logged in Section 6.
4. Known Limitations
We publish these limitations explicitly because honest framing is more useful than false precision.
⚠️ The four AI engines are architecturally different
ChatGPT Search uses OAI-SearchBot + Bing's retrieval infrastructure. Perplexity runs an entirely independent crawler and index. Google Gemini uses standard Googlebot search crawls for AI Overviews, while model training and Vertex AI grounding use Google-Extended. Claude uses Claude-SearchBot for citations. A single 0–100 score measures technical readiness against all four systems, but optimising for one does not guarantee visibility on the others.
⚠️ Cross-platform citation overlap is approximately 1.4%
Research tracking 19,556 identical queries across ChatGPT, Perplexity, Claude, and Gemini found a Jaccard similarity of 0.014 (1.4%) between cited URLs (Lee, 2026). A page cited by ChatGPT tells you almost nothing about whether Perplexity will cite it for the same query. Our composite score measures technical prerequisites — not cross-platform citation correlation. Four individually valid signals can still produce a composite that does not predict cross-platform behavior, because the systems they feed do not agree with each other on citation choices.
⚠️ LLMs do not semantically parse JSON-LD markup
LLMs tokenize JSON-LD structured data as raw text alongside visible page content (Williams-Cook, February 2026 controlled study). The citation benefit of FAQPage schema comes from enforcing a clear Q&A content structure that AI extraction can parse, and from Google Knowledge Graph entity signals — not from LLMs reading the JSON-LD tag as semantic markup. "FAQPage schema is the #1 predictor of AI citations" is not a documented finding, and we do not make that claim.
⚠️ We cannot observe actual citation rates
The citation decisions made by ChatGPT, Perplexity, Gemini, and Claude are not publicly observable from outside the AI engine. A perfect VisibilityPulse score does not guarantee AI citations. A low score identifies specific technical barriers you can remove to improve eligibility.
⚠️ Entity authority is a proxy, not a direct measurement
Off-site brand mentions across Reddit, YouTube, Quora, and third-party publications are the strongest predictor of AI Overview visibility (Ahrefs, 0.664 Spearman correlation, May 2025). These cannot be checked from a page audit. Our Entity Authority signal proxies this using on-page and schema data — a directional estimate, not an equivalent measurement.
⚠️ Bingbot correlation with ChatGPT citations is a directional finding
Seer Interactive's analysis found ~87% of ChatGPT citations matched Bing's top organic results — widely cited but not an official OpenAI disclosure. We include Bingbot in our crawler check because of OpenAI's documented Microsoft Bing partnership for ChatGPT Search infrastructure, and treat the 87% figure as a strong directional finding, not a hard official number.
5. What We Don't Measure (Yet)
The following signals are relevant to AI citation probability but are currently outside the scope of what a client-side page audit can check:
- Off-site brand mention volume (Reddit, Quora, YouTube, industry publications) — strongest known AI citation predictor per Ahrefs 2025
- Bing search ranking position — directionally correlated with ChatGPT citation probability
- Actual training data inclusion by any AI engine
- Prompt-level brand recall in AI model responses
- Backlink profile and Domain Rating / Domain Authority
- Real Core Web Vitals (LCP, INP, CLS) from Chrome UX Report field data
- Content quality assessment: answer directness, factual accuracy, reading level, originality
- Google E-E-A-T signals beyond on-page schema (manual review factors)
CrUX API integration for real Core Web Vitals is planned for v1.3. Brand mention proxy signals via off-site crawling are planned for v2.0.
6. Changelog
- Added OAI-SearchBot (ChatGPT Search citation crawler) — correctly separated from GPTBot (training only)
- Added Bingbot to crawler check with explanation of ChatGPT Search retrieval architecture
- Added ChatGPT-User crawler detection
- Standardised signal count to 8 (5 weighted + 3 qualitative flags — consistent across all pages)
- Removed "FAQPage schema is the #1 predictor of AI citations" — replaced with accurate mechanism description
- Clarified Google FAQ rich result deprecation (May 7, 2026) and actual AI extraction benefit of FAQPage schema
- Published this methodology page — addresses "no published methodology" criticism
- Updated robots.txt: added OAI-SearchBot and ChatGPT-User explicit allow rules
- Fixed blog post "rank-in-chatgpt-2026": Step 1 now correctly references OAI-SearchBot + Bingbot, not just GPTBot
- Fixed ItemList schema: removed #1 Predictor false claim from blog post title
- Updated FAQ schema answers in layout.tsx to reference correct crawler architecture
- Renamed signals for clarity across the UI
- Added E-E-A-T sub-checks (author schema, review markup, authoritative outbound citations)
- Added Wikipedia API and Wikidata entity search to Entity Authority signal
- Fixed BlogPosting publisher logo to use square favicon.svg (was sharing the 1200×630 share image)
- Trimmed meta description to ≤155 characters
- Cleaned ItemList schema: removed 4 blog slugs returning 404
- Initial public release: 8 signals, composite scoring formula, Cloudflare Pages deployment
- Multi-UA cascade for WAF bypass (Chrome / Googlebot / curl)
- SSRF protection and rate limiting on analysis endpoint
- Zero-signup, zero-cost architecture
Have a correction or better source?
This methodology is a living document. If you find an error, a better citation, or a signal we should add, we want to hear it. Good criticism makes the product better.
Run Free AI Audit →