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.74 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
18.53 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
8.20 s
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.217
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
12.71 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.
39.96 s
Page Load Progression
FPage Weight BudgetAction7.4 MB transferred, 665 requestsFIX
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
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
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 CostAction87405ms total JS executionFIX
Main Thread Breakdown
| Script | Total | Scripting | Parse/Compile | Party |
|---|---|---|---|---|
| https://raptonline.co.nz/ | 50370ms | 413ms | 191ms | 1st |
| https://raptonline.co.nz/cdn/shop/t/76/assets/vendor-scripts-v11.js | 18307ms | 550ms | 17ms | 1st |
| Unattributable | 4173ms | 428ms | 0ms | 1st |
| https://raptonline.co.nz/cdn/wpm/b9f5e2762wb720532ap19708c42m93b2bec3m.js | 1638ms | 1168ms | 49ms | 1st |
| https://raptonline.co.nz/cdn/shop/t/76/assets/theme.js?v=77938879748590531391792278183 | 1500ms | 664ms | 19ms | 1st |
| https://static.klaviyo.com/onsite/js/renderReviewsWidgets.6cce48713d09c.js?cb=2 | 1185ms | 496ms | 17ms | 3rd |
| https://connect.facebook.net/en_US/fbevents.js | 968ms | 819ms | 55ms | 3rd |
| https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/chunk.register_cLcgCW8c.esm.js | 606ms | 379ms | 0ms | 3rd |
| https://www.googletagmanager.com/gtag/js?id=AW-625726905 | 559ms | 489ms | 67ms | 3rd |
| https://cdn.nfcube.com/instafeed-f4ec5b1739c8485954465a35cc5f14bb.js | 547ms | 201ms | 13ms | 3rd |
Showing top 10 of 44 scripts
FJS BundlesAction378 scripts, 1.3 MB unusedFIX
Downloaded but never executed on this page.
| Script | Size | Unused | Minified | Party |
|---|---|---|---|---|
| https://cdn.shopify.com/extensions/01a141bc-137c-7362-80ba-be5e4e091660/forms-2625/assets/index.js | 261 KB | 244 KB (94%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-WHJL4SF41B&cx=c>m=4e6ae1 | 178 KB | 121 KB (68%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=AW-625726905&cx=c>m=4e6ae1 | 164 KB | 116 KB (70%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=GT-T56JHRN&cx=c>m=4e6ae1 | 153 KB | 116 KB (76%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-WHJL4SF41B | 177 KB | 74 KB (41%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-WHJL4SF41B | 178 KB | 74 KB (41%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-0B23Z5E4ER | 193 KB | 72 KB (37%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=GT-T56JHRN | 154 KB | 70 KB (45%) | ✓ | 3rd |
| https://static.joy.so/avada-joy-main-vendor.mui.5582fb08c02f0b34.bundle.js | 73 KB | 64 KB (89%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=AW-625726905 | 164 KB | 54 KB (33%) | ✓ | 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 InventoryAction665 resources · 7.4 MB · 1.3 MB savings availableFIX
~1.3 MiB of savings available
| # | Resource | Type | Size | Cache | Unused | 3rd party | Issues |
|---|---|---|---|---|---|---|---|
| — | — | ||||||
| 665 resources | 7.4 MiB | ||||||
FHTTP CachingActionNo cache headersFIX
No Cache-Control header
Adding a Cache-Control header can significantly improve repeat-visit performance.
BThird-Party Impact46% third-party, 0 ms blockingREVIEW
BImage Optimization69 images, 0 KB saveableREVIEW
BAsset Compression2 of 7 asset hosts still on gzipREVIEW
BMain HTML Cache-ControlNo Cache-Control header on main HTML responseREVIEW
CGreen HostingActionWhether the site is served from green-energy infrastructureREVIEW
Green Hosting
No green hosting detected
A+Text CompressionAll text resources are compressedPASS
A+Font Loading7 fonts (130 KB)PASS
Web fonts
7
130 KB total
Render-blocking
0
of 7
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+Resource Hints169 hints, 0 missing preconnectsPASS
Current Resource Hints
169 resource hints configured
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+Server-Timing Observability1 Server-Timing entries advertisedPASS
AServer Response Intelligence2 server-response signal(s) detectedPASS
A+Render-Blocking ResourcesNo render-blocking resources detectedPASS
A+Third-Party ResourcesNo third-party resources detectedPASS
AJavaScript Blocking1 JS blocking issue(s) detectedPASS
ACSS Performance Depth1 CSS depth issue(s) detectedPASS
Network Waterfall665 requests over 38483msINFO
Third-Party Script CostPer-script blocking time, transfer cost, and cache headersINFO
| Script | Category | Execution | Transfer | Unused | Monthly Cost | Verdict |
|---|---|---|---|---|---|---|
static.klaviyo.com static.klaviyo.com | Other | 1185ms | 28 KB | 76% | NZ$11/mo | Costly |
Facebook Pixel connect.facebook.net | Advertising | 968ms | 111 KB | 32% | NZ$9/mo | Costly |
cdn.shopify.com cdn.shopify.com | Other | 606ms | 14 KB | — | NZ$6/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 559ms | 164 KB | 33% | NZ$5/mo | Costly |
cdn.nfcube.com cdn.nfcube.com | Other | 547ms | 30 KB | — | NZ$5/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 545ms | 193 KB | 37% | NZ$5/mo | Costly |
Facebook Pixel connect.facebook.net | Advertising | 489ms | 104 KB | 33% | NZ$5/mo | Costly |
cdn.shopify.com cdn.shopify.com | Other | 450ms | 10 KB | — | NZ$4/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 436ms | 178 KB | 41% | NZ$4/mo | Costly |
cdn.shopify.com cdn.shopify.com | Other | 401ms | 22 KB | — | NZ$4/mo | Costly |
cdn.shopify.com cdn.shopify.com | Other | 390ms | 26 KB | — | NZ$4/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 372ms | 154 KB | 45% | NZ$4/mo | Costly |
static.klaviyo.com static.klaviyo.com | Other | 276ms | 8 KB | — | NZ$3/mo | Costly |
static.joy.so static.joy.so | Other | 252ms | 71 KB | 46% | NZ$2/mo | Costly |
static.joy.so static.joy.so | Other | 246ms | 11 KB | — | NZ$2/mo | Costly |
static.joy.so static.joy.so | Other | 225ms | 73 KB | 89% | NZ$2/mo | Costly |
Facebook Pixel connect.facebook.net | Advertising | 223ms | 23 KB | — | NZ$2/mo | Costly |
cdn.shopify.com cdn.shopify.com | Other | 222ms | 42 KB | 49% | NZ$2/mo | Costly |
cdn.shopify.com cdn.shopify.com | Other | 192ms | 0 KB | — | NZ$2/mo | Optional |
cdn.shopify.com cdn.shopify.com | Other | 176ms | 22 KB | — | NZ$2/mo | Optional |
static.klaviyo.com static.klaviyo.com | Other | 150ms | 21 KB | — | NZ$1/mo | Optional |
static-wishlist.joy.so static-wishlist.joy.so | Other | 144ms | 92 KB | 55% | NZ$1/mo | Optional |
cdn.shopify.com cdn.shopify.com | Other | 136ms | 1 KB | — | NZ$1/mo | Optional |
static.klaviyo.com static.klaviyo.com | Other | 125ms | 10 KB | — | NZ$1/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 116ms | 178 KB | 68% | NZ$1/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 115ms | 164 KB | 70% | NZ$1/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 94ms | 153 KB | 76% | NZ$1/mo | Optional |
cdn.shopify.com cdn.shopify.com | Other | 91ms | 23 KB | — | NZ$1/mo | Optional |
static.joy.so static.joy.so | Other | 70ms | 5 KB | — | NZ$1/mo | Optional |
cdn.shopify.com cdn.shopify.com | Other | 65ms | 0 KB | — | NZ$1/mo | Optional |
static.klaviyo.com static.klaviyo.com | Other | 58ms | 8 KB | — | NZ$1/mo | Optional |
static.joy.so static.joy.so | Other | 55ms | 42 KB | 71% | NZ$1/mo | Optional |
cdn.shopify.com cdn.shopify.com | Other | 53ms | 11 KB | — | NZ$1/mo | Optional |
These scripts may cost more than they're worth
- static.klaviyo.com adds 1185ms and costs ~NZ$11/month
- Facebook Pixel adds 968ms and costs ~NZ$9/month
- cdn.shopify.com adds 606ms and costs ~NZ$6/month
- Google Tag Manager adds 559ms and costs ~NZ$5/month
- cdn.nfcube.com adds 547ms and costs ~NZ$5/month
- Google Tag Manager adds 545ms and costs ~NZ$5/month
- Facebook Pixel adds 489ms and costs ~NZ$5/month
- cdn.shopify.com adds 450ms and costs ~NZ$4/month
- Google Tag Manager adds 436ms and costs ~NZ$4/month
- cdn.shopify.com adds 401ms and costs ~NZ$4/month
- cdn.shopify.com adds 390ms and costs ~NZ$4/month
- Google Tag Manager adds 372ms and costs ~NZ$4/month
- static.klaviyo.com adds 276ms and costs ~NZ$3/month
- static.joy.so adds 252ms and costs ~NZ$2/month
- static.joy.so adds 246ms and costs ~NZ$2/month
- static.joy.so adds 225ms and costs ~NZ$2/month
- Facebook Pixel adds 223ms and costs ~NZ$2/month
- cdn.shopify.com adds 222ms and costs ~NZ$2/month
static.klaviyo.com takes 1185ms 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
76% of static.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
Facebook Pixel takes 968ms 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 606ms 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 559ms 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.nfcube.com takes 547ms 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 545ms 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
Facebook Pixel takes 489ms 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 450ms 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 436ms 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 401ms 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 390ms 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 372ms 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
static.klaviyo.com takes 276ms 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
static.joy.so takes 252ms 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
static.joy.so 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
static.joy.so 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
89% of static.joy.so'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 223ms 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 222ms 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
55% of static-wishlist.joy.so'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
68% 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
70% 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
76% 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
71% of static.joy.so'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-19 — 2026-10-16)
LCP (p75)
2568 ms
73% good
INP (p75)
129 ms
87% good
CLS (p75)
0.020
94% good
FCP (p75)
1528 ms
TTFB (p75)
740 ms
Image Optimization189 images, 1015 KB total, 238 KB wastedINFO
Image Optimization Audit
Total Images
189
Total Size
1015 KB
Oversized
8
Wasted
238 KB