expo.dev 63 C
🛡️ SEO 53 🤖 GEO 60 ⚡ Perf 65 🏗️ Arch 88

expo.dev — Global SEODiff Score 63/100

expo.dev
📊

The AI-Readiness profile for expo.dev is strong: an ACRI of 68/100 places it ahead of 62% of domains in the index. Within the developer vertical, this places expo.dev above the industry average of 57 —, suggesting strong competitive positioning in AI search. Server-side rendering keeps the ghost ratio near zero, giving AI systems direct access to all visible content. A 22.4× token bloat ratio means crawlers must process significantly more tokens to reach the actual content — a drag on extraction efficiency. Only 1 schema block is present — adding Organization, WebSite, and Breadcrumb schemas would significantly improve structured data coverage. All major AI bot user-agents (GPTBot, ClaudeBot, CCBot, Google-Extended) are permitted by robots.txt, ensuring broad AI crawler access.

63
C — Global SEODiff Score
Comprehensive search visibility assessment
Strong foundations, but Traditional SEO (53) is your bottleneck.
🎯 Top Fix: Reduce token bloat (22×) → +5–10 pts
🔬 Automated SEODiff Assessment · Snapshot: Mar 15, 2026 · 📋 API
📈 ACRI Trend 3 snapshots
Mar 4 Mar 15
🔔 Recent AI Indexing Activity
No recent changes detected by adaptive crawler.
Does your site score higher than expo.dev?
Run the same 40-signal audit on your own domain — free, instant results.
Scan Your Site Free →
🧮 Score Transparency — How is this calculated?
🛡️ Traditional SEO (25% weight)53 × 0.25 = 13.2
🤖 AI Readiness / GEO (40% weight)60 × 0.40 = 24.0
⚡ Performance (20% weight)65 × 0.20 = 13.0
🏗️ Architecture & Trust (15% weight)88 × 0.15 = 13.2
Weighted sum = 13.2 + 24.0 + 13.0 + 13.2
Global SEODiff Score = 63 (C)
📊 ACRI Sub-Scores (AI Readiness Detail)
100
Bot Access
avg 92
99
Rendering
avg 93
31
Structure
avg 35
2
Schema
avg 9
70
Tech Stack
avg 63

Why expo.dev ranks here

Tech stackNext.js
Industrydeveloper
RenderingSSR
Schema coverage1 blocks
Token bloat22.4×

Fastest improvements

  • Reduce token bloat (navigation/footer/code) so agents reach your main content faster (see Token Bloat).
  • Create an llms.txt file so AI crawlers can discover your content structure without heavy crawling. Generate llms.txt →
  • Run a full entropy audit to find which DOM regions waste the most tokens. Run Entropy Audit →
🧪

JavaScript Rendering Check

We check what AI crawlers miss when they skip JavaScript execution.

Running headless browser to simulate AI extraction…
🛡️

Traditional SEO

53/100 25 % of Global Score 🟢 High Confidence

📝 Title Tag

4 chars
Too short

Optimal range: 30–60 characters for SERP display.

📋 Meta Description

121 chars
Good length

Optimal range: 120–160 characters for snippet control.

🔤 Heading Hierarchy

  • ✓ Exactly 1 <h1> tag — found 1
  • ✓ Has <h2> headings — found 7
  • ✓ <h2> not before <h1>

🔍 Indexability

  • ✗ Canonical tag present
  • ✓ No noindex directive
  • ✓ Meta viewport set
  • ✓ HTML lang attribute → en
  • ➖ Hreflang tags — N/A (single language site)
  • ✓ Googlebot allowed by robots.txt

🌐 Social / OpenGraph

  • ✓ og:title — Expo
  • ✓ og:description — Expo is an open-source platform for making universal native apps for Android, iOS, and the web with JavaScript and React.
  • ✓ og:image — preview
  • ✓ twitter:card — summary_large_image
