www.wto.org

Report from 9/21/2026, 10:42:47 AM https://www.wto.org
Latest run · lab, cold cache
37
9/21/2026
28-day score · p75 · the standard
4/7 runs — building history (nightly)

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.

Core Agent Vitals badge  Embed this badge

Show your agent-readiness score anywhere — it links back to this report.

[![Core Agent Vitals](https://agentvitals.dev/badge/wto.org.svg)](https://agentvitals.dev/results?url=https%3A%2F%2Fwww.wto.org)
<a href="https://agentvitals.dev/results?url=https%3A%2F%2Fwww.wto.org"><img src="https://agentvitals.dev/badge/wto.org.svg" alt="Core Agent Vitals" height="20"></a>
What AI tells your customers about youAgent confidence: LOW
🟡Business nameWorld Trade Organization - Global trade · guessed from page text (no structured data)
Categorynot found
Pricenot applicable · not applicable to this page type
Locationnot applicable · not applicable to this page type
Hoursnot applicable · not applicable to this page type
Productsnot applicable · not applicable to this page type
🟡DescriptionGlobal trade - The World Trade Organization (WTO) deals with the global rules of trade between nations. Its main function is to ensure that global trade flows smoothly, predictably and freely as po… · guessed from page text (no structured data)

An agent is likely to fabricate missing details rather than say “I don’t know”. 0/3 applicable facts come from machine-readable structured data.

37
Overall score
weighted CAV (0–100)
FAIL
0–4950–8990–100

Metrics

28%
CRR Content Recovery Poor
0.16
SSD Semantic Signal Density Poor
398 tok
TC Token Cost Good
162 ms
TTFUT Time to First Useful Token N/A

Token Cost breakdown

Where the page's tokens go (≈8,644 across regions). 100% is non-content — chrome and boilerplate an agent pays for. Add landmark roles (main/nav/header/footer) so agents can skip it.

Content
0.5% · 42
Chrome (nav / header / footer)
56.1% · 4,853
Boilerplate (cookie / ad)
0% · 0
Other
43.4% · 3,749

Final screenshot

Final screenshot of https://www.wto.org

Diagnostics

high CRR Content is hidden behind JavaScript

pre-JS raw HTML

Evidence73% of content requires JS · 28% of rendered content recovered (rest is placeholder/wrong)
ImpactA non-rendering agent never sees the JS-injected content.
Effort1–4 h

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.

high SSD Low signal-to-noise for agents

content vs chrome/boilerplate

Evidencesignal 0.27 · JSON-LD 0/1 · missing: structured-data
ImpactAgent spends tokens parsing nav/boilerplate instead of content.
Effort30–90 min

Fix: Wrap the real content in <main>/<article>, cut repeated nav/boilerplate, and keep the primary content dense and early in the DOM.

high TC 99.5% of tokens are non-content (boilerplate/chrome)

agent representation — token decomposition

EvidenceToken decomposition: content 0.5%, chrome 56.1%, boilerplate 0%, other 43.4%. Only 0.5% of the agent's tokens are real content.
ImpactAn agent pays for boilerplate on every request and has less context left for the real content.
Effort30–90 min

Fix: Strip repeated nav/header/footer/cookie chrome from the agent-visible output; wrap content in <main>/<article> so the extractor keeps signal and drops boilerplate.

Rendered profile: headless

Agent Discoverability 78/100 · Needs Work

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

~ llms.txt Found at /llms.txt but missing H1/blockquote Learn →
robots.txt (AI bots) Major AI bots allowed Learn →
~ sitemap.xml Sitemap found but no <url>/<loc> entries Learn →
JSON-LD structured data No JSON-LD found Learn →
agents.json Found at /agents.json Learn →
WebMCP endpoint Found at /.well-known/webmcp Learn →
OpenAPI / API docs Found at /openapi.json Learn →

Issues (3)

~ llms.txt present + valid high impact Found at /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.

Learn how to implement →

# Your Site
> One-line description for AI agents.

## Key pages
- /products — catalog
- /pricing — plans
- /docs — documentation

Spec: https://llmstxt.org

Structured data (JSON-LD) medium impact No JSON-LD found

Business impact Schema.org JSON-LD tells agents what a page IS (product, article, business) with typed fields (price, rating, hours). Without it agents extract less reliably.

What we measured We parse <script type=application/ld+json>, validate it, and check for populated @type fields.

How to fix Add JSON-LD: Organization/LocalBusiness on the homepage, Product on product pages, Article on posts.

Learn how to implement →

<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Your Co","url":"https://example.com"}</script>

Spec: https://schema.org/

~ XML sitemap present medium impact Sitemap found but no <url>/<loc> entries

Business impact A sitemap is your table of contents for AI crawlers. Without it agents follow homepage links and miss deep pages (products, docs, pricing) — shrinking what they can recommend.

What we measured We fetch /sitemap.xml (and /sitemap_index.xml), confirm valid XML with <loc> entries, and check <lastmod> freshness.

How to fix Generate an XML sitemap of all public pages with current lastmod dates and reference it in robots.txt.

Learn how to implement →

# robots.txt
Sitemap: https://example.com/sitemap.xml

Spec: https://www.sitemaps.org/

Passed audits (8)

✓ robots.txt allows AI bots✓ No CAPTCHA wall✓ No content-blocking cookie wall✓ No login wall on public content✓ Server response (TTFB)✓ agents.json discovery✓ WebMCP endpoint✓ API documentation

Transport & Trust (SEC 1.0.0)

HTTPS, HSTS, CSP, sniffing, referrer and CORS posture. Diagnostic only — this does not affect the CAV score. A security header does not make a page more legible to an agent, so scoring it would reward a CDN toggle that changes nothing an agent can recover. We measure it and say so.

73Transport posture (0–100, unscored)
4pass
1warn
1fail
Per-header findings (6)
HeaderEvidence
✅ HTTPSserved over HTTPS
✅ HSTSmax-age=31536000
❌ Content-Security-Policyno content-security-policy header
✅ X-Content-Type-Optionsnosniff
⚠️ Referrer-Policyno referrer-policy header (browser default applies)
✅ CORS exposureaccess-control-allow-origin: https://eregistration.wto.org, https://rtais.wto.org
Full profile — how to improve · unused JS · network · timing

How to improve

highSpeed up main-content renderhighest leverage

largest contentful paint

EvidenceLCP is 7.5s.
ImpactFaster usable content; SSR also raises CRR.
Effort1–4 h
FixPreload the hero image/font, remove render-blocking resources, and server-render the main content.
highReduce layout shift

cumulative layout shift

EvidenceCLS is 0.333.
ImpactStable layout for render + screenshot.
Effort30–60 min
FixSet explicit width/height on images; reserve space for late-loading content.
highBreak up long main-thread tasks

longest task 2297 ms (4 total)

EvidenceMain thread blocked 2297 ms by the longest task.
ImpactFaster interactivity + content settling.
Effort1–4 h
FixSplit heavy work, defer third-party scripts, move compute off the main thread.
mediumSplit the heaviest unused bundle

js — 170 KiB transferred, 53% unused (third-party)

EvidenceCDP JS coverage: 90 KiB of this bundle is never executed on load.
Impact~-90 KiB transfer; lower Token Cost + faster agent parse.
Effort30–90 min
FixDynamic-import() the below-the-fold parts of js, or drop unused dependencies. It is third-party — lazy-load or remove it.
mediumCut total transfer weight

3.8 MB total

Evidence3.8 MB transferred.
ImpactCheaper, faster fetch on slow links.
Effort1–3 h
FixEnable Brotli, serve WebP/AVIF images, defer non-critical resources.

Third-party impact

6 third-party requests · 254 KiB (6.6% of transfer) — code an agent must also fetch/run before your content settles. Fewer, lazier third-parties = faster, cheaper agent reads.

Third-party domainReqsTransferMain-thread
googletagmanager.com1170 KiB
jsdelivr.net171 KiB
cloudflareinsights.com210 KiB
plausible.io13 KiB
google-analytics.com10 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).

BundleTransferUnusedWasted
https://www.googletagmanager.com/gtag/js?id=G-4C48KGVJMD 3P170 KiB53%90 KiB
https://www.wto.org/library/memberscharts/Chart.js94 KiB90.5%85 KiB
https://cdn.jsdelivr.net/npm/chart.js 3P71 KiB89.4%63 KiB
https://www.wto.org/library/wtomenus/jquery.min.js30 KiB76.9%23 KiB
https://www.wto.org/library/events/moment.js33 KiB58.2%19 KiB
https://www.wto.org/library/authentication/jquery-1.11.2.min.js30 KiB61%18 KiB
https://www.wto.org/library/events/interactive_cal_code.js18 KiB92.5%17 KiB
https://www.wto.org/library/flashvideo/jwplayer.js17 KiB86.5%15 KiB
https://www.wto.org/library/flashvideo/flash_video_code.js12 KiB98.5%12 KiB
https://www.wto.org/library/photo_gallery/photo_gallery_code.js12 KiB92.6%11 KiB
https://www.wto.org/library/groupings/groupings_code.js11 KiB97.6%11 KiB
https://www.wto.org/library/events/responsive/lightbox/lightgallery.js9 KiB88%8 KiB
https://www.wto.org/library/wtomenus/loader_wide_2011.js14 KiB48.3%7 KiB
https://www.wto.org/library/authentication/json2.js6 KiB59.8%3 KiB
https://www.wto.org/library/wtomenus/common_logic_e.js4 KiB84.7%3 KiB

Network

98Requests
3856 KiBTransferred
54Scripts
6.6%3rd-party
4Long tasks
Image (14)
2064 KiB
Script (54)
1175 KiB
XHR (10)
390 KiB
Font (5)
114 KiB
Stylesheet (11)
100 KiB
Document (2)
11 KiB
Other (1)
1 KiB
Fetch (1)
0 KiB
Heaviest requests (30)
URLTypeStatusTransfer
https://www.wto.org/images/img_index/photos/container-ship-in-transit_lg.jpgImage200988 KiB
https://www.wto.org/images/img_index/photos/1200x675_e_20260428090936_lg.jpgImage200230 KiB
https://www.wto.org/images/img_index/photos/ar26_cover_new_20260909092458_lg.jpgImage200225 KiB
https://www.wto.org/images/img_index/photos/dgno_5mar21_md.jpgImage200224 KiB
https://www.wto.org/library/flashvideo/flash_video_e.jsScript200211 KiB
https://www.googletagmanager.com/gtag/js?id=G-4C48KGVJMDScript200170 KiB
https://www.wto.org/library/events/wto_events_data.jsonXHR200135 KiB
https://www.wto.org/library/events/wto_events_data.jsonXHR200134 KiB
https://www.wto.org/library/_op_scripts/plugins-min.js?_=1789987394050XHR200116 KiB
https://www.wto.org/library/photo_gallery/slideshow_data.jsScript200102 KiB
https://www.wto.org/library/photo_gallery/slideshow_data.jsScript200102 KiB
https://www.wto.org/library/memberscharts/Chart.jsScript20094 KiB
https://www.wto.org/images/img_index/photos/HNrFviMWYAAQSCo_20260803093831_lg.jpgImage20089 KiB
https://cdn.jsdelivr.net/npm/chart.jsScript20071 KiB
https://www.wto.org/images/img_index/photos/wtr2026_news_20260909100041_md.jpgImage20060 KiB
https://www.wto.org/images/img_index/photos/5G6A3324_20260918152125_md.jpgImage20057 KiB
https://www.wto.org/images/img_index/photos/_TC14309-Enhanced-NR_20260915165958_md.jpgImage20055 KiB
https://www.wto.org/images/img_index/photos/blog_data_e.jpgImage20044 KiB
https://www.wto.org/library/news/news_2026_e.jsScript20044 KiB
https://www.wto.org/images/img_index/photos/1Z6A1617_20260917144348_md.jpgImage20041 KiB
https://www.wto.org/images/img_index/photos/A4T_Website_banners_1200x675_E_20260622092122_lg.pngImage20041 KiB
https://www.wto.org/library/events/moment.jsScript20033 KiB
https://www.wto.org/library/authentication/jquery-1.11.2.min.jsScript20030 KiB
https://www.wto.org/library/wtomenus/jquery.min.jsScript20030 KiB
https://www.wto.org/library/authentication/jquery-1.11.2.min.jsScript20030 KiB
https://www.wto.org/library/styles/wto-blessed1.css?z=1547634103057Stylesheet20027 KiB
https://www.wto.org/library/styles/fonts/museo/3308EE_0_0.woff2Font20026 KiB
https://www.wto.org/library/styles/fonts/museo/3308EE_4_0.woff2Font20026 KiB
https://www.wto.org/library/styles/fonts/museo/3308EE_2_0.woff2Font20026 KiB
https://www.wto.org/library/news/news_vars_e.jsScript20025 KiB

Long tasks (>50 ms)

StartDuration
4506 ms2297 ms
1351 ms2277 ms
6969 ms505 ms
532 ms337 ms
Analyzing…
running mobile + desktop · ~30s