fly.io 59 D
🛡️ SEO 39 🤖 GEO 67 ⚡ Perf 68 🏗️ Arch 62

fly.io — Global SEODiff Score 59/100

fly.io
📊

The AI-Readiness profile for fly.io is strong: an ACRI of 68/100 places it ahead of 62% of domains in the index. In the developer sector, fly.io outperforms the average (57), suggesting strong competitive positioning in AI search. Content is delivered server-side, meaning bots and AI agents can parse the full page without executing JavaScript. Token bloat registers at 13.8× — acceptable, but reducing inline scripts and redundant markup could yield measurable gains. Zero schema blocks puts this site at a disadvantage in knowledge graph and AI-answer pipelines that rely on explicit structured data. The site maintains an open-door policy for AI crawlers — GPTBot, ClaudeBot, and other major agents are all allowed.

59
D — Global SEODiff Score
Comprehensive search visibility assessment
Below average — Traditional SEO (39) has the most room for improvement.
🎯 Top Fix: Add Organization + WebSite JSON-LD → +5–8 pts
🔬 Automated SEODiff Assessment · Snapshot: Mar 21, 2026 · 📋 API
📈 ACRI Trend 3 snapshots
Mar 7 Mar 21
🔔 Recent AI Indexing Activity
No recent changes detected by adaptive crawler.
Does your site score higher than fly.io?
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)39 × 0.25 = 9.8
🤖 AI Readiness / GEO (40% weight)67 × 0.40 = 26.8
⚡ Performance (20% weight)68 × 0.20 = 13.6
🏗️ Architecture & Trust (15% weight)62 × 0.15 = 9.3
Weighted sum = 9.8 + 26.8 + 13.6 + 9.3
Global SEODiff Score = 59 (D)
📊 ACRI Sub-Scores (AI Readiness Detail)
100
Bot Access
avg 92
97
Rendering
avg 93
45
Structure
avg 35
0
Schema
avg 9
50
Tech Stack
avg 63
🔀
Visibility Delta: Google vs AI
Google (Tranco)
Top 3%
Rank #32465
+35 pts
Gap
AI (ACRI)
Top 38%
Score 68/100

fly.io punches above its weight in AI — AI visibility exceeds Google ranking. This is a competitive moat worth protecting. ACRI measures technical crawler readiness. Read the methodology →

Why fly.io ranks here

Tech stackCustom / Proprietary
Industrydeveloper
RenderingHybrid
Schema coverage0 blocks
Token bloat13.8×

Fastest improvements

  • Add basic Organization and WebSite JSON-LD to fix “0 schema blocks” (see Schema Coverage).
  • 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

39/100 25 % of Global Score 🟡 Medium Confidence

📝 Title Tag

50 chars
Good length

Optimal range: 30–60 characters for SERP display.

📋 Meta Description

0 chars
Missing

Optimal range: 120–160 characters for snippet control.

🔤 Heading Hierarchy

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

🔍 Indexability

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

🌐 Social / OpenGraph

  • ✗ og:title
  • ✗ og:description
  • ✗ og:image
  • ✗ twitter:card
📐 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

67/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 →
fly.io
46
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 10%
0% — Safe 50% 100% — Risk
Status Server-Side Rendered (Safe)
Rendering Type Hybrid

📊 Structure & Information Density Docs

Structure Grade 45/100 — Fair
Structured Elements 38 elements (38 lists, 0 rows, 0 headers)
Total Words623
Raw Density6.1%

🏷️ Schema Health Docs

Organization Schema ❌ Missing
Product / Service Schema ⚠️ Not Found
Total Schema Blocks0 — No JSON-LD detected

Schema Coverage Map

0/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.
💡WebSite schema missing. Add WebSite + SearchAction so Google can generate a Sitelinks Search Box for your brand in AI results.

📐 AI Efficiency Metrics Docs

45
AI Extractability
Low
Crawl Cost
None
Blocklist Risk
Extractability45/100 — AI models can partially extract answers from this page
Crawl CostLow (30/100) — efficient for AI crawlers to process
Blocklist RiskNone — 0 of 5 AI crawlers blocked

Token Bloat Research

7%
🗑️ 93%
Useful Content (14.3 KB)Bloat (181.8 KB)
Token Bloat Ratio13.8× — Normal

Multimodal Readiness

Visual Context76% Optimized for Vision
Image Alt Coverage22 / 29 images have alt text

TDM Rights

TDM-Reservation HeaderNot set
X-Robots-Tag: noaiNot set

🔥 Structural Entropy Check Research

