nus.edu.sg
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
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.
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.
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.
Rendered profile: headless
Metrics
Token Cost breakdown
Where the page's tokens go (≈6,118 across regions). Most tokens are real content — the agent isn't paying much for chrome.
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.
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 + 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.
# 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=63072000; includeSubDomains |
| ❌ 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
cumulative layout shift
js — 160 KiB transferred, 51.5% unused (third-party)
presspage.com — 4659 KiB, 4 requests
time to first byte
16.2 MB total
Third-party impact
17 third-party requests · 5037 KiB (30.3% of transfer) · 8 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 |
|---|---|---|---|
| presspage.com | 4 | 4659 KiB | — |
| googletagmanager.com | 2 | 278 KiB | 8 ms |
| gstatic.com | 2 | 88 KiB | — |
| jsdelivr.net | 2 | 8 KiB | — |
| googleapis.com | 2 | 3 KiB | — |
| doubleclick.net | 1 | 1 KiB | — |
| google.ca | 1 | 0 KiB | — |
| google.com | 2 | 0 KiB | — |
| instagram.com | 1 | 0 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.googletagmanager.com/gtag/js?id=G-2T8KTSDET6&cx=c>m=4e6852 3P | 160 KiB | 51.5% | 82 KiB |
| https://www.googletagmanager.com/gtm.js?id=GTM-KNWNZCM 3P | 118 KiB | 60.4% | 72 KiB |
| https://nus.edu.sg/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=scriptManager_TSM&compress=0&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen%3aa8328cc8-0a99-4e41-8fe3-b58afac64e45%3aea597d4b%3ab25378d2 | 34 KiB | 72.1% | 25 KiB |
| https://nus.edu.sg/_Incapsula_Resource?SWJIYLWA=5074a744e2e3d891814e9a2dace20bd4,719d34d31c8e3a6e6fffd425f7e032f3 | 25 KiB | 96.2% | 24 KiB |
| https://nus.edu.sg/Cwp/NUS/Html/base/js/jquery.min.js | 30 KiB | 50.4% | 15 KiB |
| https://nus.edu.sg/Cwp/NUS/Html/corporate/js/owl.carousel.js | 18 KiB | 37.9% | 7 KiB |
| https://nus.edu.sg/WebResource.axd?d=pynGkmcFUV13He1Qd6_TZMXTPJ3GOBJ1hpscyzG-tW7YF23Sh4JiNF5Zy3CSsU58-eK07C3OVhomZcotOfBypA2&t=638901824248157332 | 5 KiB | 97.9% | 5 KiB |
| https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js 3P | 7 KiB | 50.3% | 3 KiB |
| https://nus.edu.sg/Cwp/NUS/Html/corporate/js/jquery.waypoints.js | 4 KiB | 72.2% | 3 KiB |
| https://nus.edu.sg/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=3&cb=1572882826 | 20 KiB | 13.2% | 3 KiB |
| https://nus.edu.sg/Cwp/NUS/Html/corporate/js/countUp.js | 2 KiB | 91.5% | 2 KiB |
| https://nus.edu.sg/Cwp/NUS/Html/base/js/offcanvas.js | 2 KiB | 69% | 1 KiB |
| https://nus.edu.sg/Cwp/NUS/Html/corporate/js/custom.js | 2 KiB | 79.9% | 1 KiB |
| https://nus.edu.sg/WebResource.axd?d=NjxTqR2bqTw1rewxxlkHPlxH4ZaKtcr4AgxxOhcyRnZFDcFKyu7RlP6P0bNcCqvcUa7t3_kwdBVTusDGZFA52F10E72vx2Q8QTR9Km-hU4-TGFKeevNh2OthRKMIuZ9Ccl6i_ABd51OkVpzU0hvPgJqTC4cSoQvlgju3ZoBHhZEcuZjfku3tqqXUm2JfQvx9FdzEGnd5RYkdX3LC9N2TAohs2N-lBkt0uXowxi4HjBE1&t=639171403736096348 | 2 KiB | 69.8% | 1 KiB |
| https://nus.edu.sg/Cwp/NUS/Html/base/js/jquery.tap.min.js | 1 KiB | 74.5% | 1 KiB |
Network
Heaviest requests (30)
| URL | Type | Status | Transfer |
|---|---|---|---|
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/feature_banner.jpg?t=1786084364 | Image | 200 | 4803 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/feature_banner_mobile.jpg?t=1786084364 | Image | 200 | 3591 KiB |
| https://content.presspage.com/uploads/2580/921177a5-e09d-4af4-8b3d-042120e9f1ee/artboard1.png?10000 | Image | 200 | 1971 KiB |
| https://content.presspage.com/uploads/2580/821be938-ce01-4658-8811-5b3e0c75d928/llf2024-nn1.jpg?10000 | Image | 200 | 1217 KiB |
| https://content.presspage.com/uploads/2580/7d0a712e-4b00-4681-bcb2-205ab878025f/1-10.jpg?10000 | Image | 200 | 1072 KiB |
| https://content.presspage.com/uploads/2580/d0d09c96-afda-4232-b92c-682a6b798b43/charm3d-letters-v2.jpg?10000 | Image | 200 | 399 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/h1.jpg?t=1786084364 | Image | 200 | 336 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage/nus-president-2022.jpg | Image | 200 | 297 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/tl2.jpg?t=1786084364 | Image | 200 | 296 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/ig5.jpg?t=1786084364 | Image | 200 | 218 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/h3.jpg?t=1786084364 | Image | 200 | 201 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/h2.jpg?t=1786084364 | Image | 200 | 199 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage/nus-president-2022-small.jpg | Image | 200 | 179 KiB |
| https://news.nus.edu.sg/tagfeed/en-sg/tags/nushome?t=1786271205800 | XHR | 200 | 171 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/ig3.jpg?t=1786084364 | Image | 200 | 163 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/h4.jpg?t=1786084364 | Image | 200 | 160 KiB |
| https://www.googletagmanager.com/gtag/js?id=G-2T8KTSDET6&cx=c>m=4e6852 | Script | 200 | 160 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/ig4.jpg?t=1786084364 | Image | 200 | 155 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/ig2.jpg?t=1786084364 | Image | 200 | 154 KiB |
| https://www.googletagmanager.com/gtm.js?id=GTM-KNWNZCM | Script | 200 | 118 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/ig1.jpg?t=1786084364 | Image | 200 | 112 KiB |
| https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/tl1.jpg?t=1786084364 | Image | 200 | 98 KiB |
| https://nus.edu.sg/Cwp/NUS/Html/base/fonts/fontawesome-webfont.woff2?v=4.7.0 | Font | 200 | 76 KiB |
| https://nus.edu.sg/ | Document | 200 | 69 KiB |
| https://fonts.gstatic.com/s/roboto/v51/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2 | Font | 200 | 46 KiB |
| https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 | Font | 200 | 42 KiB |
| https://nus.edu.sg/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=scriptManager_TSM&compress=0&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen%3aa8328cc8-0a99-4e41-8fe3-b58afac64e45%3aea597d4b%3ab25378d2 | Script | 200 | 34 KiB |
| https://nus.edu.sg/Cwp/NUS/Html/base/global/bootstrap.min.css?v=638919170775860580 | Stylesheet | 200 | 31 KiB |
| https://nus.edu.sg/Cwp/NUS/Html/base/js/jquery.min.js | Script | 200 | 30 KiB |
| https://nus.edu.sg/images/default-source/base/logo.png | Image | 200 | 26 KiB |