JavaScript is 989 KB — consider code splitting or lazy loading
Large JavaScript bundles delay interactivity. Split code by route or defer non-critical scripts.
Got: 989 KB
Warning::
!
113 HTTP requests — consider bundling or reducing
Each request adds latency. Bundle small files, use sprites, or eliminate unnecessary requests.
Info::
i
Estimated 0.37 g CO2 per page load
1.8 MBtransferred
113 requests
0.37 g CO2 per page load
JavaScript988.6 KiB55%
Images383.7 KiB21%
Other144.4 KiB8%
HTML88.1 KiB5%
CSS70.6 KiB4%
Other65.4 KiB4%
Fonts62.2 KiB3%
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
27 images, 0 KB saveable
REVIEW
27 images, 0 KB saveable
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/7fd7aa... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/lucill... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/f08876... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/739d0c... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/miley-... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/e3f86d... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/the-in... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/19b6b0... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://www.biography.com/_assets/design-tokens/bi... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/cfd6fb... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/dae03c... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/b4df56... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/sydney... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/a48198... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/021aae... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://www.biography.com/_assets/design-tokens/bi... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/jack-t... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://hips.hearstapps.com/hmg-prod/images/olivia... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
27images384 KB
0oversized-0 KB
4legacy format
19missing 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
Performance issues directly impact user engagement and conversion rates.
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
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
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
B
HTTP Caching
max-age=0, must-revalidate, private
REVIEW
max-age=0, must-revalidate, private
Info::
✓
Cache-Control header is set
Got: max-age=0, must-revalidate, private
Info::
i
No ETag or Last-Modified header
Conditional requests (304 Not Modified) are not possible without validators.
Cache-Control
max-age=0, must-revalidate, private
Directive
Value
Meaning
max-age
0
Cache for 0 seconds
must-revalidate
—
Must recheck with server after expiry
private
—
Only browser cache, not CDN/proxy
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
5 fonts (62 KB)
PASS
5 fonts (62 KB)
Info::
i
5 font(s) use font-display: swap (FOUT risk but functional)
Web fonts
5
62 KB total
Render-blocking
0
of 5
Dominant font-display
swap
Most common across fonts
Font loading timeline
TransferFOIT (block)FOUT (swap)
poppins-v22-latin-800.9...woff2swap
Size8 KB
Load time69 ms
Start45 ms
RiskFOUT — text flashes from fallback to web font
inter-v3-latin-700.8b80...woff2swap
Size18 KB
Load time9 ms
Start260 ms
RiskFOUT — text flashes from fallback to web font
chonburi-v12-latin-regu...woff2swap
Size19 KB
Load time16 ms
Start261 ms
RiskFOUT — text flashes from fallback to web font
poppins-v22-latin-600.a...woff2swap
Size8 KB
Load time17 ms
Start262 ms
RiskFOUT — text flashes from fallback to web font
poppins-v22-latin-300.5...woff2swap
Size8 KB
Load time13 ms
Start262 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
2 hints, 0 missing preconnects
PASS
2 hints, 0 missing preconnects
Info::
✓
Page uses 2 resource hint(s)
Current Resource Hints
preconnect—
preload
1
dns-prefetch—
prefetch
1
2 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
113 requests over 1894ms
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-party3601ms · 709KB · $68/mo
Script
Category
Execution
Transfer
Unused
Monthly Cost
Verdict
Unattributable
Unattributable
Other
680ms
0 KB
—
$13/mo
Costly
www.biography.com
www.biography.com
Other
632ms
15 KB
—
$12/mo
Costly
www.biography.com
www.biography.com
Other
496ms
14 KB
—
$9/mo
Costly
www.biography.com
www.biography.com
Other
425ms
88 KB
—
$8/mo
Costly
www.biography.com
www.biography.com
Other
228ms
5 KB
—
$4/mo
Costly
securepubads.g.doubleclick.net
securepubads.g.doubleclick.net
Other
196ms
188 KB
76%
$4/mo
Optional
www.biography.com
www.biography.com
Other
124ms
108 KB
79%
$2/mo
Optional
www.biography.com
www.biography.com
Other
112ms
53 KB
89%
$2/mo
Optional
www.biography.com
www.biography.com
Other
100ms
58 KB
83%
$2/mo
Optional
www.biography.com
www.biography.com
Other
92ms
43 KB
50%
$2/mo
Optional
www.biography.com
www.biography.com
Other
86ms
42 KB
56%
$2/mo
Optional
www.biography.com
www.biography.com
Other
78ms
4 KB
—
$1/mo
Optional
securepubads.g.doubleclick.net
securepubads.g.doubleclick.net
Other
77ms
34 KB
—
$1/mo
Optional
www.biography.com
www.biography.com
Other
75ms
28 KB
—
$1/mo
Optional
www.biography.com
www.biography.com
Other
72ms
4 KB
—
$1/mo
Optional
www.biography.com
www.biography.com
Other
69ms
7 KB
—
$1/mo
Optional
nexus.ensighten.com
nexus.ensighten.com
Other
60ms
19 KB
—
$1/mo
Optional
Unattributable
Other
Costly
Execution680ms
Transfer0 KB
Monthly Cost$13/mo
www.biography.com
Other
Costly
Execution632ms
Transfer15 KB
Monthly Cost$12/mo
www.biography.com
Other
Costly
Execution496ms
Transfer14 KB
Monthly Cost$9/mo
www.biography.com
Other
Costly
Execution425ms
Transfer88 KB
Monthly Cost$8/mo
www.biography.com
Other
Costly
Execution228ms
Transfer5 KB
Monthly Cost$4/mo
securepubads.g.doubleclick.net
Other
Optional
Execution196ms
Transfer188 KB
Unused76%
Monthly Cost$4/mo
www.biography.com
Other
Optional
Execution124ms
Transfer108 KB
Unused79%
Monthly Cost$2/mo
www.biography.com
Other
Optional
Execution112ms
Transfer53 KB
Unused89%
Monthly Cost$2/mo
www.biography.com
Other
Optional
Execution100ms
Transfer58 KB
Unused83%
Monthly Cost$2/mo
www.biography.com
Other
Optional
Execution92ms
Transfer43 KB
Unused50%
Monthly Cost$2/mo
www.biography.com
Other
Optional
Execution86ms
Transfer42 KB
Unused56%
Monthly Cost$2/mo
www.biography.com
Other
Optional
Execution78ms
Transfer4 KB
Monthly Cost$1/mo
securepubads.g.doubleclick.net
Other
Optional
Execution77ms
Transfer34 KB
Monthly Cost$1/mo
www.biography.com
Other
Optional
Execution75ms
Transfer28 KB
Monthly Cost$1/mo
www.biography.com
Other
Optional
Execution72ms
Transfer4 KB
Monthly Cost$1/mo
www.biography.com
Other
Optional
Execution69ms
Transfer7 KB
Monthly Cost$1/mo
nexus.ensighten.com
Other
Optional
Execution60ms
Transfer19 KB
Monthly Cost$1/mo
These scripts may cost more than they're worth
Unattributable adds 680ms and costs ~$13/month
www.biography.com adds 632ms and costs ~$12/month
www.biography.com adds 496ms and costs ~$9/month
www.biography.com adds 425ms and costs ~$8/month
www.biography.com adds 228ms and costs ~$4/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
Unattributable takes 680ms 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.biography.com takes 632ms 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.biography.com takes 496ms 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.biography.com takes 425ms 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.biography.com takes 228ms 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
76% 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
79% of www.biography.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
89% of www.biography.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
83% of www.biography.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
56% of www.biography.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.