AI marketingFor founders & in-house teams

Optimizing Images for Core Web Vitals: The LCP Bottleneck

A 2.5s delay on your hero image kills conversion rates. Fix your LCP and CLS scores with a technical image optimization framework.

By Vannor · Researched, written and reviewed by the Vannor EngineAug 15, 2026 · 6 min read
Optimizing Images for Core Web Vitals: The LCP Bottleneck
Listen to this post0:00 / 0:00

A high-intent buyer lands on your page, but for the first three seconds, they see a blank white void where your product should be. By the time the hero image finally snaps into view, they have already decided your site is unreliable and hit the back button. This is the reality of a failing Largest Contentful Paint (LCP) score.

LCP measures when the largest element—usually a hero image or a headline—becomes visible in the viewport. When that image is a 4MB uncompressed JPEG, your LCP score bleeds. Per Google's documentation via web.dev, optimizing long tasks and eliminating resource load delays are critical to moving the needle on these metrics. The psychological gap between "perceived performance" (how fast it feels) and "actual load time" (the technical clock) is where you lose revenue. If the page feels broken because the main visual is lagging, the user doesn't care if the rest of the HTML loaded in 200ms.

The Image Format Hierarchy: Moving Beyond JPEG

Using JPEG for every asset is a relic of 2010. In a production environment, the goal is to minimize the payload without introducing visible artifacts. This is the tension between lossy compression (removing data to save space) and lossless compression (perfect reproduction). For most marketing sites, "perceptually lossless" is the target—where the human eye can't tell the difference, but the file size is 60% smaller.

SVG is mandatory for iconography. Because SVGs are XML-based vectors, they scale infinitely and reduce the number of HTTP requests needed to load a suite of icons. For photographs, the industry has moved toward WebP and AVIF. As noted by SitePoint, serving modern formats is a primary lever for moving the needle on performance in 2026.

FormatCompression TypeRelative SizeBest ForSkip If...
AVIFLossy/LosslessSmallestHero images, high-detail photosYou need support for very old browsers
WebPLossy/LosslessSmallGeneral web use, product shotsYou aren't using a CDN to handle fallbacks
PNGLosslessLargeTransparent backgrounds, screenshotsThe image has complex gradients or photos
JPEGLossyMediumLegacy fallbackYou have the option to use WebP/AVIF
SVGVectorTinyLogos, icons, simple illustrationsThe image is a complex photograph

The AVIF Advantage

AVIF offers significantly better compression than WebP, often reducing file sizes by another 20-30% while maintaining higher color accuracy. It is the current gold standard for LCP elements.

When PNG is Still Mandatory

If your design requires a transparent background for a product cutout that must look crisp on any background color, PNG is the only safe bet. However, these should be aggressively compressed using tools like OptiPNG to avoid payload bloat.

See where your site stands. Real PageSpeed scores and 20+ on-page checks, free. Run the free audit →

Eliminating Layout Shift with Explicit Dimensions

Cumulative Layout Shift (CLS) is the "jitter" users feel when a page jumps as images load. This happens because the browser doesn't know how much space to reserve for an image until the file arrives. If you don't define the width and height, the browser assumes 0px, then suddenly pushes the entire page down 600px once the image renders.

The most effective way to combat this is by adding explicit dimensions to all images and iframes. This allows the browser to create a placeholder box, keeping the rest of the content stable.

Step-by-Step: Stopping the Jump

  1. Add Width and Height Attributes: In your HTML, add width="1200" height="600". This establishes the aspect ratio.
  2. Apply CSS aspect-ratio: Use aspect-ratio: 2 / 1; in your CSS. This ensures the container maintains the correct shape regardless of the screen size.
  3. Audit Lazy-Loading: Ensure you are NOT lazy-loading your LCP image. Using loading="lazy" on a hero image tells the browser to wait, which destroys your LCP score.
  4. Set Fetch Priority: Add fetchpriority="high" to your hero image tag. This tells the browser to move this asset to the front of the queue, bypassing less critical scripts.

Implementing a Responsive Image Strategy