0 Entropy
Poor Token Bloat: High
Noise Ratio: 92.7% · SNR: 0.08 · Signal: 3650 / Noise: 46548 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…
🧠

The LLM Interpretation

AI-VERIFIED

SEODiff AI analyzed the extracted content of fly.io and produced this structured business intelligence. Fields marked SEMANTIC VOID indicate information the AI could not find — a critical gap in your site’s machine-readability.

Core Offering
This platform streamlines software development workflows with integrated tools and expert support.
Target Audience
Developers, engineers, support engineers, platform engineers, and product managers.
Pricing Model
⚠ SEMANTIC VOID
🔗 Integration Partners
GitHubLinkedInTwitterFediverseWebsite
🏆 Competitive Moat
Integrated development tools and expert support for efficient software delivery.
📊 Content Depth
3/10
Analyzed by SEODiff AI · 2026-03-02

🔧 Tech Stack

AI-Readiness Score50/100
ServerFly/2149cd470 (2026-03-19)
CDN
HTTP Status200
Load Time613 ms
Raw HTML Size196.1 KB
Visible Text Size14.3 KB

Performance & Speed

68/100 20 % of Global Score 🟢 High Confidence

⏱️ Time to First Byte

613 ms
Slow — bots may time out or deprioritise

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

📦 Page Weight

587
DOM nodes
196 KB
HTML payload
Moderate weight — acceptable for most scenarios

🗄️ Cache & CDN

  • ✓ Cache-Control header → max-age=0, private, must-revalidate
  • ✗ CDN cache status
  • ✗ CDN detected

🔬 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

62/100 15 % of Global Score 🟡 Medium Confidence

🗺️ Sitemap & Robots

  • ✗ Sitemap declared in robots.txt
  • ✓ Googlebot allowed
  • ✓ GPTBot allowed
  • ✓ ClaudeBot allowed

🔗 Linking

70
internal links
34
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-US
  • ✓ 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 46/100. Reach 80+ to unlock the green "AI-Verified" badge. Fix the issues below to improve your score.

AI-Verified badge for fly.io
Pending Audit — score below 80 threshold
<a href="https://seodiff.io/radar/domains/fly.io" rel="noopener"><img src="https://seodiff.io/api/v1/badge?domain=fly.io" 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 94 pages · Deep-10

Homepage ACRI
46
Single-page score
+6
Consistent readability
Δ delta
Site-Wide ACRI
52
Avg across 94 pages · Range 0–77
Topical Cohesion
12%
Topical Drift
TF-IDF cosine similarity
Total Words
115375
Avg Bloat
57.1×
RAG Fractures [?]
88
⚠️
88 RAG-Chunking Fractures Detected

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