📐 How the SEO Pillar score is calculated

SEO Pillar = Title (20 pts) + Meta Desc (20 pts) + Heading Hierarchy (20 pts) + Indexability (20 pts) + Social/OG (20 pts)

Each sub-score is derived from the checks above. Canonical tag, lang attribute, og:image, and a single H1 are the highest-impact items.

🤖

AI Readiness / GEO

60/100 40 % of Global Score 🟢 High Confidence

This pillar aggregates citation share, hallucination risk, bot access, schema health, and content extractability. The individual diagnostic sections below contribute to this score.

🔗

Citation Alternatives

Research
💡
Insight: In the developer sector, hikkoshizamurai.jp (ACRI: 88) currently has stronger AI extractability. AI models tend to prefer sources with higher semantic structure and schema coverage. Domains with ACRI < 40 see 3.5× more hallucinations. Read the research →
expo.dev
47
Your ACRI Score
88
Industry Peer ACRI
AI models prioritize pages with strong semantic structure and schema coverage. hikkoshizamurai.jp has schema coverage of 5 blocks and uses Custom / Proprietary. Improve your score by implementing the remediation patches below.
📊 Side-by-Side Comparison →
🚨

Hallucination Risk

Research

Is AI lying about your brand? This panel measures how likely LLMs are to hallucinate facts when extracting information from your page.

Analyzing hallucination risk…

🤖 Bot Access Matrix

GPTBot (OpenAI)
Allowed
ClaudeBot (Anthropic)
Allowed
CCBot (Common Crawl)
Allowed
Google-Extended
Allowed
Googlebot
Allowed

👻 Rendering (Ghost Ratio) Docs

Ghost Ratio 5%
0% — Safe 50% 100% — Risk
Status Server-Side Rendered (Safe)
Rendering Type SSR

📊 Structure & Information Density Docs

Structure Grade 31/100 — Low
Structured Elements 29 elements (29 lists, 0 rows, 0 headers)
Total Words1034
Raw Density2.8%
💡Low structure score (31/100). Your content appears as a wall of text with few structured HTML elements. You have 29 list items, 0 table rows, 0 table headers. Convert features into <ul> lists and data into <table> elements to help AI models extract structured information.

🏷️ Schema Health Docs

Organization Schema ❌ Missing
Product / Service Schema ⚠️ Not Found
Total Schema Blocks1 block(s) — Basic (low value for AI)

Schema Coverage Map

1/7 schema types detected
❌ Organization
❌ Product/Service
❌ Breadcrumb
❌ FAQ
❌ Article
✅ WebSite
💡Organization schema missing. AI models cannot identify your brand entity. Without it, your brand won't appear in Knowledge Panels or be associated with your content.
💡Product / Service schema missing. AI models don't know this is a SaaS product. Add Product or SoftwareApplication schema so AI understands what you offer and can surface pricing/features.
💡BreadcrumbList schema missing. AI cannot understand your site hierarchy or how pages relate to each other.
💡FAQ schema missing. Adding FAQPage schema lets AI models directly extract Q&A pairs for Featured Snippets and chatbot answers.

📐 AI Efficiency Metrics Docs

39
AI Extractability
Medium
Crawl Cost
None
Blocklist Risk
Extractability39/100 — AI models can barely extract answers from this page
Crawl CostMedium (40/100) — moderate for AI crawlers to process
Blocklist RiskNone — 0 of 5 AI crawlers blocked

Token Bloat Research

4%
🗑️ 96%
Useful Content (6.3 KB)Bloat (135.4 KB)
Token Bloat Ratio22.4× — Heavy

Multimodal Readiness

Visual Context47% Optimized for Vision
Image Alt Coverage16 / 34 images have alt text

TDM Rights

