Performance budgets
The weight of each monitored page, measured every day and after each deployment, compared with the budget you set — in total and per resource type — with an alert when a page goes over.
Pro plan and aboveUpdated on 17 September 2026
On this page
The page weight check weighs the home page on deployment, with fixed thresholds. Performance budgets (Project → Quality → Performance budgets) takes the same measurement on all your monitored pages, against your thresholds, every day — and warns you on the pass that reveals an overrun.
What PostShip does
The measurement
Once a day — and right after a deployment — PostShip reads the HTML of each page (the home, then the monitored HTTP URLs by age, up to 5 pages with Pro, 15 with Team, 30 with Agency) and weighs what it loads: scripts, stylesheets, images, media, with the same mechanics as the weight check (HEAD first, capped GET otherwise, about forty resources at most). The result per page: the total, the HTML, the breakdown by type, the five heaviest resources, and what could not be weighed — the total is then a lower bound, and the page says so.
The budget
One budget per project, in kilobytes, per type: whole page, HTML, scripts, styles, images, media. The defaults aim at a reasonable mobile page — 2,000 KB in total, 600 KB of scripts, 1,000 KB of images. Each page is compared with this budget; the bar shows the breakdown and the budget line.
What exceeds
For each page: the total above the page budget, and each type above its own. A list, in orange, with the measured weight and the budget. The trend, in small bars under each page, says when it happened.
Settings
The budget is set on the page, one field per type (from 10 to 100,000 KB). “Measure now” starts a measurement right away (at most once every ten minutes). The measured pages are those of the URLs page.
What triggers an alert
Performance budget exceeded: when a page goes over a budget it respected on the previous pass — in total or per type. A page that stays over does not alert on every pass; a type that tips over in turn does. The alert says the page, the weight and the budget, each type over budget, and points to the five heaviest resources. It follows your channels and can be switched off in Automation → Alert rules.
Limits and plans
| Free | Pro | Team | Agency | |
|---|---|---|---|---|
| Budgets | — | Yes | Yes | Yes |
| Pages measured per project | — | 5 | 15 | 30 |
The home page weight check stays open to everyone. See plans.
Troubleshooting
“N without an announced size”
These resources do not state their size (no Content-Length, compressed response without a header) and the pass could not download them: the total is a lower bound. A CDN that announces sizes settles the matter.
The measured weight is smaller than in my browser
PostShip reads the served HTML and what it references directly; what JavaScript loads afterwards (fonts via CSS, lazy-loaded images, API calls) is not counted. It is the weight “at the first useful byte”, the one that decides the first render.
A page exceeds although it has not changed
An image replaced in the CMS without a deployment, a third-party script that grew: the measurement reads the world as it is, and that is precisely what you want to know.