ulh.org 40 D
🛡️ SEO 30 🤖 GEO 71 ⚡ Perf 47 🏗️ Arch 82

ulh.org — Global SEODiff Score 40/100

ulh.org
📊

The AI-Readiness score for ulh.org stands at a concerning 15/100, placing it among the least AI-accessible sites in the index. Within the healthcare vertical, this places ulh.org below the industry average of 57 —, indicating room for competitive improvement. The rendering approach is hybrid, with a moderate ghost ratio of 30% — most content is accessible without JS, though some elements are client-rendered. The 8.0× token bloat ratio falls within the normal range, though there is room to trim navigation, footer, and script overhead. Minimal structured data (1 block) limits the site's ability to communicate entity relationships to AI systems. All major AI crawlers (GPTBot, ClaudeBot, CCBot, Google-Extended) are restricted by robots.txt — the site has limited accessibility to AI search.

40
D — Global SEODiff Score
Comprehensive search visibility assessment
Below average — Traditional SEO (30) has the most room for improvement.
🎯 Top Fix: Allow GPTBot + ClaudeBot in robots.txt → lift the score cap
🔬 Automated SEODiff Assessment · Snapshot: Mar 20, 2026 · 📋 API
📈 ACRI Trend 8 snapshots
Feb 23 Mar 20
🔔 Recent AI Indexing Activity
🔄 Mar 20 Content change detected
📉 Mar 17 ACRI -1 (49→48)
📉 Mar 12 ACRI -10 (59→49)
Does your site score higher than ulh.org?
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)30 × 0.25 = 7.5
🤖 AI Readiness / GEO (40% weight)71 × 0.40 = 28.4
⚡ Performance (20% weight)47 × 0.20 = 9.4
🏗️ Architecture & Trust (15% weight)82 × 0.15 = 12.3
Weighted sum = 7.5 + 28.4 + 9.4 + 12.3
⚠️ Fatal multiplier: All major AI bots blocked → ×0.5
Global SEODiff Score = 40 (D)
🚫
Gatekeeper Rule: Score cannot exceed 15. Both GPTBot and ClaudeBot are blocked in robots.txt. No major AI assistant can cite this site. Allow at least one major AI crawler to lift the cap. See Bot Access →
📊 ACRI Sub-Scores (AI Readiness Detail)
20
Bot Access
avg 92
84
Rendering
avg 93
50
Structure
avg 35
2
Schema
avg 9
55
Tech Stack
avg 63
🔀
Visibility Delta: Google vs AI
Google (Tranco)
Top 50%+
Rank #667975
Aligned
Gap
AI (ACRI)
Top 67%
Score 15/100

ulh.org has balanced Google and AI visibility — both rank roughly in the same tier. ACRI measures technical crawler readiness. Read the methodology →

Why ulh.org ranks here

Tech stackVue.js
Industryhealthcare
RenderingHybrid
Schema coverage1 blocks
Token bloat8.0×

Fastest improvements

  • Allow GPTBot in robots.txt so AI crawlers can access your pages (see Crawl Access).
  • Allow ClaudeBot (many assistants rely on it) — blocking it often correlates with “AI invisibility.”
  • 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

30/100 25 % of Global Score 🟢 High Confidence

📝 Title Tag

85 chars
Too long

Optimal range: 30–60 characters for SERP display.

📋 Meta Description

208 chars
Too long

Optimal range: 120–160 characters for snippet control.

🔤 Heading Hierarchy

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

🔍 Indexability

  • ✓ Canonical tag present → https://uoflhealth.org/
  • ✓ 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 — UofL Health | Louisville Hospital and Health Care System Serving Kentucky and Indiana
  • ✓ og:description — UofL Health is a not-for-profit 501(c)(3) fully integrated regional academic health system with nine hospitals, four medical centers, more than 250 physician practice locations, and more than 1,200 providers.
  • ✗ og:image
  • ✓ 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

71/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 healthcare sector, adelaideaccountant.com (ACRI: 86) 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 →
ulh.org
48
Your ACRI Score
86
Industry Peer ACRI
AI models prioritize pages with strong semantic structure and schema coverage. adelaideaccountant.com has schema coverage of 4 blocks and uses Express. 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.

