www.senate.gov
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.
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.
Metrics
Token Cost breakdown
Where the page's tokens go (≈16,906 across regions). 99% is non-content — chrome and boilerplate an agent pays for. Add landmark roles (main/nav/header/footer) so agents can skip it.
Final screenshot
Diagnostics
pre-JS raw HTML
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.
agent representation — token decomposition
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.
content vs chrome/boilerplate
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
Metrics
Token Cost breakdown
Where the page's tokens go (≈16,858 across regions). 99% is non-content — chrome and boilerplate an agent pays for. Add landmark roles (main/nav/header/footer) so agents can skip it.
Final screenshot
Diagnostics
pre-JS raw HTML
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.
agent representation — token decomposition
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.
content vs chrome/boilerplate
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 (3)
✗ llms.txt present high impact Absent at /llms.txt and /.well-known/llms.txt
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
✗ 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.
<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.
# robots.txt
Sitemap: https://example.com/sitemap.xml
Passed audits (8)
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.
Per-header findings (6)
| Header | Evidence |
|---|---|
| ✅ HTTPS | served over HTTPS |
| ✅ HSTS | max-age=31536000 |
| ❌ Content-Security-Policy | no content-security-policy header |
| ❌ X-Content-Type-Options | missing nosniff |
| ⚠️ Referrer-Policy | no referrer-policy header (browser default applies) |
| ➖ CORS exposure | no CORS headers on the document (normal for an HTML page) |
How to improve
across all scripts
6.0 MB total
Third-party impact
2 third-party requests · 77 KiB (1.2% of transfer) — 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 |
|---|---|---|---|
| congress.gov | 2 | 77 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://www.senate.gov/resources/scripts/jquery-1.11.3.min.js | 33 KiB | 71.1% | 23 KiB |
| https://www.senate.gov/resources/assets/js/uswds.min.js | 28 KiB | 65.7% | 18 KiB |
| https://www.senate.gov/nav/master_list.js | 2 KiB | 98% | 2 KiB |
| https://www.senate.gov/resources/assets/js/components/menu/primarymenu-component.js | 2 KiB | 82.1% | 2 KiB |
| https://www.senate.gov/resources/assets/js/components/global-mega-menu.js | 1 KiB | 72.8% | 1 KiB |
| https://www.senate.gov/resources/assets/js/components/mobile-menu/mobile-menu.js | 1 KiB | 55.8% | 1 KiB |
| https://www.senate.gov/resources/assets/js/components/mega-footer/mega-footer.js | 1 KiB | 51.6% | 1 KiB |
| https://www.senate.gov/resources/scripts/floor_status_new.js | 1 KiB | 30.6% | 0 KiB |
| https://www.senate.gov/resources/assets/js/components/breadcrumbs-footer.js | 1 KiB | 5.1% | 0 KiB |
| https://www.senate.gov/resources/assets/js/layout/app-main-menu/app-main-menu.js | 1 KiB | 1.5% | 0 KiB |
| https://www.senate.gov/resources/assets/js/components/breadcrumbs-header.js | 2 KiB | 0.1% | 0 KiB |
Network
Heaviest requests (30)
| URL | Type | Status | Transfer |
|---|---|---|---|
| https://www.senate.gov/about/resources/graphics/cropped/valeo-francis-r.jpg | Image | 200 | 1519 KiB |
| https://www.senate.gov/about/resources/graphics/cropped/warner-john.jpg | Image | 200 | 1288 KiB |
| https://www.senate.gov/resources/assets/20241125-mertz-043.JPG | Image | 200 | 273 KiB |
| https://www.senate.gov/resources/assets/card-featured.jpg | Image | 200 | 163 KiB |
| https://www.senate.gov/resources/assets/banner-bg.png | Image | 200 | 153 KiB |
| https://www.senate.gov/resources/assets/card-public-disclosure.jpg | Image | 200 | 149 KiB |
| https://www.senate.gov/art-artifacts/resources/graphics/xlarge/79_00006_001.jpg | Image | 200 | 103 KiB |
| https://www.senate.gov/senators/resources/graphic/mega-menu/Berryman_Cartoon.jpg | Image | 200 | 84 KiB |
| https://www.senate.gov/committees/resources/graphics/mega-menu/RobertsHearingCaucusRoom2005.jpg | Image | 200 | 80 KiB |
| https://www.senate.gov/resources/assets/css/styles.css | Stylesheet | 200 | 74 KiB |
| https://www.senate.gov/senators/resources/graphic/mega-menu/oathofoffice.jpg | Image | 200 | 70 KiB |
| https://www.senate.gov/senators/resources/graphic/mega-menu/Inouye-in-uniform.jpg | Image | 200 | 68 KiB |
| https://www.senate.gov/committees/resources/graphics/mega-menu/AppropriationsRoomSPS.jpg | Image | 200 | 63 KiB |
| https://www.senate.gov/senators/resources/graphic/mega-menu/ConstImage.jpg | Image | 200 | 63 KiB |
| https://www.senate.gov/senators/resources/graphic/mega-menu/goldengavel_xl.jpg | Image | 200 | 61 KiB |
| https://www.senate.gov/senators/resources/graphic/mega-menu/32_00039_000_a.jpg | Image | 200 | 59 KiB |
| https://www.senate.gov/about/resources/graphics/blog-cropped/dole-1986-cspan-video-frame.jpg | Image | 200 | 58 KiB |
| https://www.senate.gov/resources/assets/img/arts-art/top-menu/thematic-collections.png | Image | 200 | 57 KiB |
| https://www.senate.gov/senators/resources/graphic/mega-menu/BrookeMedal.jpg | Image | 200 | 51 KiB |
| https://www.senate.gov/senators/resources/graphic/mega-menu/archives.jpg | Image | 200 | 50 KiB |
| https://www.senate.gov/about/resources/graphics/blog-cropped/howard-john-eager-by-cw-peale-1782-nps.jpg | Image | 200 | 49 KiB |
| https://bioguide.congress.gov/photo/T000250.jpg | Image | 200 | 47 KiB |
| https://www.senate.gov/senators/resources/graphic/mega-menu/ct_1796_ellsworth.jpg | Image | 200 | 47 KiB |
| https://www.senate.gov/committees/resources/graphics/mega-menu/mi_1912_titanic.jpg | Image | 200 | 46 KiB |
| https://www.senate.gov/about/resources/graphics/blog-cropped/BorahGreenCorrespondence1914.jpg | Image | 200 | 45 KiB |
| https://www.senate.gov/resources/assets/img/about-the-senate/historic-buildings-and-spaces.jpg | Image | 200 | 43 KiB |
| https://www.senate.gov/committees/resources/graphics/mega-menu/ForeignRelationsCom1919.jpg | Image | 200 | 39 KiB |
| https://www.senate.gov/senators/resources/graphic/mega-menu/biographical-directory.jpg | Image | 200 | 39 KiB |
| https://www.senate.gov/senators/resources/graphic/mega-menu/photographers_watergate.jpg | Image | 200 | 38 KiB |
| https://www.senate.gov/resources/assets/img/about-the-senate/powers-and-procedures.jpg | Image | 200 | 38 KiB |