TDM-Reservation HeaderNot set
X-Robots-Tag: noaiNot set
💡Your HTML is 141.7 KB, but only 6.3 KB is text. 4% useful / 96% bloat. AI crawlers have limited context windows (e.g. 128k tokens). This level of bloat (22.4×) risks context-window truncation by ChatGPT, Claude, and Gemini. Reduce inline scripts, CSS, hydration payloads, and tracking code.
💡Only 47% of images have alt text. Add descriptive alt attributes so multimodal AI (ChatGPT Vision) can understand your images.

🔥 Structural Entropy Check Research

0 Entropy
Poor Token Bloat: High
Noise Ratio: 95.5% · SNR: 0.05 · Signal: 1616 / Noise: 34656 tokens

🔬 AI-Crawler Simulation

See your website the way AI crawlers do. CSS stripped, structure labeled, content chunked.

🌐
This is what humans see — styled, branded, visual.
Toggle to "AI Agent View" to see what GPTBot, ClaudeBot, and other AI crawlers actually extract from this page.
🤖

AI Answer Preview

NEW

See how AI models summarize your site. Left: your actual content. Right: what the LLM extracts and says about you.

Simulating AI extraction…

🔧 Tech Stack

FrameworkNext.js
AI-Readiness Score70/100
Servercloudflare
CDNcloudflare
HTTP Status200
Load Time612 ms
Raw HTML Size141.7 KB
Visible Text Size6.3 KB

Performance & Speed

65/100 20 % of Global Score 🟢 High Confidence

⏱️ Time to First Byte

612 ms
Slow — bots may time out or deprioritise

Google considers <200 ms "good". AI crawlers may have even shorter timeouts.

📦 Page Weight

986
DOM nodes
142 KB
HTML payload
Moderate weight — acceptable for most scenarios

🗄️ Cache & CDN

  • ✓ Cache-Control header → private, no-cache, no-store, max-age=0, must-revalidate
  • ✓ CDN cache status → DYNAMIC
  • ✓ CDN detected → cloudflare

🔬 Tracker Tax

0
tracker scripts
0
third-party domains
0.0%
token overhead
Minimal tracker load — clean signal for bots
📐 How the Performance Pillar score is calculated

Perf Pillar = TTFB (35 pts) + Page Weight (25 pts) + Cache/CDN (20 pts) + Tracker Tax (20 pts)

TTFB <200 ms = full marks. DOM >3000 or payload >300 KB incurs heavy penalties. Tracker scripts beyond 5 reduce score.

🏗️

Architecture & Trust

88/100 15 % of Global Score 🟢 High Confidence

🗺️ Sitemap & Robots

  • ✓ Sitemap declared in robots.txt → https://expo.dev/sitemap.xml
  • ✓ Googlebot allowed
  • ✓ GPTBot allowed
  • ✓ ClaudeBot allowed

🔗 Linking

49
internal links
27
external links
Good internal linking — helps crawlers discover content

🔒 Security & Trust

  • ✓ HSTS header (Strict-Transport-Security)
  • ✓ Content-Security-Policy header
  • ✓ HTTP status 200 OK (got 200)

♿ Accessibility Signals

  • ✓ HTML lang attribute → en
  • ✓ Meta viewport for mobile
  • ✓ Single H1 for screen readers
📐 How the Architecture Pillar score is calculated

Arch Pillar = Sitemap & Robots (30 pts) + Linking (25 pts) + Security (25 pts) + Accessibility (20 pts)

Having a valid sitemap, allowing AI bots, HSTS, and a good internal link count are the highest-impact items.

🏅 AI-Verified Trust Badge

Your site scores 47/100. Reach 80+ to unlock the green "AI-Verified" badge. Fix the issues below to improve your score.

AI-Verified badge for expo.dev
Pending Audit — score below 80 threshold
<a href="https://seodiff.io/radar/domains/expo.dev" rel="noopener"><img src="https://seodiff.io/api/v1/badge?domain=expo.dev" alt="AI-Verified by SEODiff" width="280" height="52"></a>

