URL to weigh
Up to 40 resources scanned in parallel (HEAD, fallback GET Range).
One URL → the list of page resources sorted by weight, with alerts on files ≥ 2 MB that Google struggles to crawl.
Up to 40 resources scanned in parallel (HEAD, fallback GET Range).
Google has documented that it does not analyze individual resources beyond 15 MB (explicit HTTP 416 from Googlebot). In practice, from 2 to 5 MB, crawl budget takes a hit and first-paint latency collapses. Most SEO leaders use 2 MB as a pre-alert threshold. Videos are an exception (they are rarely crawled anyway) but a 2 MB image on the home page is 99% of the time a poorly compressed PNG/JPEG.
Unoptimized images first, PNG where WebP/AVIF would be 5-10× smaller, photos exported in high resolution for no reason. Monolithic JS bundles second, SPAs without code-splitting can send 5-10 MB of JS for nothing. Self-hosted fonts not subset third, a full .woff2 file weighs 200-500 KB, but subset (only used glyphs), 20-50 KB.
For images: WebP/AVIF conversion with a tool like Squoosh or a build pipeline (Astro/Next/Vite have automatic plugins). For JS: code-splitting per route plus strict tree-shaking plus dependency inspection with Bundlephobia. For fonts: subset (load only Latin Extended characters), woff2, plus font-display: swap. And always: Brotli compression server-side (10-30% free gain vs gzip).
We scan up to 40 resources per page (Cloudflare Workers subrequest limit). We make HEAD requests in parallel to fetch Content-Length. Some CDNs refuse HEAD, in that case we do a GET with Range: bytes=0-0. Resources without Content-Length nor Content-Range show up as "unknown size".
Our network catalog is browsable without signup. Publisher pricing shown, no commission, no middleman.