Methodology
How We Measure
We use Cloudflare's Browser Rendering API to load each site in a real Chromium browser. For each page load, we capture every network request via the Chrome DevTools Protocol (CDP), recording the URL, transfer size (compressed), resource type, and response status.
What We Capture
- Total page weight (transfer size, not decoded size)
- Number of HTTP requests
- Resource breakdown (JS, CSS, images, fonts, media)
- First-party vs third-party resource split
- Third-party domain classification (ads, analytics, social, CDN)
- Above-the-fold screenshot (1280x800 viewport)
Test Conditions
- Desktop viewport: 1280x800
- No authentication (logged-out view)
- Datacenter IP (Cloudflare network)
- Wait strategy: network idle (no requests for 500ms)
- 60-second timeout per site
- No ad blockers or content blockers
Third-Party Classification
We classify third-party domains using a built-in list of known tracker domains, covering major advertising networks, analytics providers, social widgets, and CDNs. Domains not in our list are categorized as "unknown."
Limitations
- Datacenter IPs may receive different content than residential users
- Some sites detect automated browsers and serve lighter pages
- Cookie consent dialogs may block content loading
- We measure the homepage only (not article pages or product pages)
- Results may vary between crawl runs due to A/B testing and ad rotation
Crawl Frequency
Sites are crawled every 6 hours. Historical data shows trends over time.