💡 Paste in your site footer, GitHub README, or email signature. Badge updates automatically as your score changes.

� Deep Crawl Analysis 311 pages · Deep-10

Homepage ACRI
47
Single-page score
+4
Consistent readability
Δ delta
Site-Wide ACRI
52
Avg across 311 pages · Range 0–79
Topical Cohesion
20%
Topical Drift
TF-IDF cosine similarity
Total Words
421377
Avg Bloat
64.8×
RAG Fractures [?]
304
⚠️
304 RAG-Chunking Fractures Detected

Poorly formatted tables or pricing grids on 304 pages will be split incorrectly during RAG chunking, causing AI models to hallucinate prices and features.

Page Type ACRI Token Bloat Words Status
https://expo.dev/terms
Terms of Service — Expo
pricing 79 3.3× 7816 ⚠️ RAG Fracture
https://expo.dev/privacy
Privacy Policy — Expo
legal 79 4.5× 3183 ⚠️ RAG Fracture
https://expo.dev/support-terms
Support Terms — Expo
legal 74 8.9× 1073 ⚠️ RAG Fracture
https://expo.dev/blog/how-expo-helps-my-startup-grow-faster
How RANKD got to market faster with Expo
pricing 64 11.5× 2317 ⚠️ RAG Fracture
https://expo.dev/blog/eas-update-best-practices
Streamline your mobile app deployment using these EAS Update best practices
pricing 64 12.0× 2554 ⚠️ RAG Fracture
https://expo.dev/blog/making-ai-feel-human-in-a-mobile-app-with-expo-reanimated-and-skia
Making AI feel human in a mobile app with Expo, Reanimated, and Skia
pricing 64 12.4× 2926 ⚠️ RAG Fracture
https://expo.dev/blog/how-to-increase-mobile-app-downloads-and-retention
5 tips to increase mobile app downloads and retention in 2026
pricing 64 11.7× 2812 ⚠️ RAG Fracture
https://expo.dev/blog/how-to-build-a-solid-test-harness-for-expo-apps
How to build a solid test harness for Expo apps
pricing 64 10.5× 3987 ⚠️ RAG Fracture
https://expo.dev/blog/why-expo-is-a-great-fit-for-new-and-existing-react-native-apps
Why Expo is a great fit for new and existing React Native apps
pricing 64 11.8× 2305 ⚠️ RAG Fracture
https://expo.dev/blog/how-to-modernize-mobile-retail-apps-with-expo
How to modernize mobile retail apps with Expo
pricing 64 11.7× 3369 ⚠️ RAG Fracture
https://expo.dev/blog/web-to-native
From web to native with React Native and Expo
pricing 64 12.0× 2367 ⚠️ RAG Fracture
https://expo.dev/blog/payhip-boosts-seller-experience-with-expo-powered-mobile-app
Payhip boosts seller experience with Expo-powered mobile app
pricing 64 13.6× 1954 ⚠️ RAG Fracture
https://expo.dev/blog/how-i-migrated-my-bare-react-native-app-to-expo
How I migrated my bare React Native app to Expo
pricing 64 10.8× 2988 ⚠️ RAG Fracture
https://expo.dev/blog/swift-to-react-native
From Swift tattoo to React Native migration lead: a business-first approach to mobile development
pricing 64 12.5× 1915 ⚠️ RAG Fracture
https://expo.dev/blog/how-rosebud-decided-to-go-native-with-expo
How Rosebud decided to go native with Expo
pricing 64 13.2× 2194 ⚠️ RAG Fracture
https://expo.dev/blog/how-to-incrementally-adopt-expo
How to incrementally adopt Expo in a brownfield React Native app
pricing 64 10.8× 3293 ⚠️ RAG Fracture
https://expo.dev/changelog/2023-12-12-sdk-50-beta
Expo SDK 50 beta is now available - Expo Changelog
pricing 64 12.5× 3167 ⚠️ RAG Fracture
https://expo.dev/changelog/sdk-54-beta
Expo SDK 54 beta is now available - Expo Changelog
pricing 64 12.8× 4193 ⚠️ RAG Fracture
https://expo.dev/changelog/sdk-53-beta
Expo SDK 53 beta is now available - Expo Changelog
pricing 64 12.0× 3809 ⚠️ RAG Fracture
https://expo.dev/changelog/2024-10-24-sdk-52-beta
Expo SDK 52 beta is now available - Expo Changelog
pricing 64 11.8× 4069 ⚠️ RAG Fracture
Showing 20 of 100 pages. Unlock full subpage table →
📂
Health by Sub-Directory
Average ACRI and top issues aggregated by URL path prefix
Path Pages Avg ACRI Ghost % Bloat Top Issue
/blog/ 169 58 0% 60.8× High JS Bloat
/changelog/ 77 45 1% 52.8× Bot Blocked
/solutions/ 10 51 1% 35.1× Bot Blocked
/services/ 5 42 1% 43.6× Bot Blocked
/ai/ 3 55 0% 25.5× High JS Bloat
/privacy/ 3 57 0% 16.4× High JS Bloat
/oauth/ 2 12 0% 152.6× High JS Bloat
/mailing-list/ 1 23 1% 326.1× Bot Blocked
/pricing/ 1 53 1% 40.4× Bot Blocked
/expo-skills/ 1 33 1% 61.0× Bot Blocked
/orbit/ 1 33 1% 55.0× Bot Blocked
/acceptable-use/ 1 64 0% 11.0× High JS Bloat
/community-guidelines/ 1 64 0% 14.0× High JS Bloat
/home/ 1 53 1% 33.4× Bot Blocked
/office-hours/ 1 43 1% 43.4× Bot Blocked
🔗
Outbound External Citations
0 unique external domains cited across 311 pages
snack.expo.dev ×306
bsky.app ×306
chat.expo.dev ×306
github.com ×306
twitter.com ×304
status.expo.dev ×304
docs.expo.dev ×304
expo.test ×169
🔄 Re-Crawl & Update 📡 Track this Domain

