1. Home
  2. Blog
  3. Performance

Lazy Load WordPress Images Below the Fold and Preload the Hero for LCP

Performance

October 5, 2026

Someone lands on your WordPress homepage. The hero is still downloading a 4000px JPEG while twelve product thumbs below the fold race it for bandwidth. Largest Contentful Paint waits. Bounce rate does not. You did not need more plugins. You needed the browser to load the important image first and postpone the rest.

Lightify’s media optimizations do exactly that pair: lazy load images, video, and iframes below the fold, and preload the hero / critical LCP image so LCP lands sooner. Right-sized images stay part of the same story at a high level. You are not rewriting the theme. You are stopping media from fighting itself on first paint.

Lightify is the DaftPlug performance plugin. This post is only about lazy loading media and preloading the hero for LCP. Not YouTube facades (that is a separate Lightify media tool), not WebP conversion, not defer or delay JavaScript, not unused CSS, not fonts, not resource hints as the main topic, not speculative loading, not database cleanup, not bloat removal, not cache preload except as one sentence of context. Those live elsewhere. For adjacent first-paint work on scripts, keep WordPress defer render-blocking JavaScript nearby.

What Lightify actually ships here

Stay inside the real feature set:

  • Lazy load images, video, and iframes so below-the-fold media waits its turn
  • Preload the hero image so LCP lands sooner (critical LCP image prioritization)
  • High-level right-sized images messaging: no 4000px hero forced onto a phone when Lightify’s media story covers sensible sizing
  • Theme-agnostic layering over the builders and galleries you already run
  • A media-focused control surface inside Lightify rather than a pile of competing “lazy load” snippets

This post does not invent undocumented fetchpriority microcopy, custom IntersectionObserver thresholds, per-template LCP selectors Rankify-style, or claims that lazy load alone replaces a full cache stack. The product promise is lazy media plus hero preload for LCP. Stay there. Cache, JS defer, and WebP are parallel tools, not this article’s job.

Why lazy load plus hero preload matter together

LCP is usually an image on marketing pages. Homepages, landing pages, and product templates often lose Largest Contentful Paint on the hero. If that image is queued behind a waterfall of thumbs, embeds, and decorative media, your lab score and your real visitors both feel it.

Lazy load without preload can starve the hero. Turning on lazy loading globally and accidentally lazy-loading the LCP image is a classic own-goal. Lightify’s pairing exists so below-the-fold media waits while the critical image is preloaded and prioritized.

Bandwidth is a shared pipe. Phones on patchy LTE cannot download everything at once. Lazy loading iframes and video prevents a buried Vimeo or map embed from competing with the fold. Preload tells the browser which image is the VIP.

Builders multiply media. Page builders, WooCommerce galleries, and related-product carousels inject dozens of images. Manual loading="lazy" on every block does not scale. A plugin-level media pass does.

Right-sizing multiplies the win. Preloading a 4000px desktop PNG onto a 390px-wide phone still hurts. Lightify’s media story includes right-sized delivery at a high level. Pair preload with sensible source dimensions so LCP is both early and light.

You avoid snippet wars. Three “lazy load” plugins plus a theme option plus a CDN transform create double-lazy attributes and broken images. One Lightify media pass is easier to reason about than five half-configured tools.

How to enable lazy load and hero preload in wp-admin

Assume Lightify is installed and you are not running a second media-optimization plugin that also rewrites every <img>.

1. Find the real LCP element before you flip toggles

On your money templates (home, key landing, top product):

  1. Open a mobile viewport in DevTools or WebPageTest.
  2. Note which image (or text block) is LCP on a typical first visit.
  3. Confirm it is above the fold for real phones, not only for your ultrawide monitor.

If LCP is a heading, image work still helps weight and CLS, but hero preload is for when the LCP candidate is an image. Do not preload a decorative logo if the true LCP is a full-bleed banner.

2. Open Lightify media optimizations

In wp-admin, open Lightify and find the media controls for lazy load images, video, and iframes and preload the hero image. Enable lazy loading for below-the-fold media. Enable hero / critical image preload so LCP can land sooner. Keep YouTube preview / facade, WebP conversion, defer JS, unused CSS, and speculative loading off this pass unless they are already stable and understood.

3. Protect the hero from lazy-load own-goals

Confirm the preloaded hero is not also deferred as a lazy candidate in a way that delays paint. The whole point of the Lightify pair is: critical image early, everything else late. Spot-check the HTML on the homepage: the hero should be prioritized; thumbs in lower sections should lazy load.

4. Right-size before you celebrate

  1. Replace absurd source files (a 5MB PNG hero) with a sane export.
  2. Confirm the theme or builder is not forcing a giant full-size attachment into a small slot.
  3. Re-measure LCP after preload. If the file is still huge, preload just starts a heavy download earlier.