👻
Shadow Content Detected: 30% of your page token budget is in non-rendered regions (JavaScript-dependent content that AI crawlers may not process). Combined with 8.0x token bloat, AI models are using most of their context window on noise instead of your real content. This dramatically increases hallucination probability — models fill the gap with made-up facts.
Analyzing hallucination risk…

🤖 Bot Access Matrix

GPTBot (OpenAI)
Blocked
ClaudeBot (Anthropic)
Blocked
CCBot (Common Crawl)
Blocked
Google-Extended
Blocked
Googlebot
Allowed
💡GPTBot is blocked. To appear in ChatGPT citations, add Allow: / under User-agent: GPTBot in your robots.txt.
💡ClaudeBot is blocked. To be cited by Claude, allow ClaudeBot in robots.txt.

👻 Rendering (Ghost Ratio) Docs

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

📊 Structure & Information Density Docs

Structure Grade 50/100 — Fair
Structured Elements 96 elements (96 lists, 0 rows, 0 headers)
Total Words1257
Raw Density7.6%

🏷️ Schema Health Docs

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

Schema Coverage Map

2/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

49
AI Extractability
Medium
Crawl Cost
Critical
Blocklist Risk
Extractability49/100 — AI models can partially extract answers from this page
Crawl CostMedium (60/100) — moderate for AI crawlers to process
Blocklist RiskCritical — 4 of 5 AI crawlers blocked

Token Bloat Research

12%
🗑️ 88%
Useful Content (31.3 KB)Bloat (218.2 KB)
Token Bloat Ratio8.0× — Normal

Multimodal Readiness

Visual Context72% Optimized for Vision
Image Alt Coverage26 / 36 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: 87.4% · SNR: 0.14 · Signal: 8019 / Noise: 55858 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 ulh.org 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
UofL Health is a not-for-profit academic health system providing integrated care across a network of hospitals, medical centers, and physician
Target Audience
Patients, physicians, medical staff, researchers, healthcare professionals, and community members seeking comprehensive medical care and access to clinical trials.
Pricing Model
Not specified – operates as a non-profit health system with various funding sources including patient fees, philanthropy, and government grants.
🏆 Competitive Moat
Integration of academic research with clinical practice, access to advanced treatments and technologies, and a broad network of specialists.
📊 Content Depth
6/10
⚡ Key Pain Points
• Lack of specific pricing information
• Limited information on technology development
Analyzed by SEODiff AI · 2026-03-31

🔧 Tech Stack

FrameworkVue.js
AI-Readiness Score55/100
ServerLiteSpeed
CDN
HTTP Status200
Load Time1547 ms
Raw HTML Size249.5 KB
Visible Text Size31.3 KB

Performance & Speed

47/100 20 % of Global Score 🟢 High Confidence

⏱️ Time to First Byte

1547 ms
Slow — bots may time out or deprioritise

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

📦 Page Weight

897
DOM nodes
250 KB
HTML payload
Moderate weight — acceptable for most scenarios

🗄️ Cache & CDN

  • ✓ Cache-Control header → no-cache, must-revalidate, max-age=0, no-store, private
  • ✗ 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

82/100 15 % of Global Score 🟢 High Confidence

🗺️ Sitemap & Robots

  • ✓ Sitemap declared in robots.txt → https://uoflhealth.org/sitemap_index.xml
  • ✓ Googlebot allowed
  • ✗ GPTBot allowed
  • ✗ ClaudeBot allowed

🔗 Linking

35
internal links
145
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 48/100. Reach 80+ to unlock the green "AI-Verified" badge. Fix the issues below to improve your score.

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

Homepage ACRI
48
Single-page score
-30
Severe hidden bloat
Δ delta
Site-Wide ACRI
18
Avg across 10 pages · Range 0–67
🔍
Hidden Bloat Detected

Homepage scores 48, but internal pages average only 18 — a -30-point gap. Blogs, docs, and legacy content are dragging down AI readability site-wide.

