Skip to content

SEO / GEO4 min read

How to Implement Native Lazy Loading on Iframes in Webflow

Learn how to enable native lazy loading on iframes in Webflow to improve your Core Web Vitals and reduce your pages’ initial load time.

Iframes (YouTube videos, Google Maps, embedded forms) are among the heaviest assets on a web page. Without lazy loading, they all load on the initial page load, even if the user never sees them. Sandro, cofounder of the Gemeos Webflow agency, shows you how to fix that.

Why iframes hurt your performance

By default, a YouTube iframe loads several hundred KB of scripts, styles, and assets as soon as the page opens. On a page with 2 or 3 embedded YouTube videos, that often means 1 to 3 MB of resources loaded for nothing for users who never scroll down to those elements. The impact on LCP (Largest Contentful Paint) and TBT (Total Blocking Time) is direct.

1. Turn on native lazy loading on a Webflow iframe

In Webflow, native iframes (the Video element) don’t let you add the loading attribute directly in the interface. Use an "HTML Embed" element instead and add loading="lazy" manually.

<iframe
  src="https://www.youtube.com/embed/YOUR_ID"
  loading="lazy"
  width="100%"
  height="480"
  frameborder="0"
  allowfullscreen
><!--</span-->iframe>

2. Use the placeholder technique for YouTube

Native lazy loading delays the load, but it still loads the full iframe as soon as the user gets close. The YouTube placeholder technique is even more effective: it replaces the iframe with a static image (the YouTube thumbnail) and only loads the player on click.

<iframe src="https://www.youtube.com/embed/VOTRE_ID?autoplay=1" style="position:absolute;top:0;left:0;width:100%;height:100%" frameborder="0" allowfullscreen></iframe><div style="position:relative;padding-bottom:56.25%;cursor:pointer;" onclick="this.innerHTML=''">
  <img
    src="https://img.youtube.com/vi/VOTRE_ID/maxresdefault.jpg"
    loading="lazy"
    style="position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;"
    alt="Video title"
  >
<!--</span-->div>

Replace VOTRE_ID with the YouTube video ID (the part after "watch?v=" in the YouTube URL). Also check out our dedicated guide: reduce the weight of the YouTube video player.

TechnicalInitial weight reductionComplexity
loading="lazy" on iframeModerateVery simple
Placeholder image + click-to-loadVery high (saves 500KB+ per video)Simple
lite-youtube-embed libraryVery highModerate

Conclusion

Lazy loading on iframes is one of the fastest performance optimizations to implement. On a page with several videos, the LCP gain can be significant.

  • Use case 1: homepage with a presentation video above the fold replaced by a placeholder
  • Use case 2: testimonials page with several client videos loaded lazily
  • Use case 3: blog posts with YouTube videos embedded in Rich Text

Published on May 21, 2026

Alexandre Baverel

Alexandre Baverel is Head of Sales at Gemeos. With nearly 8 years of experience in SEO and business development, he helps companies grow by combining visibility, acquisition, and conversion. His approach allows him to align marketing strategy with business performance.

You're going to working with us, guaranteed

Ready to launch your business?

get a quote

Let’s f*****G GO !!