nus.edu.sg

Report from 8/10/2026, 10:30:18 AM https://nus.edu.sg
Latest run · lab, cold cache
0
8/10/2026
28-day score · p75 · the standard
0
25 runs
CRR0%latest
SSD0%latest
TC0 toklatest
TTFUT509 ms28-day p75

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/nus.edu.sg.svg)](https://agentvitals.dev/results?url=https%3A%2F%2Fnus.edu.sg)
<a href="https://agentvitals.dev/results?url=https%3A%2F%2Fnus.edu.sg"><img src="https://agentvitals.dev/badge/nus.edu.sg.svg" alt="Core Agent Vitals" height="20"></a>
What AI tells your customers about youAgent confidence: LOW
Business namenot found
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
Descriptionnot found

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.

An agent recovered no usable content from this page without executing JavaScript.
0
Overall score
weighted CAV (0–100)
FAIL
0–4950–8990–100

Metrics

0%
CRR Content Recovery Poor
0.00
SSD Semantic Signal Density Poor
0 tok
TC Token Cost Good
122 ms
TTFUT Time to First Useful Token N/A

Final screenshot

Final screenshot of https://nus.edu.sg

Diagnostics

high CRR Content is hidden behind JavaScript

pre-JS raw HTML

Evidencerendered page extracted no content (error state)
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.00 · 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 100% of tokens are non-content (boilerplate/chrome)

agent representation — token decomposition

EvidenceToken decomposition: content 0%, chrome 0%, boilerplate 0%, other 0%. Only 0% 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.

59Transport posture (0–100, unscored)
2pass
1warn
2fail
Per-header findings (6)
HeaderEvidence
✅ HTTPSserved over HTTPS
✅ HSTSmax-age=63072000; includeSubDomains
❌ Content-Security-Policyno content-security-policy header
❌ X-Content-Type-Optionsmissing nosniff
⚠️ Referrer-Policyno referrer-policy header (browser default applies)
➖ CORS exposureno CORS headers on the document (normal for an HTML page)
Full profile — how to improve · unused JS · network · timing

How to improve

highReduce layout shifthighest leverage

cumulative layout shift

EvidenceCLS is 0.938.
ImpactStable layout for render + screenshot.
Effort30–60 min
FixSet explicit width/height on images; reserve space for late-loading content.
mediumSplit the heaviest unused bundle

js — 160 KiB transferred, 51.5% unused (third-party)

EvidenceCDP JS coverage: 82 KiB of this bundle is never executed on load.
Impact~-82 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 third-party weight

presspage.com — 4659 KiB, 4 requests

EvidenceThird-party is 30.3% of total transfer (17 requests); presspage.com is the largest.
ImpactFewer bytes + main-thread stalls before your content settles for an agent.
Effort1–3 h
FixLazy-load, self-host, or remove presspage.com; defer non-critical third-party scripts.
mediumLower server response time

time to first byte

EvidenceTTFB is 939 ms.
ImpactEarlier first useful token (TTFUT).
Effort1–3 h
FixCache at the edge (CDN), reduce server work, avoid redirect chains.
mediumCut total transfer weight

16.2 MB total

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

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 domainReqsTransferMain-thread
presspage.com44659 KiB
googletagmanager.com2278 KiB8 ms
gstatic.com288 KiB
jsdelivr.net28 KiB
googleapis.com23 KiB
doubleclick.net11 KiB
google.ca10 KiB
google.com20 KiB
instagram.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-2T8KTSDET6&cx=c&gtm=4e6852 3P160 KiB51.5%82 KiB
https://www.googletagmanager.com/gtm.js?id=GTM-KNWNZCM 3P118 KiB60.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%3ab25378d234 KiB72.1%25 KiB
https://nus.edu.sg/_Incapsula_Resource?SWJIYLWA=5074a744e2e3d891814e9a2dace20bd4,719d34d31c8e3a6e6fffd425f7e032f325 KiB96.2%24 KiB
https://nus.edu.sg/Cwp/NUS/Html/base/js/jquery.min.js30 KiB50.4%15 KiB
https://nus.edu.sg/Cwp/NUS/Html/corporate/js/owl.carousel.js18 KiB37.9%7 KiB
https://nus.edu.sg/WebResource.axd?d=pynGkmcFUV13He1Qd6_TZMXTPJ3GOBJ1hpscyzG-tW7YF23Sh4JiNF5Zy3CSsU58-eK07C3OVhomZcotOfBypA2&t=6389018242481573325 KiB97.9%5 KiB
https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js 3P7 KiB50.3%3 KiB
https://nus.edu.sg/Cwp/NUS/Html/corporate/js/jquery.waypoints.js4 KiB72.2%3 KiB
https://nus.edu.sg/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=3&cb=157288282620 KiB13.2%3 KiB
https://nus.edu.sg/Cwp/NUS/Html/corporate/js/countUp.js2 KiB91.5%2 KiB
https://nus.edu.sg/Cwp/NUS/Html/base/js/offcanvas.js2 KiB69%1 KiB
https://nus.edu.sg/Cwp/NUS/Html/corporate/js/custom.js2 KiB79.9%1 KiB
https://nus.edu.sg/WebResource.axd?d=NjxTqR2bqTw1rewxxlkHPlxH4ZaKtcr4AgxxOhcyRnZFDcFKyu7RlP6P0bNcCqvcUa7t3_kwdBVTusDGZFA52F10E72vx2Q8QTR9Km-hU4-TGFKeevNh2OthRKMIuZ9Ccl6i_ABd51OkVpzU0hvPgJqTC4cSoQvlgju3ZoBHhZEcuZjfku3tqqXUm2JfQvx9FdzEGnd5RYkdX3LC9N2TAohs2N-lBkt0uXowxi4HjBE1&t=6391714037360963482 KiB69.8%1 KiB
https://nus.edu.sg/Cwp/NUS/Html/base/js/jquery.tap.min.js1 KiB74.5%1 KiB

Network

83Requests
16619 KiBTransferred
21Scripts
30.3%3rd-party
0Long tasks
Image (38)
15715 KiB
Script (21)
435 KiB
XHR (2)
171 KiB
Font (3)
164 KiB
Document (2)
70 KiB
Stylesheet (13)
62 KiB
Other (1)
1 KiB
Ping (1)
1 KiB
Fetch (2)
0 KiB
Heaviest requests (30)
URLTypeStatusTransfer
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/feature_banner.jpg?t=1786084364Image2004803 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/feature_banner_mobile.jpg?t=1786084364Image2003591 KiB
https://content.presspage.com/uploads/2580/921177a5-e09d-4af4-8b3d-042120e9f1ee/artboard1.png?10000Image2001971 KiB
https://content.presspage.com/uploads/2580/821be938-ce01-4658-8811-5b3e0c75d928/llf2024-nn1.jpg?10000Image2001217 KiB
https://content.presspage.com/uploads/2580/7d0a712e-4b00-4681-bcb2-205ab878025f/1-10.jpg?10000Image2001072 KiB
https://content.presspage.com/uploads/2580/d0d09c96-afda-4232-b92c-682a6b798b43/charm3d-letters-v2.jpg?10000Image200399 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/h1.jpg?t=1786084364Image200336 KiB
https://nus.edu.sg/images/default-source/corporate/homepage/nus-president-2022.jpgImage200297 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/tl2.jpg?t=1786084364Image200296 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/ig5.jpg?t=1786084364Image200218 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/h3.jpg?t=1786084364Image200201 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/h2.jpg?t=1786084364Image200199 KiB
https://nus.edu.sg/images/default-source/corporate/homepage/nus-president-2022-small.jpgImage200179 KiB
https://news.nus.edu.sg/tagfeed/en-sg/tags/nushome?t=1786271205800XHR200171 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/ig3.jpg?t=1786084364Image200163 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/h4.jpg?t=1786084364Image200160 KiB
https://www.googletagmanager.com/gtag/js?id=G-2T8KTSDET6&cx=c&gtm=4e6852Script200160 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/ig4.jpg?t=1786084364Image200155 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/ig2.jpg?t=1786084364Image200154 KiB
https://www.googletagmanager.com/gtm.js?id=GTM-KNWNZCMScript200118 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/ig1.jpg?t=1786084364Image200112 KiB
https://nus.edu.sg/images/default-source/corporate/homepage-refresh/20260807/tl1.jpg?t=1786084364Image20098 KiB
https://nus.edu.sg/Cwp/NUS/Html/base/fonts/fontawesome-webfont.woff2?v=4.7.0Font20076 KiB
https://nus.edu.sg/Document20069 KiB
https://fonts.gstatic.com/s/roboto/v51/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2Font20046 KiB
https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2Font20042 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%3ab25378d2Script20034 KiB
https://nus.edu.sg/Cwp/NUS/Html/base/global/bootstrap.min.css?v=638919170775860580Stylesheet20031 KiB
https://nus.edu.sg/Cwp/NUS/Html/base/js/jquery.min.jsScript20030 KiB
https://nus.edu.sg/images/default-source/base/logo.pngImage20026 KiB
Analyzing…
running mobile + desktop · ~30s