Topical Cohesion
3%
Topical Drift
TF-IDF cosine similarity
Total Words
1479
Avg Bloat
24.9×
Page Type ACRI Token Bloat Words Status
https://ulh.org/about
About UofL Health | Louisville KY | UofL Health
pricing 67 41.6× 740 💰 Pricing
https://ulh.org/contact
Contact UofL Health | Louisville Ky
pricing 67 44.6× 514 💰 Pricing
https://ulh.org/blog
Health Library Archive | UofL Health
pricing 51 162.3× 225 💰 Pricing
https://ulh.org/pricing pricing 0 0.0× 0
https://ulh.org/products product 0 0.0× 0
https://ulh.org/features product 0 0.0× 0
https://ulh.org/docs docs 0 0.0× 0
https://ulh.org/case-studies social-proof 0 0.0× 0
https://ulh.org/faq support 0 0.0× 0
https://ulh.org/integrations integrations 0 0.0× 0
📂
Health by Sub-Directory
Average ACRI and top issues aggregated by URL path prefix
Path Pages Avg ACRI Ghost % Bloat Top Issue
/integrations/ 1 0 0% 0.0× Low AI Readiness
/contact/ 1 67 0% 44.6× High JS Bloat
/pricing/ 1 0 0% 0.0× Low AI Readiness
/products/ 1 0 0% 0.0× Low AI Readiness
/features/ 1 0 0% 0.0× Low AI Readiness
/docs/ 1 0 0% 0.0× Low AI Readiness
/about/ 1 67 0% 41.6× High JS Bloat
/blog/ 1 51 1% 162.3× Bot Blocked
/case-studies/ 1 0 0% 0.0× Low AI Readiness
/faq/ 1 0 0% 0.0× Low AI Readiness
🔗
Outbound External Citations
0 unique external domains cited across 10 pages
uoflhealth.org ×3
instagram.com ×3
youtube.com ×3
twitter.com ×3
tiktok.com ×3
facebook.com ×3
linkedin.com ×3
uoflhealthfoundation.org ×3
🔄 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/ulh.org

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

🔗 Similar healthcare Sites

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

Domain ACRI AI Score Tech Stack Token Bloat Schema
ulh.org (this site) 48 15 Vue.js 8.0× 1
mypharmacy.co.uk 73 86 WordPress 8.2× 1 Compare →
merit.com 73 85 WordPress 8.4× 1 Compare →
genericvilla.com 73 77 WordPress 8.5× 2 Compare →
gravitydefyer.com 73 86 Shopify 8.5× 2 Compare →
gbs-cidp.org 73 86 WordPress 10.4× 1 Compare →
Compare All 5 Similar Sites →

📊 Semantic Share of Voice

How often would an AI cite ulh.org 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 ulh.org. 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": "Ulh",
  "url": "https://ulh.org",
  "logo": "https://uoflhealth.org/wp-content/uploads/2022/01/cropped-ULH_Favicon-01-32x32.png",
  "sameAs": []
}
</script>
Allow GPTBot in robots.txt
High Impact ⏱ 2 min
GPTBot is blocked — your content cannot appear in ChatGPT citations. Add this to your robots.txt:
text
User-agent: GPTBot
Allow: /

User-agent: ChatGPT-User
Allow: /
Allow ClaudeBot in robots.txt
Medium Impact ⏱ 2 min
ClaudeBot is restricted — Claude may not be able to cite your content. Many AI assistants rely on it.
text
User-agent: ClaudeBot
Allow: /

User-agent: anthropic-ai
Allow: /
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 Ulh?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Add your answer here — describe what Ulh does in 1-2 sentences."
      }
    },
    {
      "@type": "Question",
      "name": "How does Ulh work?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Explain the key features and how users interact with Ulh."
      }
    }
  ]
}
</script>
📈

Projected Impact

ROI EST.

If you apply the patches above, here's the estimated improvement for ulh.org:

Current Score
15
Projected Score
40
Improvement
+25 pts
Allow GPTBot +8 pts
Allow ClaudeBot +5 pts
Add Organization schema +6 pts
Reduce token bloat +3 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 →