Overview
For teams working on media-rich sites, performance issues often don’t originate in the browser. Instead, they usually begin much earlier, during the creation, storage, transformation, and delivery of images and videos. This is important because many existing websites already feature a solid front end. They use modern frameworks, serve content via a CDN, and follow performance best practices. Yet Core Web Vitals still fall short; the homepage loads more slowly than expected, and developer teams often find themselves repeatedly fixing the same problems.
In many cases, the real challenge isn’t the framework itself, but the media pipeline. For people managing websites, it’s useful to see this as a systems issue rather than just a template problem. If your website uses/needs high-quality photos, promotional materials, or videos in hero sections and elsewhere, this media can affect three critical elements at once: CWV and SEO, Conversions, and developer velocity.
The pattern is familiar
A typical setup looks something like this:
- A large original image or video is created by a design, brand, or production team
- The file is uploaded directly into the CMS or shared asset store
- There are no hard upload limits for dimensions, file size, or duration
- No standard renditions are generated automatically
- Editors reuse one asset across multiple layouts and breakpoints
- Your site pulls an oversized asset into the page
- srcset, sizes, width, and height are missing or inconsistent
- Key visuals are sometimes implemented as CSS backgrounds or heavy embeds
- Video is delivered through a JavaScript-heavy player
- No CI checks or performance budgets catch regressions
Nothing here is unusual. That is exactly why it becomes expensive.
Performance gradually deteriorates. The homepage hero image becomes heavier. A new campaign introduces autoplay videos. The marketing team uploads a massive original image due to the absence of an enforced rendition policy. A developer patches one component, but the system still produces oversized assets elsewhere.
Eventually, the symptoms show up in Core Web Vitals.
Where media usually breaks CWV
On media-heavy sites, the same issues appear again and again:
- LCP image too big
- Missing srcsetand sizes
- CLS caused by missing dimensions or unstable media containers
- INP affected by JavaScript-heavy video players
- Autoplay and third-party embeds increasing main-thread work and delay
These are often treated as isolated front-end bugs. In reality, they are usually signs that the media delivery model is too manual.
If your largest image is still being chosen by an editor rather than by a predictable transformation pipeline, the problem is structural.
What “good” looks like
For existing sites, the target is not perfection. It is a set of sensible defaults that removes avoidable decisions from day-to-day delivery.
Practical rules of thumb
These are best used as starting points, not absolutes:
- Aim for a hero/LCP image of roughly 150–250 KB delivered where possible
- Keep desktop hero widths around 1600–1920px max
- Keep mobile hero widths around 750–900px max
- Do not serve images significantly larger than their rendered size
- Always reserve dimensions or aspect ratio to prevent CLS
- Use AVIF where workflow and support allow
- Use WebP as the standard fallback
- Use JPEG when compatibility or source quality makes more sense
- Use PNG only when transparency or exact raster fidelity is required
- Use SVG for logos, icons, and simple illustrations
For video:
- Use video only when motion adds meaning
- Avoid GIFs for large motion; use properly encoded video instead
- Avoid autoplay by default, especially with sound
- Use a poster image for every meaningful video
- Prefer adaptive streaming for heavier or longer video
- Do not load a JavaScript-heavy player unless you genuinely need one
Those defaults alone eliminate a surprising amount of waste.
Why front-end teams keep paying the price
Without media guardrails, developers become the last line of defence against this.
That slows teams down in several ways:
- They build one-off fixes into templates
- They hand-tune image handling page by page
- They spend time debugging regressions that should never have been possible
- They work around CMS/editorial behaviour instead of relying on predictable output
That is not a front-end optimisation problem. It is a governance problem.
The more media-heavy the site becomes, the more important it is to separate content management from media delivery discipline.
The automation layer most teams are missing
The automation layer most teams are missing
For existing sites, the highest-value improvements usually come from automating the basics:
- image resizing and format negotiation
- srcset / sizes generation
- metadata stripping
- smart cropping or art direction where needed
- placeholders for perceived performance
- dimension locking to prevent CLS
- lazy-loading rules and priority hints
- adaptive streaming decisions for video
- player selection: native vs JavaScript
- CI linting for max bytes and dimensions
- performance budgets in pull requests
- CDN caching headers
- governance rules for renditions and required fields
This is where performance and developer velocity meet.
If the system produces sane renditions by default, developers stop spending time defending the front end from bad assets.
A note on DAM vs CMS
A CMS can manage media perfectly well for simpler sites. But as media volume, approval complexity, and channel reuse increase, the source of truth becomes more important.
The real question is not just traffic.
It is whether your team needs:
- consistent renditions
- asset governance
- approval workflows
- multi-channel reuse
- predictable delivery rules
If the answer is yes, a dedicated media system (DAM) starts becoming something that can really add value.
What to fix first
If you are diagnosing an existing site, start here:
- Identify the real LCP elements on your most important pages
- Audit whether images are being delivered at the right dimensions and formats
- Check whether srcset, sizes, width, and height are consistently present
- Review homepage and landing-page video: autoplay, player weight, poster handling
- Check whether media transformations happen automatically or manually
- Add upload limits, performance budgets, and CI checks to stop regression
Do that before chasing minor framework-level wins.
On photo and video heavy sites, the biggest performance gains often come from fixing the media pipeline behind the front end.