Lightify can prioritize and lazy-load. It cannot invent pixels that were never optimized upstream.

5. Test on a phone-shaped connection

  1. Load the homepage on a throttled mobile profile.
  2. Confirm the hero appears early enough that LCP moves in the right direction.
  3. Scroll into galleries and related posts. Confirm images appear as you approach them rather than all at once on first paint.
  4. Open a page with a buried iframe or video. Confirm it is not competing on first load the way it did before.
  5. Spot-check cart, checkout, and account if your theme injects media there. Dynamic pages should not break because a lazy attribute landed on a critical icon.

If a page builder also injects its own lazy library, disable or reconcile it. Double wrappers cause blank images until scroll jank reveals them.

6. Keep script work as a parallel track

Deferring render-blocking JavaScript helps first paint. It is not a substitute for media prioritization. Do script defer in its own pass (see the related Lightify post). Mixing every performance toggle in one afternoon makes regressions impossible to attribute.

What good looks like

  • Below-the-fold images, video, and iframes lazy load under Lightify.
  • The hero / critical LCP image is preloaded so LCP lands sooner on money templates.
  • You did not accidentally lazy-load the LCP image into oblivion.
  • Right-sized sources back the preload (no 4000px phone hero celebrated as “optimized”).
  • YouTube facade, WebP, defer/delay JS, unused CSS, fonts, resource hints, speculative loading, database cleanup, and bloat removal were not required for this win.
  • A teammate can load the homepage on a phone and see the hero before the footer gallery finishes downloading.
  • Cart and checkout still render icons and trust badges correctly.

If lab LCP improves but Search Console field data does not move for weeks, remember field data lags and traffic mix matters. Still ship the correct media behavior now.

Pitfalls (the ones that bite)

Lazy-loading the LCP image. The failure mode this pairing exists to prevent. Verify the hero is prioritized.

Preloading three “heroes.” Preload is for the critical image. Preloading a logo, a banner, and a slider slide wastes bandwidth and confuses prioritization.

Treating lazy load as a substitute for compression. A lazy 8MB PNG is still an 8MB PNG when it finally loads.

Ignoring iframes and video. A buried map or promo video can wreck mobile bandwidth even when images look fine.

Stacking three lazy-load plugins. Duplicate attributes and broken placeholders are common. Pick Lightify’s media pass and turn the others off.

Celebrating desktop Lighthouse only. LCP pain is usually mobile. Test a phone-shaped viewport and throttle.

Bundling WebP, YouTube facade, and defer JS into the same change window. When something breaks, you will not know which toggle did it.

Forgetting builder-critical images above the fold. Some templates put a secondary image in a sticky header that becomes LCP. Identify the real element first.

Assuming cache preload fixes LCP. A warm HTML cache helps TTFB. It does not prioritize the hero image inside that HTML. One sentence of context: keep cache preload as infrastructure, not as this media fix.

Practical checklist before you call it done

  1. Identify the LCP element on home and one key landing template (mobile).
  2. Enable Lightify lazy load for images, video, and iframes.
  3. Enable Lightify preload for the hero / critical LCP image.
  4. Confirm the hero is not delayed by a competing lazy rule.
  5. Right-size absurd source files feeding that hero.
  6. Throttle a mobile test and watch the hero versus below-fold galleries.
  7. Spot-check a page with iframe or video embeds.
  8. Disable duplicate theme/builder lazy libraries that fight Lightify.
  9. Leave YouTube facade, WebP, defer JS, unused CSS, fonts, speculative loading, and database cleanup for separate passes if needed.
  10. Re-measure after the next homepage redesign. Heroes change. Preload targets must follow.

Takeaway

WordPress pages lose LCP when every image competes and the hero loses. People feel that wait before they read a word. The fix is not another generic “optimize images” checkbox without priorities. It is Lightify media optimization: lazy load images, video, and iframes below the fold, and preload the hero so LCP lands sooner, with right-sized sources backing the request.

Lightify pairs that media work with the rest of the performance stack when you need it, without forcing you to solve JavaScript, CSS, and images in the same panicked hour. Prioritize the hero. Postpone the rest. Measure on a phone.

One Pro membership unlocks Lightify plus Progressify, Generatify, Rankify, and Snapshotify. New Pro plugins join existing memberships. Plans differ by site count only (Pro $37.99 for 1 site, Pro Plus $74.99 for 5, Pro Max $138.99 for 100), with a 14-day money-back guarantee. See pricing when the fold should paint the important image first instead of downloading the entire gallery up front.

Enable lazy load and hero preload. Reload the homepage on a phone. When the hero wins the race and the footer media waits its turn, LCP stopped being a mystery metric and became a deliberate media policy.