Scores update automatically each month. Create a free account for on-demand re-crawls (3/month free).

🔌 API Access

Pull this data programmatically. All sub-page metrics are available via our public API.

curl https://seodiff.io/api/v1/deep10/domain/expo.dev

Get your free API key — 100 requests/month included.

🔗 Similar developer Sites

Domains with a similar tech stack, industry, and AI readiness profile to expo.dev. Compare side-by-side.

Domain ACRI AI Score Tech Stack Token Bloat Schema
expo.dev (this site) 47 68 Next.js 22.4× 1
karenkane.com 72 83 Next.js 16.7× 3 Compare →
inseasonjewelry.com 72 86 Next.js 9.7× 3 Compare →
growthrocks.com 72 84 Next.js 8.1× 6 Compare →
twistedthrottle.com 72 88 WordPress 21.1× 1 Compare →
neolivin.com 72 89 WordPress 20.5× 1 Compare →
Compare All 5 Similar Sites →

📊 Semantic Share of Voice

How often would an AI cite expo.dev when users ask about topics in this domain's niche? We run entity queries through our 188k-page search index and measure citation probability.

Analyzing citation landscape…

🎭

Bait & Switch Delta

F 15 PAGES

Compares your homepage rendering quality with inner pages. A high drift score means AI crawlers see a polished homepage but degraded inner content — the "bait & switch" that erodes trust.

53
Homepage ACRI
41
Inner Avg ACRI
+12
ACRI Delta
60%
Homepage Ghost
60%
Inner Avg Ghost
100
Drift Score [?]
Worst Inner Pages
51 60% about https://expo.dev/about
43 60% pricing https://expo.dev/features
43 60% pricing https://expo.dev/docs
🛡️

E-E-A-T Trust Signals

