Setting Limits to Keep Your Site Fast
A performance budget is a set of defined limits on metrics that affect site performance — things like total page weight, number of HTTP requests, JavaScript file size, or load time targets. The idea is simple: if a change would push the page past its budget, it does not ship until something else is optimized to make room.
Without a budget, site performance degrades gradually. Each new plugin, tracking script, or slider adds a little weight. No single addition feels significant, but over months a 1.5 MB page becomes a 4 MB page. A performance budget makes this drift visible and creates a decision point before it happens.
What Goes in a Performance Budget
A useful performance budget typically covers a few key dimensions. Page weight sets a ceiling on the total bytes transferred — a common starting point is 1.5 MB for a content page and 2.5 MB for a feature-heavy page like an e-commerce product listing. Request count limits the number of HTTP requests, since each request adds latency regardless of file size. JavaScript size deserves its own line because JavaScript is the most expensive asset per byte — it must be downloaded, parsed, compiled, and executed, making 200 KB of JavaScript far more costly than 200 KB of images.
Some teams also budget against real metrics: LCP under 2.5 seconds, INP under 200 milliseconds. These outcome-based budgets are harder to enforce automatically but capture what actually matters to users.
Why Budgets Matter for WordPress
WordPress sites are particularly vulnerable to performance creep because the plugin ecosystem makes it effortless to add functionality — and the cost is hidden. A contact form plugin might add 150 KB of JavaScript site-wide, even on pages without a form. A social sharing plugin might inject four additional CSS files. These additions rarely appear in any project plan, but they accumulate.
A performance budget does not mean avoiding plugins. It means knowing the cost before committing, and sometimes choosing a lighter alternative or loading scripts only where they are needed. The total page weight of your site is a direct reflection of every decision made about what to load.
Enforcing a Budget
A budget is only useful if it is checked. Tools like Lighthouse CI, bundlesize, and WebPageTest can be configured to flag pages that exceed a defined threshold. For WordPress sites without a CI pipeline, periodic manual checks against a documented budget still catch drift — especially before and after adding a new plugin or theme update.
The most practical approach: document your budget somewhere the team can see it, measure against it quarterly, and treat violations as technical debt to resolve before adding more features.
Further Reading
- Performance Budgets 101 (web.dev) — Practical introduction to setting and using performance budgets with real examples.
- Performance Budgets That Stick (Tim Kadlec) — How to make performance budgets that teams actually follow rather than ignore.
