RULE: The LCP image always has explicit width/height + fetchpriority="high" + no lazy-loading
Created 2026-05-22
Rule: Every Candid Creative client page identifies its LCP element (typically the hero image) and ensures:
- Explicit
widthandheightattributes (prevents CLS) fetchpriority="high"attribute (raises Chrome's preload-scanner priority)- No
loading="lazy"(lazy-loading the LCP image is the #2 cause of LCP failure per Reference: the 8 most common LCP killers — ranked by observed frequency) - Modern format (WebP or AVIF — Google WebP Compression Study: WebP is 25-34% smaller than JPEG at equivalent SSIM (avg ~30%))
- Proper
srcset/sizesfor responsive serving - NOT hidden from preload scanner — never
data-src, never CSS background-image, never JS-injected URL
Why: The single largest cause of LCP failure is hero-image mishandling. Google's own test on Google Flights showed fetchpriority="high" alone moved LCP from 2.6s to 1.9s. Web Almanac 2025: 7% of sites still hide their LCP image from the preload scanner entirely.
How to apply:
- Use Next.js
<Image priority>on the hero (which setsfetchpriority="high"and disables lazy-loading) - For non-Next.js sites: hand-coded
<img>with all six properties - Verify with WebPageTest filmstrip: the hero image should be in the first batch of requests, before any third-party scripts
- Re-check after any plugin or theme update — defaults change