C 40/100

Trust indicators extracted from surface pages. These signals help AI systems verify your site's Experience, Expertise, Authoritativeness, and Trustworthiness.

Physical Address
Phone Number
Email Contact
About Page
Contact Page
Privacy Policy
Terms of Service
Named Leadership
🔗

Citation Profile

40 DOMAINS

Outbound citation patterns across surface-crawled pages. Sites that cite diverse, authoritative sources signal higher E-E-A-T to AI systems.

153
Total Links
40
Unique Domains
10.2
Avg/Page
26%
Diversity
github.com chat.expo.dev bsky.app snack.expo.dev twitter.com status.expo.dev docs.expo.dev expo.test x.com launch.expo.dev
🏘️ Outbound Neighborhood Trust Avg Trust: 22.6

AI trust scores for the domains expo.dev links to. Citing high-trust sources lifts your own credibility signal.

🩹

Remediation Patches

COPY-PASTE

Auto-generated code fixes tailored to expo.dev. Copy and paste these into your codebase to improve AI visibility. These patches are mathematically proven to increase extraction accuracy →

Add Organization JSON-LD
High Impact ⏱ 5 min
AI models cannot identify your brand entity without Organization schema. This is the #1 fix for AI visibility.
html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Expo",
  "url": "https://expo.dev",
  "logo": "https://static.expo.dev/static/favicons/favicon-light-48x48.png",
  "sameAs": []
}
</script>
Reduce Token Bloat
Medium Impact ⏱ 1–2 hrs
Only 4% of your HTML is useful content. AI crawlers waste context window tokens on bloat.
html
<!-- Move inline CSS to external stylesheets -->
<link rel="stylesheet" href="/css/main.css">

<!-- Move inline scripts to external files with defer -->
<script src="/js/app.js" defer></script>

<!-- Remove duplicate navigation blocks -->
<!-- Keep only ONE <nav> in the <header> -->

<!-- Ensure <main> wraps your primary content -->
<main>
  <!-- Your content here — this is what AI sees first -->
</main>
Add FAQ Schema
Medium Impact ⏱ 10 min
FAQ schema lets AI models directly extract Q&A pairs. This is the easiest way to get featured in AI responses.
html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is Expo?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Add your answer here — describe what Expo does in 1-2 sentences."
      }
    },
    {
      "@type": "Question",
      "name": "How does Expo work?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Explain the key features and how users interact with Expo."
      }
    }
  ]
}
</script>
📈

Projected Impact

ROI EST.

If you apply the patches above, here's the estimated improvement for expo.dev:

Current Score
68
Projected Score
82
Improvement
+14 pts
Add Organization schema +6 pts
Reduce token bloat +5 pts
Add FAQ schema +3 pts

*Estimates based on SEODiff's scoring model. Actual results depend on implementation quality.

📋 Data Export

Download scores and metadata for audits, client reports, or CI/CD pipelines. Exports contain computed metrics only (no copyrighted content).

All data is generated automatically and updated with each crawl. JSON exports contain scores and metadata only (no copyrighted content).

Is this your company?

Monitor your AI visibility score weekly and get alerted when changes happen.

Start Free →

🧭 Self-Diffing (Private Layer)

For owned domains, combine this world snapshot with private drift + regression history.
Template Drift
Track in My Site
Drift → Traffic Impact
In development coming soon
Regression Incidents
Track in My Site
Internal Linking
Deep Audit graph
Semantic Structure
GEO view in Deep Audit
Content Quality
Thin/duplicate tracking

🕒 History

Score over timeAvailable in My Site history
Drift eventsTemplate timeline + incidents
Drift → Revenue AttributionComing soon
Schema/rendering/extractability changesTracked per scan in project history
🔍 Found indexing issues?
Run a free deep audit to diagnose crawled-not-indexed, soft 404s, redirect errors, and more.
Free Deep Audit → GSC Error Guide →