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.1 MB transferred, 105 requests
REVIEW
2.1 MB transferred, 105 requests
Info::
i
Page weighs 6.1 MB (2.1 MB transferred)
Warning::
!
JavaScript is 1.6 MB — consider code splitting or lazy loading
Large JavaScript bundles delay interactivity. Split code by route or defer non-critical scripts.
Got: 1.6 MB
Warning::
!
105 HTTP requests — consider bundling or reducing
Each request adds latency. Bundle small files, use sprites, or eliminate unnecessary requests.
Info::
i
Estimated 0.43 g CO2 per page load
2.1 MBtransferred
105 requests
0.43 g CO2 per page load
JavaScript1.6 MiB76%
Images183.2 KiB9%
HTML100.3 KiB5%
Other94.4 KiB4%
Fonts71.2 KiB3%
Other34.0 KiB2%
Other13.7 KiB1%
CSS1.7 KiB0%
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
B
Image Optimization
16 images, 0 KB saveable
REVIEW
16 images, 0 KB saveable
Info::
✓
All images are well-optimized
16images183 KB
0oversized-0 KB
12legacy format
0missing dimensionsCLS risk
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
3 fonts (71 KB)
PASS
3 fonts (71 KB)
Info::
i
3 font(s) use font-display: swap (FOUT risk but functional)
Web fonts
3
71 KB total
Render-blocking
0
of 3
Dominant font-display
swap
Most common across fonts
Font loading timeline
TransferFOIT (block)FOUT (swap)
SpaceGrotesk-SemiBold.w...woff2swap
Size22 KB
Load time46 ms
Start221 ms
RiskFOUT — text flashes from fallback to web font
Inter-Regular-subset.woff2woff2swap
Size24 KB
Load time41 ms
Start222 ms
RiskFOUT — text flashes from fallback to web font
Inter-SemiBold-subset.w...woff2swap
Size25 KB
Load time34 ms
Start222 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
No optimization needed
PASS
No optimization needed
Info::
✓
No resource hint issues
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+
Green Hosting
Whether the site is served from green-energy infrastructure
PASS
Green Hosting
This site is hosted on green energy infrastructure
Provider: Cloudflare
Network Waterfall
105 requests over 3126ms
INFO
HTML JavaScript CSS Images Fonts XHR/Fetch Other
Third-Party Script Cost
Per-script blocking time, transfer cost, and cache headers
INFO
100%of JavaScript execution is third-party
First-party Third-party6051ms · 1521KB · $80/mo
Script
Category
Execution
Transfer
Unused
Monthly Cost
Verdict
www.seriouseats.com
www.seriouseats.com
Other
911ms
93 KB
—
$12/mo
Costly
Unattributable
Unattributable
Other
838ms
0 KB
—
$11/mo
Costly
www.seriouseats.com
www.seriouseats.com
Other
594ms
46 KB
54%
$8/mo
Costly
Google Tag Manager
www.googletagmanager.com
Tag Manager
469ms
139 KB
42%
$6/mo
Costly
Google Tag Manager
www.googletagmanager.com
Tag Manager
408ms
165 KB
40%
$5/mo
Costly
Google Tag Manager
www.googletagmanager.com
Tag Manager
372ms
151 KB
41%
$5/mo
Costly
Google Tag Manager
www.googletagmanager.com
Tag Manager
370ms
123 KB
51%
$5/mo
Costly
securepubads.g.doubleclick.net
securepubads.g.doubleclick.net
Other
355ms
188 KB
71%
$5/mo
Costly
www.seriouseats.com
www.seriouseats.com
Other
278ms
150 KB
66%
$4/mo
Costly
openads-cdn.adsrvr.org
openads-cdn.adsrvr.org
Other
221ms
97 KB
64%
$3/mo
Costly
securepubads.g.doubleclick.net
securepubads.g.doubleclick.net
Other
160ms
34 KB
—
$2/mo
Optional
c.amazon-adsystem.com
c.amazon-adsystem.com
Other
146ms
91 KB
64%
$2/mo
Optional
html-load.com
html-load.com
Other
137ms
43 KB
—
$2/mo
Optional
cdn.id5-sync.com
cdn.id5-sync.com
Other
131ms
29 KB
—
$2/mo
Optional
b-code.liadm.com
b-code.liadm.com
Other
117ms
47 KB
47%
$2/mo
Optional
www.seriouseats.com
www.seriouseats.com
Other
109ms
23 KB
—
$1/mo
Optional
www.seriouseats.com
www.seriouseats.com
Other
105ms
37 KB
76%
$1/mo
Optional
cdn.id5-sync.com
cdn.id5-sync.com
Other
99ms
34 KB
—
$1/mo
Optional
pagead2.googlesyndication.com
pagead2.googlesyndication.com
Other
99ms
0 KB
65%
$1/mo
Optional
static.criteo.net
static.criteo.net
Other
68ms
15 KB
—
$1/mo
Optional
dotdash-meredith.solutions.cdn.optable.co
dotdash-meredith.solutions.cdn.optable.co
Other
62ms
15 KB
—
$1/mo
Optional
www.seriouseats.com
Other
Costly
Execution911ms
Transfer93 KB
Monthly Cost$12/mo
Unattributable
Other
Costly
Execution838ms
Transfer0 KB
Monthly Cost$11/mo
www.seriouseats.com
Other
Costly
Execution594ms
Transfer46 KB
Unused54%
Monthly Cost$8/mo
Google Tag Manager
Tag Manager
Costly
Execution469ms
Transfer139 KB
Unused42%
Monthly Cost$6/mo
Google Tag Manager
Tag Manager
Costly
Execution408ms
Transfer165 KB
Unused40%
Monthly Cost$5/mo
Google Tag Manager
Tag Manager
Costly
Execution372ms
Transfer151 KB
Unused41%
Monthly Cost$5/mo
Google Tag Manager
Tag Manager
Costly
Execution370ms
Transfer123 KB
Unused51%
Monthly Cost$5/mo
securepubads.g.doubleclick.net
Other
Costly
Execution355ms
Transfer188 KB
Unused71%
Monthly Cost$5/mo
www.seriouseats.com
Other
Costly
Execution278ms
Transfer150 KB
Unused66%
Monthly Cost$4/mo
openads-cdn.adsrvr.org
Other
Costly
Execution221ms
Transfer97 KB
Unused64%
Monthly Cost$3/mo
securepubads.g.doubleclick.net
Other
Optional
Execution160ms
Transfer34 KB
Monthly Cost$2/mo
c.amazon-adsystem.com
Other
Optional
Execution146ms
Transfer91 KB
Unused64%
Monthly Cost$2/mo
html-load.com
Other
Optional
Execution137ms
Transfer43 KB
Monthly Cost$2/mo
cdn.id5-sync.com
Other
Optional
Execution131ms
Transfer29 KB
Monthly Cost$2/mo
b-code.liadm.com
Other
Optional
Execution117ms
Transfer47 KB
Unused47%
Monthly Cost$2/mo
www.seriouseats.com
Other
Optional
Execution109ms
Transfer23 KB
Monthly Cost$1/mo
www.seriouseats.com
Other
Optional
Execution105ms
Transfer37 KB
Unused76%
Monthly Cost$1/mo
cdn.id5-sync.com
Other
Optional
Execution99ms
Transfer34 KB
Monthly Cost$1/mo
pagead2.googlesyndication.com
Other
Optional
Execution99ms
Transfer0 KB
Unused65%
Monthly Cost$1/mo
static.criteo.net
Other
Optional
Execution68ms
Transfer15 KB
Monthly Cost$1/mo
dotdash-meredith.solutions.cdn.optable.co
Other
Optional
Execution62ms
Transfer15 KB
Monthly Cost$1/mo
These scripts may cost more than they're worth
www.seriouseats.com adds 911ms and costs ~$12/month
Unattributable adds 838ms and costs ~$11/month
www.seriouseats.com adds 594ms and costs ~$8/month
Google Tag Manager adds 469ms and costs ~$6/month
Google Tag Manager adds 408ms and costs ~$5/month
Google Tag Manager adds 372ms and costs ~$5/month
Google Tag Manager adds 370ms and costs ~$5/month
securepubads.g.doubleclick.net adds 355ms and costs ~$5/month
www.seriouseats.com adds 278ms and costs ~$4/month
openads-cdn.adsrvr.org adds 221ms and costs ~$3/month
100% 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
www.seriouseats.com takes 911ms 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
Unattributable takes 838ms 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
www.seriouseats.com takes 594ms 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
54% of www.seriouseats.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 469ms 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 408ms 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 372ms 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 370ms 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 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
securepubads.g.doubleclick.net takes 355ms 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
71% of securepubads.g.doubleclick.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
www.seriouseats.com takes 278ms 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
66% of www.seriouseats.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
openads-cdn.adsrvr.org takes 221ms 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
64% of openads-cdn.adsrvr.org'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
64% of c.amazon-adsystem.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
76% of www.seriouseats.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
65% of pagead2.googlesyndication.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.