Browsers will use heuristic caching, which can be unpredictable. Set explicit cache headers.
No Cache-Control header
Adding a Cache-Control header can significantly improve repeat-visit performance.
C
Page Weight Budget
Action
2.0 MB transferred, 102 requests
REVIEW
2.0 MB transferred, 102 requests
Info::
i
Page weighs 5.7 MB (2.0 MB transferred)
Warning::
!
JavaScript is 1.5 MB — consider code splitting or lazy loading
Large JavaScript bundles delay interactivity. Split code by route or defer non-critical scripts.
Got: 1.5 MB
Warning::
!
102 HTTP requests — consider bundling or reducing
Each request adds latency. Bundle small files, use sprites, or eliminate unnecessary requests.
Info::
i
Estimated 0.42 g CO2 per page load
2.0 MBtransferred
102 requests
0.42 g CO2 per page load
JavaScript1.5 MiB75%
Images213.4 KiB10%
Fonts161.8 KiB8%
HTML65.4 KiB3%
CSS56.5 KiB3%
Other11.8 KiB1%
Other2.8 KiB0%
Other2.5 KiB0%
Other864 B0%
Other565 B0%
Other0 B0%
02.4 MB4.9 MB
Approaching limit
Large JavaScript bundles delay interactivity. Split code by route or defer non-critical scripts.
Why this matters
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.
Why this matters
High HTTP request count — bundling, sprite-ing, and HTTP/2 server push can reduce per-request overhead.
Source: web.dev
C
Image Optimization
Action
37 images, 0 KB saveable
REVIEW
37 images, 0 KB saveable
Warning::
!
https://weezevent.com/wp-content/uploads/2024/03/2... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://weezevent.com/wp-content/uploads/2023/09/0... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://weezevent.com/wp-content/uploads/2023/09/0... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://weezevent.com/wp-content/uploads/2024/01/3... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://weezevent.com/wp-content/uploads/2026/03/2... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://weezevent.com/wp-content/uploads/2023/09/0... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://weezevent.com/wp-content/uploads/2024/03/2... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
37images213 KB
0oversized-0 KB
14legacy format
7missing dimensionsCLS risk
Set explicit width and height to prevent CLS.
Why this matters
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.
Why this matters
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.
Why this matters
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.
Why this matters
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.
Why this matters
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.
Why this matters
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.
Why this matters
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
C
Green Hosting
Action
Whether the site is served from green-energy infrastructure
REVIEW
Green Hosting
No green hosting detected
A+
Text Compression
All text resources are compressed
PASS
All text resources are compressed
Info::
✓
All text resources are compressed
All text resources are properly compressed.
A+
Font Loading
6 fonts (162 KB)
PASS
6 fonts (162 KB)
Info::
i
6 font(s) use font-display: swap (FOUT risk but functional)
Web fonts
6
162 KB total
Render-blocking
0
of 6
Dominant font-display
swap
Most common across fonts
Font loading timeline
TransferFOIT (block)FOUT (swap)
Graphik-Medium.woff2woff2swap
Size39 KB
Load time97 ms
Start154 ms
RiskFOUT — text flashes from fallback to web font
Cinderblock-75.woff2woff2swap
Size8 KB
Load time74 ms
Start154 ms
RiskFOUT — text flashes from fallback to web font
SpaceMono-Regular.woff2woff2swap
Size32 KB
Load time80 ms
Start155 ms
RiskFOUT — text flashes from fallback to web font
Graphik-Regular.woff2woff2swap
Size35 KB
Load time77 ms
Start357 ms
RiskFOUT — text flashes from fallback to web font
SpaceMono-Bold.woff2woff2swap
Size32 KB
Load time44 ms
Start357 ms
RiskFOUT — text flashes from fallback to web font
Thunder-BoldLC.woff2woff2swap
Size16 KB
Load time72 ms
Start358 ms
RiskFOUT — text flashes from fallback to web font
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 Caching
All resources properly cached
PASS
All resources properly cached
Info::
✓
No caching issues found
All static resources have appropriate caching headers.
A+
Critical Rendering Path
No render-blocking resources
PASS
No render-blocking resources
Info::
✓
No render-blocking resources detected
A+
Resource Hints
3 hints, 0 missing preconnects
PASS
3 hints, 0 missing preconnects
Info::
✓
Page uses 3 resource hint(s)
Current Resource Hints
preconnect—
preload
3
dns-prefetch—
prefetch—
3 resource hints configured
A+
Render-Blocking Resources
No render-blocking resources detected
PASS
No render-blocking resources detected
Info::
✓
No render-blocking resources detected in <head>
A+
Third-Party Resources
No third-party resources detected
PASS
No third-party resources detected
Network Waterfall
102 requests over 3523ms
INFO
HTML JavaScript CSS Images Fonts XHR/Fetch Other
Third-Party Script Cost
Per-script blocking time, transfer cost, and cache headers
INFO
49%of JavaScript execution is third-party
First-party Third-party2843ms · 1232KB · €35/mo
Script
Category
Execution
Transfer
Unused
Monthly Cost
Verdict
Unattributable
Unattributable
Other
825ms
0 KB
—
€10/mo
Costly
HubSpot Analytics
js.hs-analytics.net
Analytics
461ms
42 KB
—
€6/mo
Costly
Google Tag Manager
www.googletagmanager.com
Tag Manager
274ms
158 KB
46%
€3/mo
Costly
cdn.by.wonderpush.com
cdn.by.wonderpush.com
Other
253ms
93 KB
55%
€3/mo
Costly
Google Tag Manager
www.googletagmanager.com
Tag Manager
250ms
179 KB
47%
€3/mo
Costly
Google Tag Manager
www.googletagmanager.com
Tag Manager
144ms
145 KB
56%
€2/mo
Optional
Facebook Pixel
connect.facebook.net
Advertising
113ms
97 KB
35%
€1/mo
Optional
Facebook Pixel
connect.facebook.net
Advertising
109ms
45 KB
—
€1/mo
Optional
js.hsforms.net
js.hsforms.net
Other
109ms
194 KB
61%
€1/mo
Optional
widget.senja.io
widget.senja.io
Other
71ms
59 KB
60%
€1/mo
Optional
Google Tag Manager
www.googletagmanager.com
Tag Manager
69ms
145 KB
73%
€1/mo
Optional
js.usemessages.com
js.usemessages.com
Other
61ms
33 KB
—
€1/mo
Optional
js.hubspot.com
js.hubspot.com
Other
53ms
28 KB
—
€1/mo
Optional
consent.cookiefirst.com
consent.cookiefirst.com
Other
53ms
16 KB
—
€1/mo
Optional
Unattributable
Other
Costly
Execution825ms
Transfer0 KB
Monthly Cost€10/mo
HubSpot Analytics
Analytics
Costly
Execution461ms
Transfer42 KB
Monthly Cost€6/mo
Google Tag Manager
Tag Manager
Costly
Execution274ms
Transfer158 KB
Unused46%
Monthly Cost€3/mo
cdn.by.wonderpush.com
Other
Costly
Execution253ms
Transfer93 KB
Unused55%
Monthly Cost€3/mo
Google Tag Manager
Tag Manager
Costly
Execution250ms
Transfer179 KB
Unused47%
Monthly Cost€3/mo
Google Tag Manager
Tag Manager
Optional
Execution144ms
Transfer145 KB
Unused56%
Monthly Cost€2/mo
Facebook Pixel
Advertising
Optional
Execution113ms
Transfer97 KB
Unused35%
Monthly Cost€1/mo
Facebook Pixel
Advertising
Optional
Execution109ms
Transfer45 KB
Monthly Cost€1/mo
js.hsforms.net
Other
Optional
Execution109ms
Transfer194 KB
Unused61%
Monthly Cost€1/mo
widget.senja.io
Other
Optional
Execution71ms
Transfer59 KB
Unused60%
Monthly Cost€1/mo
Google Tag Manager
Tag Manager
Optional
Execution69ms
Transfer145 KB
Unused73%
Monthly Cost€1/mo
js.usemessages.com
Other
Optional
Execution61ms
Transfer33 KB
Monthly Cost€1/mo
js.hubspot.com
Other
Optional
Execution53ms
Transfer28 KB
Monthly Cost€1/mo
consent.cookiefirst.com
Other
Optional
Execution53ms
Transfer16 KB
Monthly Cost€1/mo
These scripts may cost more than they're worth
Unattributable adds 825ms and costs ~€10/month
HubSpot Analytics adds 461ms and costs ~€6/month
Google Tag Manager adds 274ms and costs ~€3/month
cdn.by.wonderpush.com adds 253ms and costs ~€3/month
Google Tag Manager adds 250ms and costs ~€3/month
49% of JavaScript execution time comes from third-party scripts.
Why this matters
Third-party scripts (analytics, ads, social, A/B testing) often dominate execution time — every one is a perf-and-privacy tax.
Learn more ▾▴
Each third-party script is a black box: you don't control when it loads, what it executes, or how much it grows. They often account for a major share of total blocking time on average sites (HTTP Archive's Web Almanac documents the trend). Audit which ones you actually need, defer the rest, and use facade patterns (lite-youtube, lite-vimeo) for embedded media.
Source: web.dev / HTTP Archive Web Almanac
Unattributable takes 825ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
Why this matters
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
HubSpot Analytics takes 461ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
Why this matters
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
Google Tag Manager takes 274ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
Why this matters
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
cdn.by.wonderpush.com takes 253ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
Why this matters
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
55% of cdn.by.wonderpush.com's code is unused. The script may be loading features you don't use.
Why this matters
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
Google Tag Manager takes 250ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
Why this matters
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
56% of Google Tag Manager's code is unused. The script may be loading features you don't use.
Why this matters
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
61% of js.hsforms.net's code is unused. The script may be loading features you don't use.
Why this matters
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
60% of widget.senja.io's code is unused. The script may be loading features you don't use.
Why this matters
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
73% of Google Tag Manager's code is unused. The script may be loading features you don't use.
Why this matters
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.