The short version
The key ideas.
- Set budgets around real audiences, page types and tasks rather than a universal file limit.
- Pair resource limits for media, fonts and scripts with measured experience targets.
- Give new features an explicit cost, owner and review process throughout the life of the site.
Make pace part of the creative direction
A carefully art-directed page can still feel careless when its opening image arrives late, its text changes shape or its navigation hesitates. Visitors experience those moments as part of the website. They do not divide the impression into a design department and a technical department. The pace of the interface belongs in the same conversation as typography, composition and tone.
A performance budget gives that conversation a practical form. It defines limits and targets the team agrees to protect as the design develops. The web.dev introduction to performance budgets describes both resource limits and experience-oriented measurements. A useful budget combines them: how much the page asks the device to do, and how the result feels when it does it.
This is not a demand for visually sparse websites. A rich architectural photograph may be central to the story. The budget helps the team decide how to deliver it, what should load first and which less valuable additions can be removed. Creative intention becomes clearer when the page has a hierarchy of technical priorities as well as a hierarchy of visual ones.
Set the budget around a credible experience
Begin with your audience, key page types and important tasks. A short service page, a visual case study and an interactive catalogue have different demands. Record the devices and connection conditions you intend to test, using actual visitor evidence where it is available. Include a less capable device that the team is prepared to support, rather than testing only on the machines used to build the site.
Then make a representative prototype and measure it. This creates a baseline for resource size, loading and responsiveness. Use current experience measures, including the relevant Core Web Vitals, alongside the resource budget. There is no universal number of kilobytes that makes every website good: ordering, caching, processing cost and interaction behaviour all influence the outcome.
Be precise about the measurement. “Page weight” might mean transferred bytes on a first visit, the full uncompressed resources, or everything loaded after scrolling. State which one you mean. Record cold and repeat visits when both matter. Agree on separate budgets for substantially different templates, then document why they differ. An exception grounded in a real visitor task is more useful than an unexplained exemption for a favourite effect.
Spend the media budget where it tells the story
Choose the visual narrative before selecting file limits. Which image establishes the project? Which details add information? Which gallery frames repeat what is already understood? Editing the selection can improve the story and reduce work for the device at the same time. Retain the original assets separately so delivery decisions do not compromise the source material.
Use appropriate image sizes and formats, review compression at the intended display size, and provide responsive variants where useful. Delay below-the-fold media when appropriate, while allowing important opening content to load promptly. The LCP optimization guidance specifically warns against lazy-loading the LCP image. The instruction should follow the image's role, rather than applying the same setting to the entire library.
For video, decide whether playback is essential on arrival. A strong poster frame with an explicit play control may support the story without immediately downloading the full experience. Test a failed or unavailable video as well. Set editorial guidance for new uploads: accepted dimensions, compression review, meaningful descriptions and the intended loading behaviour. A launch-day media budget is fragile if the next upload can bypass it silently.
Treat type delivery as a design choice
Typography carries much of a premium site's character, so font decisions deserve careful budgeting rather than an automatic system-font rule. List the families, styles, weights and language coverage that the design actually needs. A specimen containing every possible weight can conceal how few are used in the finished interface.
Review the fallback appearance and loading strategy. The web.dev font guidance explains the tradeoff between showing fallback text quickly, waiting for a web font and allowing a later swap. A swap can change line breaks and move content if the fallback and final typefaces differ substantially. Test the real headings, navigation and body copy under slow loading.
Compare options on evidence. A variable font can serve several styles efficiently in some cases, but its benefit depends on the actual files and ranges you need. A subset can reduce unnecessary characters, but must preserve the language coverage your content requires and respect the licence. Keep the brand's typographic roles intentional. An extra font used only for one small label still adds another resource and another loading decision to maintain.
Give every script a purpose and an owner
JavaScript has a cost beyond its download size: the browser also processes and runs it. Review what a feature contributes to a visitor's task and whether the same outcome has a simpler implementation. A modest menu may not need a general animation framework. A useful search tool may justify more code, especially when it loads only where needed.
Keep outside services visible in the budget. Analytics, chat, booking, video and campaign tools can arrive through a tag manager without appearing in the main application bundle. For each, record purpose, pages affected, loading trigger and owner. Test the full page with the intended production tools present. An empty prototype can offer a misleading performance baseline.
Use a straightforward decision gate for additions: what problem does this solve, what measurable cost does it add, and what can be simplified to make room? For example, a chat widget might load when someone requests help, while a contact link remains available immediately. Check that the delayed version still meets the service goal. The budget should expose a tradeoff for the team to decide, not quietly remove functionality a visitor depends on.
Set a different allowance for each page’s job
A detailed case study and a short contact page should not be expected to use the same media. The useful question is whether each resource earns its cost in that context. A project image may need enough resolution to demonstrate craft. A decorative texture may need very little. An article’s first paragraph should not wait for a large visual that is far below it.
Create a short publishing record for each important page type: the opening content, required imagery, optional media, necessary scripts and the person who reviews changes. Use the real first version as a baseline, then agree what an increase requires. A new booking widget, for example, should trigger a review of its usefulness, loading behaviour and effect on the inquiry journey.
Keep original files separately from delivery assets. That allows the team to tune dimensions and compression without losing the source quality. Recheck a representative case study, article and contact page after meaningful changes, using the same measurement definitions. The budget should support a clear experience, rather than become an arbitrary file-size target detached from the content.
Make the budget part of publishing and release
Record the budget in a small, usable scorecard. Include a measurement condition, target, warning level, owner and review date. Pair automated resource checks with periodic review of real visitor experience. A resource limit catches growth early; it cannot by itself establish that a page is pleasant to use.
- Media: Review initial transfer and later gallery or video loading.
- Fonts: Track required files and the behaviour before they arrive.
- Scripts: Track delivered code and important interaction responsiveness.
- Outside tools: Review purpose, loading cost and continued use.
- Experience: Compare key templates under documented conditions.
When a proposal exceeds a budget, choose deliberately: optimize it, simplify another element, revise the proposal or accept a documented exception with a review date. Avoid raising every limit until the checks pass. Equally, revisit a limit when the product's genuine needs change. The discipline is preserving an intentional experience over time, so that a website continues to feel composed after new campaigns, new stories and new services have arrived.
Sources & further reading
From perspective to practice
Keep visual ambition and usability connected
We can plan image delivery, typography and interactions around the experience your content needs to create.
Discuss your website build Explore services & pricing