Consider code splitting or tree shaking to reduce unused code.
Why this matters
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.
Why this matters
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.
Why this matters
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.
Why this matters
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
C
Compression Algorithm
Action
Main response served uncompressed
REVIEW
Main response served uncompressed
Info::
i
Main HTML response has no Content-Encoding (uncompressed)
The main HTML document is served without compression. The Text Compression section above lists the broader picture; for the main response specifically, even gzip would shave ~70-80% off most text payloads.
C
Green Hosting
Action
Whether the site is served from green-energy infrastructure
2 font(s) use font-display: swap (FOUT risk but functional)
Web fonts
2
172 KB total
Render-blocking
0
of 2
Dominant font-display
swap
Most common across fonts
Font loading timeline
TransferFOIT (block)FOUT (swap)
JEdA86oNqHX1i1CLD92Q7jT...woff2swap
Size141 KB
Load time65 ms
Start173 ms
RiskFOUT — text flashes from fallback to web font
Subset this font — over 100 KB suggests Latin Extended or full glyph coverage that most pages don't need
or3nQ6H-1_WfwkMZI_qYFrc...woff2swap
Size31 KB
Load time64 ms
Start174 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)
Fixing the unchecked items could save ~70 KB and ~140 ms
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
2 hints, 0 missing preconnects
PASS
2 hints, 0 missing preconnects
Info::
✓
Page uses 2 resource hint(s)
Current Resource Hints
preconnect
1
preload
1
dns-prefetch—
prefetch—
2 resource hints configured
A+
HTTP/3 (QUIC)
HTTP/3 advertised via Alt-Svc
PASS
HTTP/3 advertised via Alt-Svc
Info::
✓
HTTP/3 (QUIC) is supported
First-load mobile users on cellular networks see meaningful latency improvements with HTTP/3. The QUIC transport collapses TLS + TCP handshakes into one and recovers faster from packet loss.
A+
LCP Image Preload
LCP preload audit not available
PASS
LCP preload audit not available
Info::
✓
LCP image preload audit not available for this scan
A+
Main HTML Cache-Control
Main HTML max-age=0 (≤ 5min) is appropriate
PASS
Main HTML max-age=0 (≤ 5min) is appropriate
Info::
✓
Main HTML max-age=0 (≤ 5min) is appropriate
Got: public, max-age=0, must-revalidate
A+
Server-Timing Observability
5 Server-Timing entries advertised
PASS
5 Server-Timing entries advertised
Info::
✓
Server-Timing header advertises 5 timing entries
A+
Server Response Intelligence
2 server-response signal(s) detected
PASS
2 server-response signal(s) detected
Info::
✓
`Vary` header declared: Accept-Encoding, Accept
The page declares a `Vary` header, telling downstream caches which request headers the response varies on. Critical for content-negotiated responses (compression, language, cookies, device class).
Info::
✓
Both `ETag` and `Last-Modified` present -- efficient revalidation supported
The page returns both `ETag` (content hash) and `Last-Modified` (timestamp) headers. Browsers can issue conditional GETs with `If-None-Match` or `If-Modified-Since`; the server returns 304 Not Modified for unchanged content, saving bandwidth. ETag is the more reliable of the two (timestamps fail in DST transitions and clock skew).
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
A
JavaScript Blocking
1 JS blocking issue(s) detected
PASS
1 JS blocking issue(s) detected
Warning::
!
Total JS execution time is 25.2 s -- over the 3.5s budget
Total JavaScript execution (parse + compile + run) across all scripts exceeds 3.5 seconds. On low-end devices that becomes 7-15+ seconds and shows up directly in TBT and INP. Reduce by: tree-shaking unused dependencies, code-splitting (dynamic `import()`), removing or deferring third-party tracking, and replacing heavy frameworks where they're not needed.
A
CSS Performance Depth
1 CSS depth issue(s) detected
PASS
1 CSS depth issue(s) detected
Warning::
!
10 `@font-face` rule(s) without `font-display` -- causes FOIT
An `@font-face` rule without `font-display` causes Flash of Invisible Text (FOIT): the browser hides the styled text for up to 3 seconds while the custom font downloads, then either swaps to fallback (Chrome / Firefox) or stays invisible (older Safari). Add `font-display: swap` (shows fallback immediately, swaps in the custom font when ready) or `font-display: optional` (uses fallback if the font isn't ready in 100ms; never causes visible swap). Either eliminates FOIT outright.
Network Waterfall
86 requests over 5450ms
INFO
HTML JavaScript CSS Images Fonts XHR/Fetch Other
Third-Party Script Cost
Per-script blocking time, transfer cost, and cache headers
INFO
95%of JavaScript execution is third-party
First-party Third-party23807ms · 543KB · €258/mo
Script
Category
Execution
Transfer
Unused
Monthly Cost
Verdict
framerusercontent.com
framerusercontent.com
Other
12769ms
44 KB
—
€139/mo
Costly
framerusercontent.com
framerusercontent.com
Other
7605ms
11 KB
—
€83/mo
Costly
framerusercontent.com
framerusercontent.com
Other
818ms
49 KB
57%
€9/mo
Costly
Unattributable
Unattributable
Other
669ms
0 KB
—
€7/mo
Costly
t.contentsquare.net
t.contentsquare.net
Other
623ms
128 KB
55%
€7/mo
Costly
framerusercontent.com
framerusercontent.com
Other
553ms
24 KB
—
€6/mo
Costly
framerusercontent.com
framerusercontent.com
Other
375ms
3 KB
—
€4/mo
Costly
Google Tag Manager
www.googletagmanager.com
Tag Manager
302ms
157 KB
42%
€3/mo
Costly
framerusercontent.com
framerusercontent.com
Other
93ms
127 KB
51%
€1/mo
Optional
framerusercontent.com
Other
Costly
Execution12769ms
Transfer44 KB
Monthly Cost€139/mo
framerusercontent.com
Other
Costly
Execution7605ms
Transfer11 KB
Monthly Cost€83/mo
framerusercontent.com
Other
Costly
Execution818ms
Transfer49 KB
Unused57%
Monthly Cost€9/mo
Unattributable
Other
Costly
Execution669ms
Transfer0 KB
Monthly Cost€7/mo
t.contentsquare.net
Other
Costly
Execution623ms
Transfer128 KB
Unused55%
Monthly Cost€7/mo
framerusercontent.com
Other
Costly
Execution553ms
Transfer24 KB
Monthly Cost€6/mo
framerusercontent.com
Other
Costly
Execution375ms
Transfer3 KB
Monthly Cost€4/mo
Google Tag Manager
Tag Manager
Costly
Execution302ms
Transfer157 KB
Unused42%
Monthly Cost€3/mo
framerusercontent.com
Other
Optional
Execution93ms
Transfer127 KB
Unused51%
Monthly Cost€1/mo
These scripts may cost more than they're worth
framerusercontent.com adds 12769ms and costs ~€139/month
framerusercontent.com adds 7605ms and costs ~€83/month
framerusercontent.com adds 818ms and costs ~€9/month
Unattributable adds 669ms and costs ~€7/month
t.contentsquare.net adds 623ms and costs ~€7/month
framerusercontent.com adds 553ms and costs ~€6/month
framerusercontent.com adds 375ms and costs ~€4/month
Google Tag Manager adds 302ms and costs ~€3/month
95% of JavaScript execution time is spent on third-party scripts. Consider auditing which scripts are essential.
Why this matters
When third-party JS execution time exceeds your own, performance gains from frontend work are capped by code you don't own.
Learn more ▾▴
Every millisecond of third-party JS competes with your own for main-thread time. If their share is bigger than yours, optimization on your code base barely moves the needle. Audit, defer, or remove third-parties before further frontend optimization. Use Lighthouse's third-party audit to identify the worst offenders.
Source: web.dev
framerusercontent.com takes 12769ms 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
framerusercontent.com takes 7605ms 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
framerusercontent.com takes 818ms 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
57% of framerusercontent.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
Unattributable takes 669ms 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
t.contentsquare.net takes 623ms 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 t.contentsquare.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
framerusercontent.com takes 553ms 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
framerusercontent.com takes 375ms 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 302ms 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
51% of framerusercontent.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.