Performance
· 28 checks — Lighthouse + waterfall + sustainability rolled into one auditable list.Performance-focused optimization plan with CWV assessment, top offenders, and time estimates
First Contentful Paint First Contentful Paint — how long until the browser renders the first piece of content. Under 1.8s is good.
2.93 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
38.71 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
2.91 s
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.000
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
14.73 s
Time to Interactive Time to Interactive — how long until the page is fully interactive and responds to user input. Under 3.8s is good.
60.48 s
Page Load Progression
FPage Weight BudgetAction13.4 MB transferred, 716 requestsFIX
Convert images to WebP/AVIF and resize to display dimensions to reduce transfer size.
Image bandwidth is high — modern formats (WebP/AVIF) and resizing typically cut it 50%+.
Source: web.dev
Large JavaScript bundles delay interactivity. Split code by route or defer non-critical scripts.
JavaScript bundle is large — code-split routes and lazy-load off-screen components to defer.
Source: web.dev
Each request adds latency. Bundle small files, use sprites, or eliminate unnecessary requests.
High HTTP request count — bundling, sprite-ing, and HTTP/2 server push can reduce per-request overhead.
Source: web.dev
FJS Execution CostAction26939ms total JS executionFIX
Main Thread Breakdown
| Script | Total | Scripting | Parse/Compile | Party |
|---|---|---|---|---|
| https://www.sanctuaryclothing.com/cdn/shop/t/537/assets/animations.min.js?v=125778792411641688251713449467 | 5248ms | 1293ms | 19ms | 1st |
| Unattributable | 4246ms | 514ms | 0ms | 1st |
| https://www.sanctuaryclothing.com/ | 3721ms | 1866ms | 130ms | 1st |
| https://www.sanctuaryclothing.com/cdn/wpm/b264bf420w2e1681cap8d55857fm7d879f9cm.js | 2961ms | 2369ms | 31ms | 1st |
| https://www.sanctuaryclothing.com/cdn/shop/t/537/assets/vendor.min.js?v=24387807840910288901713449468 | 1906ms | 1547ms | 8ms | 1st |
| https://scripts.clarity.ms/0.8.72/clarity-extended.js | 1759ms | 1737ms | 6ms | 3rd |
| https://www.googletagmanager.com/gtag/js?id=AW-934151865 | 705ms | 531ms | 163ms | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-FP9G28NBSV | 473ms | 314ms | 157ms | 3rd |
| https://cdn.shopify.com/extensions/01a17a2a-02b5-7afd-92c2-f28fd888f2fd/upcart-2-448/assets/upcart-bundle.js | 413ms | 358ms | 44ms | 3rd |
| https://www.sanctuaryclothing.com/cdn/shop/t/537/assets/slideshow.js?v=3694593534833641341713449469 | 337ms | 268ms | 2ms | 1st |
Showing top 10 of 47 scripts
FJS BundlesAction291 scripts, 1.4 MB unusedFIX
Downloaded but never executed on this page.
| Script | Size | Unused | Minified | Party |
|---|---|---|---|---|
| https://www.googletagmanager.com/gtag/js?id=G-PSR9V02ZMD&cx=c>m=4e6ar0 | 184 KB | 127 KB (69%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-FP9G28NBSV&cx=c>m=4e6ar0 | 180 KB | 124 KB (69%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-435PBK67HX&cx=c>m=4e6ar0 | 160 KB | 118 KB (74%) | ✓ | 3rd |
| https://wd.sanctuaryclothing.com/assets/smart-tag/versioned/main-v2_6071736cbae0adc369e8a8094a8f33b6.js | 150 KB | 101 KB (68%) | ✓ | 3rd |
| https://cdn.shopify.com/extensions/01a17a2a-02b5-7afd-92c2-f28fd888f2fd/upcart-2-448/assets/upcart-bundle.js | 149 KB | 87 KB (59%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-PSR9V02ZMD | 185 KB | 75 KB (41%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-FP9G28NBSV | 180 KB | 73 KB (40%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-435PBK67HX | 160 KB | 69 KB (43%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtm.js?id=GTM-KQJX5DD | 142 KB | 66 KB (47%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtm.js?id=GTM-K3SLXZB | 133 KB | 66 KB (50%) | ✓ | 3rd |
Consider code splitting or tree shaking to reduce unused code.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
Consider code splitting or tree shaking to reduce unused code.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
Consider code splitting or tree shaking to reduce unused code.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
Consider code splitting or tree shaking to reduce unused code.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
Consider code splitting or tree shaking to reduce unused code.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
FPage Weight InventoryAction716 resources · 13.4 MB · 1.4 MB savings availableFIX
~1.4 MiB of savings available
| # | Resource | Type | Size | Cache | Unused | 3rd party | Issues |
|---|---|---|---|---|---|---|---|
| — | — | ||||||
| 716 resources | 13.4 MiB | ||||||
CImage OptimizationAction258 images, 0 KB saveableREVIEW
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
BResource Hints145 hints, 0 missing preconnectsREVIEW
Current Resource Hints
145 resource hints configured
Each preconnect eagerly opens a TCP+TLS connection. On slow networks or low-end devices, too many parallel connections cause head-of-line blocking and starve the connections that matter for LCP. Trim to the 4-6 highest-value origins (the ones serving render-blocking or LCP resources).
Informational: a labeled value pair from the audit.
preconnect already does the DNS lookup; adding dns-prefetch to the same origin is at best a no-op. Sample: https://live.visually-io.com. Remove the redundant dns-prefetch entries.
Performance issues directly impact user engagement and conversion rates.
The same href shouldn't appear in multiple hint rels -- one wins, the others are wasted markup and may confuse cache behavior. Sample: https://live.visually-io.com/ (preconnect+dns-prefetch), https://live.visually-io.com/cf/SANCTUARYCLOTHING.js?k=js.6627557427&e=2&s=SANCTUARYCLOTHING (preload+preload).
Performance issues directly impact user engagement and conversion rates.
BAsset Compression1 of 6 asset hosts serve text uncompressedREVIEW
BJavaScript Blocking2 JS blocking issue(s) detectedREVIEW
BHTTP Cachingprivate, max-age=0, must-revalidateREVIEW
private, max-age=0, must-revalidate
| Directive | Value | Meaning |
|---|---|---|
| private | — | Only browser cache, not CDN/proxy |
| max-age | 0 | Cache for 0 seconds |
| must-revalidate | — | Must recheck with server after expiry |
AThird-Party Impact28% third-party, 0 ms blockingPASS
A+Text CompressionAll text resources are compressedPASS
A+Font Loading2 fonts (81 KB)PASS
Web fonts
2
81 KB total
Render-blocking
0
of 2
Dominant font-display
swap
Most common across fonts
Font loading timeline
Optimization checklist
- Preload critical fonts (priority=high)
- Use woff2 format for all fonts
- Set font-display to swap, optional, or fallback
- Subset large fonts (≤100 KB each)
A+Resource CachingAll resources properly cachedPASS
A+Critical Rendering PathNo render-blocking resourcesPASS
A+HTTP/3 (QUIC)HTTP/3 advertised via Alt-SvcPASS
A+Document CompressionDocument response uses brotliPASS
A+LCP Image PreloadLCP preload audit not availablePASS
A+Main HTML Cache-ControlMain HTML max-age=0 (≤ 5min) is appropriatePASS
A+Server-Timing Observability18 Server-Timing entries advertisedPASS
A+Server Response Intelligence2 server-response signal(s) detectedPASS
A+Render-Blocking ResourcesNo render-blocking resources detectedPASS
A+Third-Party ResourcesNo third-party resources detectedPASS
ACSS Performance Depth1 CSS depth issue(s) detectedPASS
A+Green HostingWhether the site is served from green-energy infrastructurePASS
Green Hosting
This site is hosted on green energy infrastructure
Provider: Cloudflare
Network Waterfall716 requests over 11672msINFO
Third-Party Script CostPer-script blocking time, transfer cost, and cache headersINFO
| Script | Category | Execution | Transfer | Unused | Monthly Cost | Verdict |
|---|---|---|---|---|---|---|
Microsoft Clarity scripts.clarity.ms | Session Replay | 1759ms | 25 KB | — | €9/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 705ms | 0 KB | 32% | €4/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 473ms | 180 KB | 40% | €3/mo | Costly |
cdn.shopify.com cdn.shopify.com | Other | 413ms | 149 KB | 59% | €2/mo | Costly |
Facebook Pixel connect.facebook.net | Advertising | 334ms | 109 KB | 30% | €2/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 313ms | 160 KB | 43% | €2/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 305ms | 185 KB | 41% | €2/mo | Costly |
wd.sanctuaryclothing.com wd.sanctuaryclothing.com | Other | 292ms | 150 KB | 68% | €2/mo | Costly |
cdn.shopify.com cdn.shopify.com | Other | 287ms | 11 KB | — | €2/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 246ms | 142 KB | 47% | €1/mo | Costly |
cdn.shopify.com cdn.shopify.com | Other | 225ms | 30 KB | — | €1/mo | Costly |
Facebook Pixel connect.facebook.net | Advertising | 197ms | 112 KB | 33% | €1/mo | Optional |
cdn.shopify.com cdn.shopify.com | Other | 191ms | 7 KB | — | €1/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 178ms | 133 KB | 50% | €1/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 152ms | 121 KB | 54% | €1/mo | Optional |
Hotjar script.hotjar.com | Session Replay | 144ms | 57 KB | 67% | €1/mo | Optional |
cdn.attn.tv cdn.attn.tv | Other | 144ms | 51 KB | 60% | €1/mo | Optional |
d-code.liadm.com d-code.liadm.com | Other | 141ms | 55 KB | 39% | €1/mo | Optional |
static.klaviyo.com static.klaviyo.com | Other | 125ms | 15 KB | — | €1/mo | Optional |
wd.sanctuaryclothing.com wd.sanctuaryclothing.com | Other | 111ms | 16 KB | — | €1/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 102ms | 88 KB | 61% | €1/mo | Optional |
cdn.shopify.com cdn.shopify.com | Other | 93ms | 26 KB | — | €0/mo | Optional |
a.klaviyo.com a.klaviyo.com | Other | 85ms | 33 KB | 64% | €0/mo | Optional |
cdn.shopify.com cdn.shopify.com | Other | 83ms | 43 KB | 60% | €0/mo | Optional |
static.klaviyo.com static.klaviyo.com | Other | 76ms | 7 KB | — | €0/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 66ms | 184 KB | 69% | €0/mo | Optional |
cdn-static.okendo.io cdn-static.okendo.io | Other | 66ms | 1 KB | — | €0/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 63ms | 160 KB | 74% | €0/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 59ms | 180 KB | 69% | €0/mo | Optional |
cdn.shopify.com cdn.shopify.com | Other | 55ms | 15 KB | — | €0/mo | Optional |
cdn.shopify.com cdn.shopify.com | Other | 54ms | 4 KB | — | €0/mo | Optional |
Google Analytics www.google-analytics.com | Analytics | 53ms | 21 KB | — | €0/mo | Optional |
live.visually-io.com live.visually-io.com | Other | 53ms | 14 KB | — | €0/mo | Optional |
wd.sanctuaryclothing.com wd.sanctuaryclothing.com | Other | 53ms | 7 KB | — | €0/mo | Optional |
static.klaviyo.com static.klaviyo.com | Other | 51ms | 26 KB | — | €0/mo | Optional |
These scripts may cost more than they're worth
- Microsoft Clarity adds 1759ms and costs ~€9/month
- Google Tag Manager adds 705ms and costs ~€4/month
- Google Tag Manager adds 473ms and costs ~€3/month
- cdn.shopify.com adds 413ms and costs ~€2/month
- Facebook Pixel adds 334ms and costs ~€2/month
- Google Tag Manager adds 313ms and costs ~€2/month
- Google Tag Manager adds 305ms and costs ~€2/month
- wd.sanctuaryclothing.com adds 292ms and costs ~€2/month
- cdn.shopify.com adds 287ms and costs ~€2/month
- Google Tag Manager adds 246ms and costs ~€1/month
- cdn.shopify.com adds 225ms and costs ~€1/month
Microsoft Clarity takes 1759ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
Google Tag Manager takes 705ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
Google Tag Manager takes 473ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
cdn.shopify.com takes 413ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
59% of cdn.shopify.com's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
Facebook Pixel takes 334ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
Google Tag Manager takes 313ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
Google Tag Manager takes 305ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
wd.sanctuaryclothing.com takes 292ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
68% of wd.sanctuaryclothing.com's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
cdn.shopify.com takes 287ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
Google Tag Manager takes 246ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
cdn.shopify.com takes 225ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
54% of Google Tag Manager's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
67% of Hotjar's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
60% of cdn.attn.tv's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
61% of Google Tag Manager's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
64% of a.klaviyo.com's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
60% of cdn.shopify.com's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
69% of Google Tag Manager's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
74% of Google Tag Manager's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
69% of Google Tag Manager's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
Real-User Performance (CrUX)Field metrics from the Chrome User Experience ReportINFO
Chrome User Experience (CrUX)
Real-user metrics from the Chrome UX Report (2026-09-29 — 2026-10-26)
LCP (p75)
2949 ms
66% good
INP (p75)
128 ms
91% good
CLS (p75)
0.000
95% good
FCP (p75)
1429 ms
TTFB (p75)
580 ms
Image Optimization200 images, 6536 KB total, 125 KB wastedINFO
Image Optimization Audit
Total Images
200
Total Size
6536 KB
Oversized
1
Wasted
125 KB