Page Type ACRI Token Bloat Words Status
https://fly.io/docs/elixir/advanced-guides/github-actions-elixir-ci-cd/
GitHub Actions for Elixir CI/CD · Fly Docs
pricing 77 9.8× 3224 ⚠️ RAG Fracture
https://fly.io/blog
The Fly Blog
pricing 77 7.8× 11458 ⚠️ RAG Fracture
https://fly.io/contact
Fly.io
pricing 69 27.3× 541 💰 Pricing
https://fly.io/docs/postgres/connecting/app-connection-examples/
App Connection Examples · Fly Docs
pricing 67 14.1× 3034 ⚠️ RAG Fracture
https://fly.io/docs/elixir/getting-started/legacy/
Legacy pre v1.6.3 Phoenix App · Fly Docs
pricing 67 10.1× 4594 ⚠️ RAG Fracture
https://fly.io/docs/postgres/advanced-guides/high-availability-and-global-replication/
High Availability & Global Replication · Fly Docs
pricing 67 10.5× 3945 ⚠️ RAG Fracture
https://fly.io/docs/django/advanced-guides/staging-environments-with-github-actions/
Staging environments with GitHub actions · Fly Docs
pricing 67 14.6× 2520 ⚠️ RAG Fracture
https://fly.io/docs/django/getting-started/existing/
Existing Django Apps · Fly Docs
pricing 67 13.4× 2390 ⚠️ RAG Fracture
https://fly.io/docs/monitoring/metrics/
Metrics on Fly.io · Fly Docs
pricing 67 13.4× 3585 ⚠️ RAG Fracture
https://fly.io/docs/monitoring/error-codes/
Error codes and troubleshooting · Fly Docs
pricing 67 11.6× 3368 ⚠️ RAG Fracture
https://fly.io/docs/elixir/the-basics/clustering/
Clustering Your Application · Fly Docs
pricing 67 13.2× 3089 ⚠️ RAG Fracture
https://fly.io/docs/elixir/advanced-guides/connect-observer-to-your-app/
Connecting Observer to Your App in Production · Fly Docs
pricing 67 10.4× 3192 ⚠️ RAG Fracture
https://fly.io/docs/elixir/advanced-guides/clustering-from-home-to-your-app-in-fly/
Easy Clustering from Home to Fly.io · Fly Docs
pricing 67 12.7× 2536 ⚠️ RAG Fracture
https://fly.io/docs/elixir/getting-started/migrate-from-heroku/
Migrate from Heroku · Fly Docs
pricing 67 10.0× 3694 ⚠️ RAG Fracture
https://fly.io/docs/upstash/redis/
Upstash for Redis®* · Fly Docs
pricing 67 15.9× 2392 ⚠️ RAG Fracture
https://fly.io/docs/volumes/overview/
Fly Volumes overview · Fly Docs
pricing 67 11.3× 3013 ⚠️ RAG Fracture
https://fly.io/docs/volumes/volume-manage/
Create and manage volumes · Fly Docs
pricing 67 14.5× 2900 ⚠️ RAG Fracture
https://fly.io/docs/postgres/getting-started/what-you-should-know/
This Is Not Managed Postgres · Fly Docs
pricing 64 18.4× 1532 ⚠️ RAG Fracture
https://fly.io/docs/volumes/snapshots/
Manage volume snapshots · Fly Docs
pricing 64 19.5× 1996 ⚠️ RAG Fracture
https://fly.io/docs/postgres/managing/backup-and-restore/
Backup, Restores, & Snapshots · Fly Docs
pricing 64 19.7× 1735 ⚠️ RAG Fracture
Showing 20 of 94 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
/docs/ 85 55 0% 58.5× High JS Bloat
/pricing/ 1 46 0% 202.9× High JS Bloat
/features/ 1 0 0% 0.0× Low AI Readiness
/case-studies/ 1 0 0% 0.0× Low AI Readiness
/faq/ 1 0 0% 0.0× Low AI Readiness
/integrations/ 1 0 0% 0.0× Low AI Readiness
/blog/ 1 77 0% 7.8× High JS Bloat
/contact/ 1 69 0% 27.4× High JS Bloat
/about/ 1 46 0% 154.5× High JS Bloat
/products/ 1 0 0% 0.0× Low AI Readiness
🔗
Outbound External Citations
0 unique external domains cited across 94 pages
github.com ×88
chatgpt.com ×85
community.fly.io ×24
modelcontextprotocol.io ×7
docs.npmjs.com ×6
formulae.brew.sh ×6
hexdocs.pm ×6
127.0.0.1:6274 ×4
🔄 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/fly.io

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

🔗 Similar developer Sites

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

Domain ACRI AI Score Tech Stack Token Bloat Schema
fly.io (this site) 46 68 Custom / Proprietary 13.8× 0
codezine.jp 71 79 Custom / Proprietary 3.2× 0 Compare →
majic.rs 71 77 Custom / Proprietary 3.0× 0 Compare →
ogopendata.com 71 85 WordPress 11.4× 1 Compare →
powrotroberta.pl 71 88 WordPress 11.4× 1 Compare →
sat.kharkiv.ua 71 80 Express 16.4× 1 Compare →
Compare All 5 Similar Sites →

📊 Semantic Share of Voice

How often would an AI cite fly.io 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…

🩹

Remediation Patches

COPY-PASTE

Auto-generated code fixes tailored to fly.io. 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": "Fly",
  "url": "https://fly.io",
  "logo": "https://fly.io/phx/ui/images/favicon/favicon-595d1312b35dfe32838befdf8505515e.ico?vsn=d",
  "sameAs": []
}
</script>
Add WebSite + SearchAction JSON-LD
High Impact ⏱ 5 min
Enables the Sitelinks Search Box in Google and allows AI to understand your site structure.
html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Fly",
  "url": "https://fly.io",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://fly.io/search?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}
</script>
Reduce Token Bloat
Medium Impact ⏱ 1–2 hrs
Only 7% 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 Fly?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Add your answer here — describe what Fly does in 1-2 sentences."
      }
    },
    {
      "@type": "Question",
      "name": "How does Fly work?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Explain the key features and how users interact with Fly."
      }
    }
  ]
}
</script>
📈

Projected Impact

ROI EST.

If you apply the patches above, here's the estimated improvement for fly.io:

Current Score
68
Projected Score
86
Improvement
+18 pts
Add Organization schema +6 pts
Add WebSite schema +4 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 →