Images are 1.1 MB — compress or use modern formats
Convert images to WebP/AVIF and resize to display dimensions to reduce transfer size.
Got: 1.1 MB
Info::
i
Fonts are 285 KB — consider subsetting or using system fonts
Subset fonts to include only used characters, or switch to system font stacks.
Got: 285 KB
Warning::
!
166 HTTP requests — consider bundling or reducing
Each request adds latency. Bundle small files, use sprites, or eliminate unnecessary requests.
Info::
i
Estimated 0.35 g CO2 per page load
1.7 MBtransferred
166 requests
0.35 g CO2 per page load
Images1.1 MiB66%
Fonts285.1 KiB17%
CSS166.3 KiB10%
JavaScript107.5 KiB6%
HTML19.4 KiB1%
Other2.7 KiB0%
02.4 MB4.9 MB
Approaching limit
Convert images to WebP/AVIF and resize to display dimensions to reduce transfer size.
Why this matters
Image bandwidth is high — modern formats (WebP/AVIF) and resizing typically cut it 50%+.
Source: web.dev
Subset fonts to include only used characters, or switch to system font stacks.
Why this matters
Font payload is large — subset to used glyphs only, or fall back to system fonts (zero load time).
Source: web.dev font loading
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
40 images, 0 KB saveable
REVIEW
40 images, 0 KB saveable
Warning::
!
https://headroommedia.nl/images/clients/D2025/SEW.... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/Logo/Logo150.png#j... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Rabo... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Car-... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Kuij... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Jant... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Yond... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Tric... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/caiw... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Nutr... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Rona... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Bosc... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Fokk... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Hilv... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/In2V... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Qolo... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Achm... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/flai... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/mead... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/epo.... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Lekk... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Amar... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/AOB.... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Smur... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Vall... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Akzo... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Wehk... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Bols... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
Warning::
!
https://headroommedia.nl/images/clients/D2025/Siev... is missing width/height — may cause layout shift
Set explicit width and height to prevent CLS.
40images1.1 MB
0oversized-0 KB
36legacy format
29missing 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
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
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
B
HTTP/3 (QUIC)
HTTP/3 not advertised
REVIEW
HTTP/3 not advertised
Info::
i
HTTP/3 (QUIC) is not advertised
HTTP/3 isn't advertised via Alt-Svc and the worker didn't negotiate h3. HTTP/3 reduces handshake latency (1-RTT instead of 2-3 RTTs) and is more resilient on lossy connections. Most modern CDNs (Cloudflare, Fastly, AWS CloudFront, Google Cloud CDN) support HTTP/3 with a single config switch -- consider enabling for mobile-heavy workloads.
B
Document Compression
Document response uses gzip; brotli would be ~20% smaller
REVIEW
Document response uses gzip; brotli would be ~20% smaller
Info::
i
Main HTML response uses gzip (brotli would be ~20% smaller)
All current browsers support brotli. Most CDNs (Cloudflare, Fastly, AWS CloudFront, Vercel, Netlify) can switch from gzip to brotli with a single config flag. Origin servers (nginx, Apache) need a brotli module compiled in -- nginx-brotli or Apache mod_brotli.
B
Asset Compression
1 of 1 asset host serve text uncompressed
REVIEW
1 of 1 asset host serve text uncompressed
Warning::
!
fonts.googleapis.com serves text assets uncompressed (assets: 6)
The sampled response carries a text content type but no Content-Encoding, so the bytes go over the wire raw. Text compression typically removes 70-80% of a JS or CSS payload -- this is the single cheapest transfer win available on this host.
Got: fonts.googleapis.com (text/css)
B
Server-Timing Observability
No Server-Timing header found
REVIEW
No Server-Timing header found
Info::
i
No Server-Timing header found
Server-Timing exposes backend timing breakdowns to browser DevTools (e.g., `db: 45ms; render: 120ms; cache: 2ms`). Useful for diagnosing slow pages without backend log access. Most modern frameworks (Next.js, Cloudflare Workers, Fastly) emit it automatically; absence on a managed platform usually means telemetry headers are stripped at the edge.
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::
✓
`Last-Modified` present -- timestamp-based conditional GET supported
Consider also setting `ETag` for stronger revalidation -- ETags are content hashes that don't suffer from clock-skew or DST issues. Last-Modified alone is functional for conditional GETs and not a bug.
Network Waterfall
166 requests over 874ms
INFO
HTML JavaScript CSS Images Fonts XHR/Fetch Other
Image Optimization
63 images, 1002 KB total, 13 KB wasted
INFO
Image Optimization Audit
Total Images
63
Total Size
1002 KB
Oversized
3
Wasted
13 KB
6 missing alt text57 missing dimensions56 missing lazy loading
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.