What page weight is and why it decides your speed
Page weight is the total amount of data a browser has to download to build your page: the HTML document itself, plus every stylesheet, script, image, font, and embedded resource it pulls in. Speed scores describe the symptom; page weight describes the cause. A page that ships four megabytes of assets cannot be fast no matter how good your server or CDN is, because the bytes still have to travel down the visitor's connection and be parsed by their device. Weight is the budget every other performance metric spends.
This analyzer fetches a URL and measures the size of its HTML response, then counts the resources that page asks the browser to load: how many scripts, how many stylesheets, how many images, and how many total requests. Instead of a single opaque score, you get a concrete inventory of what is on the page and how heavy it is, which is exactly the information you need to decide what to cut first.
What the analyzer actually measures
The first number is the raw size of the HTML document. This is the markup the server sends before the browser fetches anything else. Bloated HTML, often from page builders that emit deeply nested wrappers, inline styles repeated thousands of times, or huge blocks of inlined data, slows down parsing and pushes back the moment the browser can start loading the assets referenced inside it. Lean, semantic HTML is the foundation of a light page.
The second set of numbers is the resource inventory: the count of script tags, link and style tags, and image references found in the markup, plus the total number of requests the page implies. Each request is a separate round trip the browser must make, and even on modern protocols, dozens or hundreds of requests add up to real latency and CPU work. Counting them exposes a class of problem a size figure alone hides: a page can be modest in total bytes yet slow because it is fragmented into far too many separate fetches.
Because this tool reads the HTML the server returns, it sees the resources declared in that initial response. Some sites inject further scripts and images later through JavaScript, so a heavy single-page application may load even more than the initial count suggests. Read the result as the floor of the page's weight, the minimum the browser is told to fetch, not always the complete final total after client-side code has finished running.
How to read the numbers you get back
Start with total weight and compare it to a rough budget. A fast, content-focused page can comfortably live under one megabyte; a media-rich page might reach two or three but should rarely exceed it without a deliberate reason. If you are well over budget, the resource counts tell you where the weight is hiding. A high image count usually means unoptimized media; a high script count usually means third-party tags and framework bloat; a high request count means the page is over-fragmented.
Look at the balance between categories, not just the totals. Twenty scripts on a simple blog post is a warning sign even if each is small, because scripts are expensive twice over: they cost download bytes and then they cost main-thread time to parse and execute, which is what makes pages feel sluggish to interact with. Images, by contrast, are heavy in bytes but cheap to execute, so a high image weight hurts load time more than responsiveness. The category that is out of proportion tells you which kind of problem you have.
Treat the request count as a structural signal. If a page makes a hundred requests, much of its slowness is connection overhead and scheduling rather than raw size, and the fix is consolidation, not compression. Bundling, spriting where appropriate, and removing redundant third-party calls attack that problem directly, whereas squeezing image quality would barely move it.
The most common causes of a heavy page
Unoptimized images are the number one cause almost every time. A single full-resolution photo straight from a camera or stock site can outweigh the entire rest of the page. Serving a 3000-pixel-wide image into a 400-pixel slot wastes enormous bandwidth and decode time. Resizing to the size actually displayed, compressing, and switching to modern formats like WebP or AVIF routinely cuts image weight by half or more with no visible quality loss.
Third-party scripts are the second cause and the most insidious, because each one is invisible in your own code. Analytics, tag managers, chat widgets, A/B testing tools, ad networks, and social embeds each pull in their own payload, and tag managers often load still more scripts behind the scenes. A page that looks lean in your source can balloon once every marketing tag has finished loading its dependencies. Audit what each tag is worth and remove the ones that do not earn their weight.
Heavy CSS and JavaScript frameworks are the third. Shipping an entire UI library to render a mostly static page, or loading the full stylesheet of a theme when the page uses a fraction of it, inflates both byte size and parse time. Tree-shaking unused code, splitting bundles so each page loads only what it needs, and purging unused CSS rules are the standard cures, and they often produce the largest single reduction in script weight.
How page weight differs from a speed score
A performance score like Lighthouse blends many timings into one graded number, which is useful but abstract. Page weight is a physical fact: these are the bytes and these are the requests. The two are deeply linked, but weight is upstream. You cannot reliably improve a speed score without reducing what the page has to load, and a weight inventory tells you precisely what to remove, while a score only tells you that something is wrong.
Use this analyzer as the diagnosis that precedes the speed test. Run it first to see what the page is made of and where the bulk lives, make targeted cuts, then confirm the effect with a Page Speed Test and with field-level Core Web Vitals. Weight reduction is the lever; the speed score is the gauge that tells you the lever worked. Pairing them means you are never guessing about which change helped.
Mobile, data caps, and real-world impact
Page weight hits hardest exactly where it matters most for reach. Many of your visitors are on mobile networks, older devices, or metered data plans, and for them a heavy page is not just slower, it is expensive. A multi-megabyte page on a capped data plan costs the visitor real money, and on a slow connection it can take many seconds to appear, by which time a large share of users have already left. Lightness is an accessibility and reach issue, not just a technical nicety.
Because Google indexes the mobile version of your page first, the weight that mobile devices have to carry is the weight that shapes your rankings. A desktop experience that feels instant on a fast office connection can be a painful, abandonment-prone load on a mid-tier phone over a congested network. Test with that visitor in mind, and treat a heavy mobile payload as a ranking and conversion problem, not only a developer-experience one.
Page weight and AI search in 2026
AI crawlers that gather content for AI Overviews, ChatGPT, Perplexity, and similar engines operate under tighter time and bandwidth limits than traditional search bots. A bloated page that takes too long to download, or that buries its real content under megabytes of scripts and tracking, risks being parsed only partially or skipped. Lighter pages are simply more likely to be fetched in full, read, and quoted, because the parser can finish the job within its budget.
There is also a clarity dividend. A page whose weight is dominated by a small, clean HTML document carrying the actual content, rather than by scripts that assemble the content later, is far easier for an AI system to extract accurately. Trimming page weight tends to push you toward shipping meaningful content in the initial HTML, which is the same thing that makes your page legible to machines and humans alike. Cutting weight is rarely glamorous, but it improves load speed, mobile reach, rankings, and AI visibility in one move.
What to do after you run the analyzer
Attack the largest category first, because that is where the cheapest wins live. If images dominate, batch-optimize and convert them before touching anything else; that single pass often halves total weight. If scripts dominate, list every third-party tag and justify each one, then defer or remove the rest. If the request count is the outlier, consolidate bundles and eliminate redundant calls. Change one category, re-run the analyzer, and watch the totals move so you know the work paid off.
Then make page weight a habit, not a one-time cleanup. Weight creeps back every time a new plugin, marketing tag, or hero image is added, so re-run this analyzer after any redesign, after onboarding a new third-party tool, and periodically on the templates that carry your traffic. Setting an informal weight budget for each page type, and checking against it before launch, keeps a fast site fast instead of letting it slowly bloat back to where it started.