Spurlock Studios
Contact
Hero Video Only Earns Its Keep When the Poster Carries LCP

Put a video background on the homepage only when the poster image can carry Largest Contentful Paint, mobile gets a still (or click-to-play), and the loop stays muted, short, and compressed. If any of those fail, the video is usually hurting trust and conversions more than it is helping the brand. Film energy on the web is often stills plus disciplined motion — not a 20MB autoplay file. This spoke sits under Websites That Feel Like Films; for motion systems and production constraints, read Motion Systems That Ship and Motion That Survives Production rather than reinventing craft theory here.

The short answer

  • Poster image first: the visible still should be the LCP candidate, not the video decode.
  • Default mobile to a still or click-to-play; autoplay background video is a desktop privilege you earn.
  • Autoplay in the browser effectively requires muted (and usually playsinline); sound-on autoplay is a non-starter.
  • Honor prefers-reduced-motion: reduce with a static hero — no debate.
  • If the loop exists to “feel premium,” try a graded still + GSAP/CSS motion before you pay the video tax.

Go / no-go for homepage hero video

Use this as a hard gate before you encode anything.

ConditionGoNo-go
Poster is a real optimized image that paints fastRequired“Video will be the LCP” as the plan
Mobile strategy is still or tap-to-playRequiredSame autoplay file as desktop
File is a short muted loop, compressed hardRequiredFull music video as background
Reduced-motion users get a stillRequiredMotion with no escape
Brand moment needs footage you cannot imply with a stillValid reason“Competitors use video”
You measured field LCP after adding itRequired before keeping itLab green on Wi-Fi desktop only

If you cannot check every Required row, ship the still.

Core Web Vitals numbers (verified)

As documented on web.dev/vitals (stable Core Web Vitals set; page last updated October 31, 2024, thresholds still the published “good” targets as of this writing in August 2026):

MetricWhat it measures“Good” target (p75)
LCP (Largest Contentful Paint)Loading — when main content likely appeared≤ 2.5 seconds
INP (Interaction to Next Paint)Responsiveness to taps/clicks/keys≤ 200 milliseconds
CLS (Cumulative Layout Shift)Unexpected layout movement≤ 0.1

Google evaluates these at the 75th percentile of real-user field data, typically across a rolling ~28-day window in CrUX / Search Console. Lab Lighthouse scores are useful for debugging; they are not the compliance score.

Hero video threatens LCP when the browser treats a late video frame as the largest element, or when a massive download delays the poster. It threatens INP when main-thread work and third-party players jank the first tap. It threatens CLS when the video or player UI resizes the hero after paint. Reserve width/height (or aspect-ratio boxes) so the fold does not jump.

For broader performance craft without killing design, see Lighthouse Without Killing Design.

The poster must carry LCP

Practical pattern that usually wins:

  1. Hero region is an image (<img> or CSS background) with a properly sized, compressed poster — modern formats (AVIF/WebP) when your pipeline supports them.
  2. Video sits on top or underneath only after the poster is ready; many implementations keep the poster visible until canplay / first frame, then crossfade.
  3. Preload the poster, not a giant MP4. fetchpriority="high" belongs on the LCP image candidate.
  4. Give the media box explicit dimensions to protect CLS.
  5. Confirm in field tools (CrUX / RUM / Search Console) which element is LCP on mobile after launch — not only in your laptop DevTools.

If LCP is the <video> element waiting on network, you lost the plot. The still should win the race.

Mobile rule

Phones are where musician and brand traffic often converts (follow, tour, merch, contact). They are also where autoplay background video hurts most: data caps, thermal throttling, smaller CPUs, and impatient thumbs.

Default policy I recommend:

ViewportHero mediaInteraction
Mobile (default)High-quality still matching the film gradeOptional “Play” for a short clip or music video embed below
TabletStill, or light loop only if field LCP stays goodPrefer tap-to-play for anything with sound
DesktopMuted loop allowed if budgets passNever sound-on autoplay

“But it looks so good on my phone on Wi-Fi” is not a field test. Check mid-tier Android on LTE. If the loop stutters or the fold arrives late, cut video on mobile without apology.

Autoplay, muted, and playsinline

Browser reality (HTML media behavior — verify against current MDN / browser docs if you implement):

  • Autoplay with sound is widely blocked.
  • Muted autoplay is commonly allowed, especially with playsinline on iOS.
  • User-gesture play is the reliable path for anything with audio.
  • Background loops should be mute, loop, no controls chrome, and short.
ApproachUse whenAvoid when
Muted autoplay loopAtmosphere, desktop, poster-firstStorytelling that needs audio
Click-to-playMusic videos, interviews, trailersYou wanted wallpaper and got a player UI instead
No videoMost service and many artist homesYou are forcing footage to justify a shoot

Autoplay is not required for a premium site. It is optional seasoning.

prefers-reduced-motion

If the user asks for less motion, give them the poster and stop. No slow fade loop, no “subtle” Ken Burns on a huge file, no delayed video injection that still moves the frame.

Minimum:

@media (prefers-reduced-motion: reduce) {
  .hero-video { display: none; }
  .hero-poster { display: block; }
}

Also pause or never load the media element in JS when that media query matches. Accessibility is part of craft — see Accessibility as Craft for the wider bar; here the rule is binary: reduced motion means still hero.

File size discipline (practical, not mystical)