Sunlight pierces through morning fog in a dense pine forest, casting sharp volumetric beams across w

Serving a 2000px wide image to a user on an iPhone 13 is a waste of bandwidth and a hit to your conversion rate. A responsive strategy ensures the browser downloads the smallest version of the image that will look sharp on that specific screen.

This is handled via the srcset and sizes attributes. Instead of one src, you provide a list of options. The browser then picks the best one based on the device's pixel density and viewport width. For "art direction"—where you want a different crop for mobile than for desktop—the <picture> element is the correct tool.

Worked Example: The Mobile Bandwidth Tax Imagine a SaaS landing page with a hero image.

  • The "One-Size" Approach: A single 1200px wide JPEG (approx 450KB) is served to everyone.
  • The Responsive Approach:
    • Desktop: 1200px (450KB)
    • Tablet: 800px (180KB)
    • Mobile: 400px (70KB)

For a mobile user, you've reduced the payload from 450KB to 70KB—an 84% reduction in data. When multiplied by 10,000 visitors, you've saved gigabytes of bandwidth and shaved milliseconds off the load time, which is essential for improving page load speed.

Beware of JavaScript sliders that "double-load" images—loading a low-res placeholder and then a high-res version via JS. This often triggers two separate network requests and can confuse the browser's LCP calculation.

Automating the Pipeline: CDN vs. Manual Compression

Golden hour sun slices through dense morning fog, creating distinct volumetric beams that illuminate

Manual optimization is a losing game. If your workflow involves a designer exporting an image, running it through TinyPNG, and then uploading it to WordPress, you have a bottleneck. The moment a marketing manager uploads a raw 5MB photo from their phone, your LCP score collapses.

The shift is from manual compression to an autonomous infrastructure. Image CDNs (like Cloudinary or Imgix) act as a proxy. You upload one high-resolution "master" image, and the CDN handles the rest via URL parameters.

The Automation Framework: The "Manual vs. Autonomous" Test Ask these three questions about your current image workflow:

  1. Does a human have to "Save for Web" before an image goes live?
  2. Do you manually create different versions for mobile and desktop?
  3. If you changed your site's primary image format to AVIF today, would you have to re-upload every asset?

The Rule: If you answered "Yes" to 2 or more, you are operating with technical debt. You need an image proxy.

A dedicated image CDN provides "on-the-fly" optimization. It detects the user's browser; if it supports AVIF, the CDN serves AVIF. If it's an old version of Safari, it serves WebP or JPEG. This removes the need for manual fallback coding and ensures every user gets the fastest possible version of the asset.

The Core Web Vitals Image Audit

Golden hour sunlight pierces through morning fog, striking dew-laden spiderwebs on a weathered woode

You cannot fix what you haven't measured. Most teams rely on a general "the site feels slow" observation, but you need a surgical list of offending assets. This requires moving beyond the surface level and into the browser's network layer.

PageSpeed Insights is the starting point, specifically the "Properly size images" and "Serve images in next-gen formats" warnings. But the real truth is in the Chrome DevTools Network tab.

The Image Performance Checklist

Checklist0 of 5 done

Related reading: Core Web Vitals Checklist for Marketers · Core Web Vitals Don't Lower Your CPC · Core Web Vitals for Digital Marketing

Next step

Try it on your own site

Run the free audit on one page: real speed scores and on-page checks, with the fixes in order.

Frequently asked questions

What is the best image format for LCP?

AVIF is the most efficient for file size and quality, though WebP is a strong, widely supported alternative.

Why does my page jump when images load?

This is Cumulative Layout Shift (CLS), caused by missing width and height attributes that prevent the browser from reserving space.

Should I lazy-load my hero image?

No. Lazy-loading the LCP element delays its appearance and negatively impacts your LCP score.

Every post here was written by Vannor. Researched, written and reviewed by the Vannor Engine on our own infrastructure.How the engine works →
Share
Engines online

Get posts like this published for you.

Connect your site and set your brand rules. The engine researches, writes, reviews and publishes, on hardware we own.

Partner access · We'll reply as soon as we can