www.sephora.com
Metrics
Final screenshot
Diagnostics
90% of content requires JS
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.
signal 0.34 · website JSON-LD 1/2 · 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
Metrics
Final screenshot
Diagnostics
94% of content requires JS
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
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)
✗ 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.
✗ 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
~ agents.json discovery low impact Absent (emerging standard)
Business impact agents.json describes what your site can DO for agents (services, endpoints, capabilities) — an emerging discovery standard. Early adopters get native agent integration.
What we measured We check /agents.json and /.well-known/agents.json for a valid configuration.
How to fix Publish /agents.json describing your site's capabilities and actions.
Spec: https://agents-json.org
~ WebMCP endpoint low impact Absent (emerging standard)
Business impact WebMCP lets agents call actions on your site directly (book, buy, query) instead of scraping the DOM. Early adopters get native AI-agent interoperability.
What we measured We check /.well-known/webmcp and /webmcp.json for a valid actions array.
How to fix Add a WebMCP endpoint exposing your key actions to agents.
Spec: https://webmcp.org
~ API documentation low impact No OpenAPI/Swagger found
Business impact Programmatic agents prefer a typed API. An OpenAPI/Swagger spec lets them integrate without scraping.
What we measured We probe /openapi.json, /swagger.json, /api-docs and /.well-known/openapi.json.
How to fix Publish an OpenAPI spec at a well-known path.
Passed audits (7)
How to improve
11921 KiB (59%) of JS goes unused. Code-split, lazy-load below-the-fold scripts, and drop unused dependencies — less JS also lowers CAV Token Cost (TC) and speeds up agent parsing.
CLS is 0.26. Set explicit width/height on images and reserve space for late-loading content.
Longest task 423 ms (10 long tasks). Split heavy work, defer third-party scripts, and move compute off the main thread.
7.4 MB transferred. Enable Brotli, serve WebP/AVIF images, and defer non-critical resources.
JavaScript coverage
11921 KiB unused of 20371 KiB (59% unused JS) — unused JS inflates Token Cost (TC) and slows the agent's parse.
| Script | Size | Unused |
|---|---|---|
| https://www.sephora.com/js/ufe/isomorphic/main.bundle.B8CoriginmasterD20260624184849.js | 4034 KiB | 2624 KiB (65%) |
| https://www.sephora.com/js/ufe/isomorphic/commons.chunk.B8CoriginmasterD20260624184849.js | 1377 KiB | 1124 KiB (82%) |
| https://www.sephora.com/js/ufe/isomorphic/postload.chunk.B8CoriginmasterD20260624184849.js | 916 KiB | 868 KiB (95%) |
| https://www.sephora.com/js/ufe/isomorphic/priority.chunk.B8CoriginmasterD20260624184849.js | 860 KiB | 767 KiB (89%) |
| https://www.gstatic.com/recaptcha/releases/TnA7HacJFoBWt9hnlunBlYfK/recaptcha__en.js | 874 KiB | 533 KiB (61%) |
| https://www.sephora.com/metrics2/zlvx343U30sKl1cQf-yO6LugZq3KZV0MCvuhRyDuMi-_cwQZ | 601 KiB | 390 KiB (65%) |
| https://api.bluecore.com/triggermail.js/sephora.js | 426 KiB | 333 KiB (78%) |
| https://www.sephora.com/xMaj1Q0TWv-5dbGCmx4ESe4z/XYEmGpYDm9iOf47Vfu/QRIkbg/dmsbYiF/kI1UB | 536 KiB | 303 KiB (57%) |
| https://www.sephora.com/metrics1/gtag/js?id=G-HX1JZMWBCJ | 601 KiB | 282 KiB (47%) |
| https://analytics.tiktok.com/i18n/pixel/static/main.MTIwMGUyODI1MQ.js | 476 KiB | 273 KiB (57%) |
| https://www.sephora.com/metrics4/gtag/js?id=AW-1072439557 | 395 KiB | 232 KiB (59%) |
| https://www.sephora.com/metrics3/gtag/js?id=AW-857992431 | 425 KiB | 232 KiB (55%) |
Network
Heaviest requests
| URL | Type | Status | Transfer |
|---|---|---|---|
| https://www.sephora.com/js/ufe/isomorphic/main.bundle.B8CoriginmasterD20260624184849.js | Script | 200 | 1022 KiB |
| https://www.sephora.com/js/ufe/isomorphic/components.chunk.B8CoriginmasterD20260624184849.js | Script | 200 | 609 KiB |
| https://www.gstatic.com/recaptcha/releases/TnA7HacJFoBWt9hnlunBlYfK/recaptcha__en.js | Script | 200 | 376 KiB |
| https://www.sephora.com/js/ufe/isomorphic/commons.chunk.B8CoriginmasterD20260624184849.js | Script | 200 | 336 KiB |
| https://www.sephora.com/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/ips.js?ak_bmsc-kp=0FueUKrqx7WmUZnGVH2agMUXmkJrnrPJxS1ZlFYDc0tlCYbO4P9TE0RTmhQ0L5GHwA2z6qAwNlQgs6O4FXU6JMqLuEm3hUvDMu5Esc4OvNXAJTlgrfgJFwCWjogi8oRifXKRx7btQIgJeYte1E32pPx4xQgJkBW60BnVSsxzAxwu&x-kpsdk-v=j-1.2.522&x-kpsdk-im=AALsq3f5GKvBLeBvVDJsiST9XFrLCDdmzk2CcfYjZPL8wlltKTf0j9YmNRInDL1Uzy3E4Of30aWXPnaIdZSukYaXtDc | Script | 200 | 297 KiB |
| https://www.sephora.com/js/ufe/isomorphic/postload.chunk.B8CoriginmasterD20260624184849.js | Script | 200 | 219 KiB |
| https://e309da9b9aaf.cdn4.forter.com/sn/e309da9b9aaf/script.js | Script | 200 | 216 KiB |
| https://www.sephora.com/js/ufe/isomorphic/priority.chunk.B8CoriginmasterD20260624184849.js | Script | 200 | 198 KiB |
| https://www.sephora.com/metrics1/gtag/js?id=G-HX1JZMWBCJ | Script | 200 | 192 KiB |
| https://www.sephora.com/metrics2/zlvx343U30sKl1cQf-yO6LugZq3KZV0MCvuhRyDuMi-_cwQZ | Script | 200 | 192 KiB |
| https://www.sephora.com/xMaj1Q0TWv-5dbGCmx4ESe4z/XYEmGpYDm9iOf47Vfu/QRIkbg/dmsbYiF/kI1UB | Script | 200 | 177 KiB |
| https://www.sephora.com/xMaj1Q0TWv-5dbGCmx4ESe4z/XYEmGpYDm9iOf47Vfu/QRIkbg/dmsbYiF/kI1UB | Script | 200 | 177 KiB |
| https://cloud3.zineone.com/c3/api/v1/connect | XHR | 200 | 161 KiB |
| https://www.sephora.com/metrics5/gtag/js?id=AW-969432509 | Script | 200 | 157 KiB |
| https://www.sephora.com/ca/en/?country_switch=ca&lang=en | Document | 200 | 151 KiB |
| https://www.sephora.com/xMaj1Q0TWv-5dbGCmx4ESe4z/kpEmGpYDm9iO/bWUqbg/SFdEUwV/ULXRV?v=07f943b7-6330-af46-0b33-00c8001dcfc2 | Script | 200 | 151 KiB |
| https://connect.facebook.net/signals/config/354147298086799?v=2.9.349&r=stable&domain=www.sephora.com&hme=f29d86973612db0f0627890a64bdc8c47b471189050b33f2680b7d76997afc9a&ex_m=107%2C208%2C158%2C22%2C73%2C74%2C149%2C69%2C68%2C11%2C167%2C93%2C16%2C141%2C130%2C39%2C76%2C81%2C137%2C163%2C169%2C8%2C4%2C5%2C7%2C6%2C3%2C94%2C104%2C170%2C175%2C222%2C30%2C75%2C234%2C233%2C232%2C23%2C33%2C55%2C106%2C61%2C10%2C64%2C100%2C101%2C102%2C108%2C133%2C31%2C29%2C135%2C136%2C132%2C131%2C159%2C77%2C162%2C160%2C161%2C50%2C60%2C126%2C15%2C166%2C45%2C279%2C280%2C278%2C26%2C27%2C28%2C48%2C150%2C78%2C115%2C18%2C20%2C44%2C40%2C42%2C41%2C86%2C95%2C99%2C113%2C148%2C151%2C46%2C114%2C24%2C21%2C122%2C70%2C36%2C153%2C152%2C154%2C145%2C143%2C25%2C35%2C59%2C112%2C165%2C71%2C17%2C156%2C117%2C84%2C67%2C19%2C88%2C89%2C119%2C87%2C139%2C138%2C142%2C164%2C34%2C293%2C309%2C215%2C204%2C62%2C205%2C203%2C312%2C303%2C52%2C216%2C110%2C134%2C83%2C124%2C54%2C47%2C49%2C116%2C123%2C129%2C128%2C58%2C65%2C63%2C155%2C79%2C80%2C118%2C37%2C32%2C53%2C56%2C103%2C168%2C1%2C127%2C14%2C125%2C12%2C2%2C57%2C96%2C66%2C121%2C92%2C91%2C171%2C172%2C97%2C98%2C9%2C105%2C51%2C146%2C90%2C82%2C72%2C120%2C109%2C43%2C147%2C0%2C85%2C140%2C144%2C157%2C38%2C111%2C13%2C173 | Script | 200 | 148 KiB |
| https://www.sephora.com/metrics3/gtag/js?id=AW-857992431 | Script | 200 | 146 KiB |
| https://www.sephora.com/metrics2/gtag/js?id=AW-876588114 | Script | 200 | 146 KiB |
| https://www.sephora.com/metrics6/gtag/js?id=DC-5878462 | Script | 200 | 141 KiB |
| https://www.sephora.com/metrics4/gtag/js?id=AW-1072439557 | Script | 200 | 139 KiB |
| https://js-cdn.dynatrace.com/jstag/16362cc0dec/bf15698iev/10ad61344e68aed_complete.js | Script | 200 | 136 KiB |
| https://www.sephora.com/metrics2/zlvx343UzSdv_lBvHZXom8nebf-UO0YXDqmrDnm2MHz8dLuHBBk | Script | 200 | 124 KiB |
| https://analytics.tiktok.com/i18n/pixel/static/main.MTIwMGUyODI1MQ.js | Script | 200 | 113 KiB |
| https://assets.adobedtm.com/2f3ab3feab3d/ad943721620d/launch-1aafb95a572f.min.js | Script | 200 | 109 KiB |
| https://api.bluecore.com/triggermail.js/sephora.js | Script | 200 | 102 KiB |
| https://www.sephora.com/contentimages/2026-07-01_cs-bestsellers_site_hp_mktg-banner-v2_can_01.jpg?imwidth=340 | Image | 200 | 100 KiB |
| https://connect.facebook.net/en_US/fbevents.js | Script | 200 | 99 KiB |
| https://www.sephora.com/contentimages/2026-07-01_cs-bestsellers_site_hp_mktg-banner-v2_can_01.jpg?imwidth=545 | Image | 200 | 82 KiB |
| https://connect.facebook.net/en_US/bundle/sdk.js/ | Script | 200 | 79 KiB |
Long tasks (>50 ms)
| Start | Duration |
|---|---|
| 4554 ms | 423 ms |
| 2517 ms | 300 ms |
| 1126 ms | 205 ms |
| 738 ms | 119 ms |
| 1544 ms | 95 ms |
| 1350 ms | 88 ms |
| 2926 ms | 87 ms |
| 879 ms | 86 ms |
| 4178 ms | 77 ms |
| 7658 ms | 76 ms |