www.healthline.com
Scored by v3 · source-of-truth hashes: score db860d6ac94e · thresholds e94f8b33e500 — verifiable against the canonical scorer.
The 28-day score is the p75 of nightly runs — the stable number to cite. Deterministic metrics (CRR/SSD/TC) show their latest value (they move only when the site changes); timing (TTFUT) and answer-fidelity (AF) are smoothed by 28-day p75 — the same lab-vs-field split Core Web Vitals uses. Synthetic daily measurement, not real-user field data.
Metrics
Final screenshot
Diagnostics
signal 0.47 · generic JSON-LD 0/1 · missing: name
Fix: Wrap the real content in <main>/<article>, cut repeated nav/boilerplate, and keep the primary content dense and early in the DOM.
7% of content requires JS · 93% of rendered content recovered (rest is placeholder/wrong)
Fix: Server-render or statically generate the main content so a non-JS agent still receives it; make client rendering a progressive enhancement, not the source of truth.
Rendered profile: headless
Metrics
Final screenshot
Diagnostics
signal 0.47 · generic JSON-LD 0/1 · missing: name
Fix: Wrap the real content in <main>/<article>, cut repeated nav/boilerplate, and keep the primary content dense and early in the DOM.
Rendered profile: headless
Access & discovery checks — separate from the gated CAV metrics above. Click an issue for business impact, what we measured, and how to fix. · Take the Agent Readiness course →
Agent files & endpoints
Issues (5)
✗ robots.txt allows AI bots high impact Blocks: * (all)
Business impact If robots.txt blocks AI crawlers you are invisible to ChatGPT, Claude and Perplexity — they skip you and recommend a competitor instead.
What we measured We read /robots.txt and test it against 16 AI user-agents (GPTBot, ClaudeBot, PerplexityBot, …) for a Disallow that blocks them.
How to fix Allow major AI bots to public content; restrict only private paths (/admin, /api).
User-agent: GPTBot
Allow: /
Disallow: /admin/
✗ No CAPTCHA wall high impact Detected: recaptcha
Business impact CAPTCHAs stop bots — including the AI agents your customers send to shop or book. Content behind a challenge is unreachable.
What we measured We fingerprint reCAPTCHA, hCaptcha and Cloudflare Turnstile in the page.
How to fix Reserve CAPTCHA for login/checkout flows, never public content pages.
~ No content-blocking cookie wall medium impact Consent platform: onetrust (verify it doesn't block content)
Business impact A consent wall that hides content until a click is invisible to agents — they cannot click 'Accept'.
What we measured We fingerprint OneTrust, Cookiebot, Usercentrics and similar managers and flag content-blocking ones.
How to fix Use an overlay banner that leaves content in the DOM, not a blocking interstitial.
Spec: https://gdpr.eu/cookies/
~ Machine-readable prices medium impact No prices found (fine for non-commercial sites)
Business impact When a user asks an agent 'how much does X cost', it needs readable pricing. Hidden, JS-only or 'request a quote' pricing means the agent can't answer — and recommends someone who can.
What we measured We scan the HTML for price patterns and Schema.org Offer/PriceSpecification markup.
How to fix Expose prices (or a starting-from range) in HTML and add Schema.org Offer.
<script type="application/ld+json">{"@type":"Offer","price":"29.90","priceCurrency":"EUR"}</script>Spec: https://schema.org/Offer
~ llms.txt present + valid high impact Found at /.well-known/llms.txt but missing H1/blockquote
Business impact llms.txt is the robots.txt for AI: it tells agents what your site is, what matters, and where to find it. Without it AI guesses — and guessing means inaccurate recommendations and lost visibility.
What we measured We fetch /llms.txt and /.well-known/llms.txt and validate the spec (H1 title + a one-line blockquote summary). We also note /llms-full.txt (your full content as Markdown).
How to fix Create /llms.txt with a short summary + key pages; optionally /llms-full.txt with full content in Markdown.
# Your Site
> One-line description for AI agents.
## Key pages
- /products — catalog
- /pricing — plans
- /docs — documentationSpec: https://llmstxt.org
Passed audits (7)
How to improve
lib.js — 280 KiB transferred, 64.8% unused
rvohealth.io — 496 KiB, 23 requests
longest task 171 ms (1 total)
3.5 MB total
Third-party impact
113 third-party requests · 1970 KiB (54.2% of transfer) · 91 ms main-thread — code an agent must also fetch/run before your content settles. Fewer, lazier third-parties = faster, cheaper agent reads.
| Third-party domain | Reqs | Transfer | Main-thread |
|---|---|---|---|
| rvohealth.io | 23 | 496 KiB | — |
| cookielaw.org | 7 | 302 KiB | 37 ms |
| doubleclick.net | 5 | 271 KiB | — |
| adspsp.com | 4 | 249 KiB | — |
| confiant-integrations.net | 2 | 224 KiB | 49 ms |
| amazon-adsystem.com | 4 | 89 KiB | — |
| privacymanager.io | 2 | 78 KiB | — |
| qualtrics.com | 4 | 63 KiB | — |
| btmessage.com | 3 | 52 KiB | — |
| id5-sync.com | 7 | 41 KiB | — |
| doubleverify.com | 3 | 32 KiB | 5 ms |
| fastclick.net | 1 | 22 KiB | — |
Wasted JavaScript (by bundle)
Transfer-accurate — each bundle's transfer size × its unused %, ranked by wasted bytes (the biggest code-splitting wins). Unused JS also inflates Token Cost (TC).
| Bundle | Transfer | Unused | Wasted |
|---|---|---|---|
| https://assets.healthline.com/_next/b3031113-485c-4832-9b14-9f79a90118d5/hl/lib.js | 280 KiB | 64.8% | 182 KiB |
| https://assets.healthline.com/_next/b3031113-485c-4832-9b14-9f79a90118d5/hl/felib.js | 246 KiB | 73.4% | 181 KiB |
| https://assets.healthline.com/_next/b3031113-485c-4832-9b14-9f79a90118d5/hl/vendor.js | 255 KiB | 69.1% | 176 KiB |
| https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202609040101/pubads_impl.js 3P | 212 KiB | 77.6% | 164 KiB |
| https://gtm-server.healthline.com/gtag/js?id=G-0N29CNZT79&cx=c>m=4e6990h2&sign=ec87d637c0578e9be4dc9bb47a640de4f277775e339944966f49bd3c96e249a2_20260910 | 243 KiB | 50.3% | 122 KiB |
| https://prod.adspsp.com/adb.2418030.pb-pb11.js?c=Cx36eda3c8:mtvedcbq:3 3P | 165 KiB | 73.6% | 121 KiB |
| https://gtm-server.healthline.com/gtm.js?id=GTM-MB6365D | 184 KiB | 52% | 96 KiB |
| https://cdn.cookielaw.org/scripttemplates/202605.1.0/otBannerSdk.js 3P | 136 KiB | 69.4% | 94 KiB |
| https://cdn.confiant-integrations.net/gptprebidnative/202609031720/wrap.js 3P | 144 KiB | 64.4% | 92 KiB |
| https://client.aps.amazon-adsystem.com/publisher.js 3P | 84 KiB | 64.5% | 54 KiB |
| https://assets.healthline.com/_next/felib-async-components-icons-02f61dae.js | 50 KiB | 99.8% | 50 KiB |
| https://ats-wrapper.privacymanager.io/ats-modules/89f1e4e8-db80-4402-9a08-9d36b4401007/ats.js 3P | 78 KiB | 59.7% | 46 KiB |
| https://prod.adspsp.com/adb.2418030.cr.js?c=Cx36eda3c8:mtvedcbq:3 3P | 79 KiB | 52.8% | 42 KiB |
| https://cdn.btmessage.com/script/rlink.js?o=5654206581047296 3P | 51 KiB | 66.9% | 34 KiB |
| https://siteintercept.qualtrics.com/dxjsmodule/626.ed883c3515d3b599438f.chunk.js?Q_CLIENTVERSION=2.56.0&Q_CLIENTTYPE=web&Q_BRANDID=www.healthline.com 3P | 39 KiB | 77.3% | 30 KiB |
Network
Heaviest requests (30)
| URL | Type | Status | Transfer |
|---|---|---|---|
| https://assets.healthline.com/_next/b3031113-485c-4832-9b14-9f79a90118d5/hl/lib.js | Script | 200 | 280 KiB |
| https://assets.healthline.com/_next/b3031113-485c-4832-9b14-9f79a90118d5/hl/vendor.js | Script | 200 | 255 KiB |
| https://assets.healthline.com/_next/b3031113-485c-4832-9b14-9f79a90118d5/hl/felib.js | Script | 200 | 246 KiB |
| https://gtm-server.healthline.com/gtag/js?id=G-0N29CNZT79&cx=c>m=4e6990h2&sign=ec87d637c0578e9be4dc9bb47a640de4f277775e339944966f49bd3c96e249a2_20260910 | Script | 200 | 243 KiB |
| https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202609040101/pubads_impl.js | Script | 200 | 212 KiB |
| https://gtm-server.healthline.com/gtm.js?id=GTM-MB6365D | Script | 200 | 184 KiB |
| https://prod.adspsp.com/adb.2418030.pb-pb11.js?c=Cx36eda3c8:mtvedcbq:3 | Script | 200 | 165 KiB |
| https://cdn.confiant-integrations.net/gptprebidnative/202609031720/wrap.js | Script | 200 | 144 KiB |
| https://cdn.cookielaw.org/scripttemplates/202605.1.0/otBannerSdk.js | Script | 200 | 136 KiB |
| https://cdn.cookielaw.org/consent/6a2124b1-8744-4206-802a-a322e8a028c3/019f865a-75b5-779d-951f-11d9a09d5365/en.json | Fetch | 200 | 126 KiB |
| https://client.aps.amazon-adsystem.com/publisher.js | Script | 200 | 84 KiB |
| https://cdn.confiant-integrations.net/cmoHx-7NMqx3kvsCb7fFcqWf2C8/gpt_and_prebid/config.js | Script | 200 | 80 KiB |
| https://prod.adspsp.com/adb.2418030.cr.js?c=Cx36eda3c8:mtvedcbq:3 | Script | 200 | 79 KiB |
| https://ats-wrapper.privacymanager.io/ats-modules/89f1e4e8-db80-4402-9a08-9d36b4401007/ats.js | Script | 200 | 78 KiB |
| https://www.healthline.com/ | Document | 200 | 58 KiB |
| https://cdn.btmessage.com/script/rlink.js?o=5654206581047296 | Script | 200 | 51 KiB |
| https://assets.healthline.com/_next/felib-async-components-icons-02f61dae.js | Script | 200 | 50 KiB |
| https://media.post.rvohealth.io/wp-content/uploads/2026/01/heart-health.jpg | Image | 200 | 50 KiB |
| https://media.post.rvohealth.io/wp-content/uploads/2026/01/What-Sets-HL-Apart-Crop.jpg | Image | 200 | 44 KiB |
| https://assets.healthline.com/fonts/proxima/v1/38C507_0_0.woff2 | Font | 200 | 41 KiB |
| https://siteintercept.qualtrics.com/dxjsmodule/626.ed883c3515d3b599438f.chunk.js?Q_CLIENTVERSION=2.56.0&Q_CLIENTTYPE=web&Q_BRANDID=www.healthline.com | Script | 200 | 39 KiB |
| https://media.post.rvohealth.io/wp-content/uploads/2026/01/anxietydepression-final.jpg | Image | 200 | 38 KiB |
| https://securepubads.g.doubleclick.net/tag/js/gpt.js | Script | 200 | 37 KiB |
| https://assets.healthline.com/_next/b3031113-485c-4832-9b14-9f79a90118d5/hl/page-widgets.js | Script | 200 | 35 KiB |
| https://assets.healthline.com/fonts/proxima/v1/32A982_1_0.woff2 | Font | 200 | 35 KiB |
| https://assets.healthline.com/fonts/proxima/v1/32A982_7_0.woff2 | Font | 200 | 35 KiB |
| https://cdn.id5-sync.com/api/1.0/id5-api.js | Script | 200 | 34 KiB |
| https://assets.healthline.com/fonts/proxima/v1/32A982_9_0.woff2 | Font | 200 | 34 KiB |
| https://media.post.rvohealth.io/wp-content/uploads/2026/01/menopause-1.jpg | Image | 200 | 32 KiB |
| https://pub.doubleverify.com/dvtag/20447058/DV1208979/pub.js | Script | 200 | 31 KiB |
Long tasks (>50 ms)
| Start | Duration |
|---|---|
| 371 ms | 171 ms |