There is no single universal megabyte law published as a Core Web Vital. There is physics: every megabyte competes with your LCP image, fonts, and hydration.

Budgets I use as starting discipline for background loops (adjust per project; measure field LCP after):

AssetStarting budgetNotes
Poster imageOften well under a few hundred KB in a modern format at hero dimensionsThis is the LCP candidate
Mobile0 KB video by defaultStill only
Desktop loopLow single-digit MB after compression, short duration, limited resolutionIf you need 15MB+, you are shipping a film, not a texture
Multiple sourcesOne well-encoded file beats three huge fallbacksExtra sources multiply waste if mis-preloaded

Encode for the crop you show. A vertical phone crop does not need a 4K landscape master. Loop under ~5–8 seconds when the job is atmosphere. Strip audio tracks entirely for background files.

If the file only works at cinema bitrate, it does not belong in the hero. Host the film on YouTube/Vimeo/Mux with a poster and a play button.

When stills plus motion beat video

Video is the wrong tool when:

  • The brand moment is color, type, and composition — not footage
  • You need crisp product or press photography
  • Tour / follow / merch CTAs must win in the first viewport
  • You cannot afford the encoding and QA pass every release cycle
  • Reduced-motion and data-sensitive users are a large slice of the audience

Stills + motion patterns that still feel like a release campaign:

  • Graded hero photograph with a slow opacity or scale within CLS-safe limits
  • GSAP-timed type and CTA entrance after LCP
  • Short hover or scrub previews on desktop work grids — not the LCP element
  • Click-to-play music video module below the fold

That is the same cinema standard as the pillar, without taxing every visit. Deep craft lives in Motion Systems That Ship; this post is only the go/no-go.

How to know video is hurting conversions (not just Lighthouse)

Lighthouse red is a hint. Business symptoms matter more:

  • Mobile bounce or rage-taps up after adding the loop (watch session tools if you have them)
  • Field LCP regresses past ~2.5s at p75 on phone in Search Console / CrUX
  • Play/CTA clicks fall because the fold is busy or late
  • Fans on cellular complain the homepage “doesn’t load”
  • Battery / heat complaints on long sessions (more common with always-on loops)

Compare a two-week window with video on desktop-only vs sitewide autoplay. Keep the version that protects the primary action — follow, tour, contact, listen — not the version that wins taste arguments in the studio.

Decision tree you can run this week

  1. Write the homepage job in one sentence (listen / tour / contact / merch).
  2. Design the fold as a still that already sells that job.
  3. Ask: does motion add information footage alone can provide?
  4. If no → ship still + light motion system.
  5. If yes → poster-first, desktop muted loop, mobile still, reduced-motion still.
  6. Measure field LCP/INP/CLS for 28 days; be ready to delete the loop.

Oliver Malcolm–style film energy can still be a graded frame and disciplined motion. Video is optional.

Implementation checklist before the file ships

  • Poster exported at hero crop, compressed, modern format when possible
  • Explicit width/height or aspect-ratio on the media box
  • Video muted loop playsinline preload="none" or metadata-only — never preload="auto" on a hero loop by default
  • Desktop media query or JS gate before fetching the MP4/WebM
  • Mobile never downloads the loop on first paint
  • prefers-reduced-motion: reduce never fetches or plays video
  • No third-party player chrome in the LCP region
  • Field LCP element confirmed as the poster after release
  • Primary CTA remains tappable within the first viewport on a mid-tier phone

preload="auto" on a background hero is how you accidentally spend the user’s bandwidth before they see your name. Be stingy.

Artist-site specifics

Musician homepages often want the video treatment because the campaign film feels like the identity. Fair. Still separate jobs:

JobBetter media
Identity / atmosphereGraded still or short muted desktop loop
Watch the videoClick-to-play module with chapter art
Listen nowDSP smart link / embed — not a 1080p loop
Tour datesLive dates module — video should not bury it

If the homepage job is “next show” or “presave,” a looping teaser that delays those CTAs is working against the release. Put the film where fans choose it.

FAQ

Is autoplay always required?

No. Autoplay is optional atmosphere. Many strong artist and brand homepages convert on a still fold with a clear listen or tour action. If you autoplay, keep it muted and poster-first.

How large can the file be?

As small as you can make it while looking intentional — start in the low single-digit megabytes for desktop background loops and verify field LCP. If you need a large film file, do not use it as an autoplay background; use click-to-play.

Should mobile get video at all?

Default to no for background autoplay. Offer a still that matches the grade, and put playable video behind an explicit tap when the footage matters.

Click-to-play vs background loop?

Use background loops for silent texture on desktop when budgets pass. Use click-to-play for music videos, narratives, and anything with sound or longer runtime.

How does this interact with Core Web Vitals?

Video mostly risks LCP (late largest element / heavy downloads), INP (main-thread and player jank), and CLS (resizing media). Keep the poster as LCP, reserve space, and confirm p75 field metrics — good targets remain LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1 per web.dev.

When is a still stronger than a loop?

When the still already carries brand and CTA, when mobile performance slips, when reduced-motion matters, or when the loop is decorative ego. A sharp frame plus craft motion often beats a soft autoplay wallpaper.

CTA

Film-grade sites earn motion — they do not tax every fan with a hero download.

Explore /websites or book a sprint at /contact?intent=websites-sprint.

Start a sprint