Lazy Loading für Videos in Shopify (2026)

Zuletzt aktualisiert
Von Experten geprüft
5 Min. Lesezeit
Jacques Blom
Jacques Blom
CTO bei Fudge.

Wichtigste Erkenntnisse

  • Native Video-Elemente sollten loading="lazy" und preload="none" verwenden, um das automatische Herunterladen von Videodaten zu verhindern.
  • YouTube- und Vimeo-Embeds nutzen ein “Facade-Pattern” – sie zeigen ein anklickbares Thumbnail und laden den Iframe erst beim Klick.
  • Hintergrundvideos sollten erst geladen werden, wenn die Section in den sichtbaren Bereich gescrollt wird, nicht direkt beim Seitenaufruf.
  • Nicht optimierte Videos sind eine der Hauptursachen für langsame Ladezeiten in Shopify-Stores.

Videos in einem Shopify-Store können super ansprechend sein – Produktdemos, Brand-Filme, How-to-Content. Aber Videos gehören auch zu den schwersten Assets im Web. Ein einziges, nicht optimiertes Video-Embed kann deine Ladezeit um Sekunden verlängern, selbst für Besucher, die nur daran vorbeiscrollen, ohne es anzusehen.

Lazy Loading für Videos ist die Lösung.

So fügst du Lazy Loading zu nativen Videos in Shopify hinzu

Für selbst gehostete Videodateien, die in das Asset-System von Shopify oder ein CDN hochgeladen wurden, sollten Sie die nativen Lazy Loading-Attribute von HTML verwenden.

<video
    src="{{ section.settings.video_url }}"
    poster="{{ section.settings.poster_image | img_url: '1200x' }}"
    loading="lazy"
    preload="none"
    muted
    playsinline
    loop
>
    Ihr Browser unterstützt kein Video.
</video>

Wichtige Attribute:

loading="lazy" — weist den Browser an, das Laden der Videoquelle zu verzögern, bis sie benötigt wird.

preload="none" — verhindert, dass der Browser Videodaten herunterlädt, bevor der Benutzer mit dem Player interagiert. Ohne dieses Attribut rufen Browser oft vorab Video-Metadaten oder sogar die ersten Sekunden des Videos ab, was Bandbreite verschwendet.

poster — zeigt ein Standbild an, solange das Video noch nicht geladen ist. Fügen Sie dies immer hinzu. Ohne Poster sehen Besucher ein leeres graues Rechteck, bis das Video lädt. Das Poster-Bild sollte vorab geladen werden (kein Lazy Loading dafür verwenden).

Passend dazu: Lazy Load Images in Shopify.


Das Fassaden-Muster für YouTube- und Vimeo-Embeds

YouTube- und Vimeo-iFrames gehören zu den größten Performance-Problemen in Shopify-Stores. Jeder einzelne lädt mehrere Megabyte an Skripten von den YouTube/Vimeo-Servern, selbst wenn der Besucher das Video gar nicht ansieht.

Das Facade Pattern: Ersetzen Sie den iFrame durch ein anklickbares Thumbnail-Bild. Wenn der Besucher auf Play klickt, ersetzen Sie das Bild durch den eigentlichen iFrame.

Hier ist eine einfache Implementierung:

<div class="video-facade" data-video-id="YOUR_YOUTUBE_ID">
    <img
        src="https://img.youtube.com/vi/YOUR_YOUTUBE_ID/maxresdefault.jpg"
        alt="Video-Thumbnail"
        loading="lazy"
        style="width:100%; cursor:pointer;"
    />
    <button class="video-play-btn" aria-label="Video abspielen">
        <!-- Play-Icon-SVG hier -->
    </button>
</div>
document.querySelectorAll(".video-facade").forEach(function (facade) {
    facade.addEventListener("click", function () {
        var videoId = facade.dataset.videoId
        var iframe = document.createElement("iframe")
        iframe.src = "https://www.youtube.com/embed/" + videoId + "?autoplay=1"
        iframe.allow = "autoplay; encrypted-media"
        iframe.style.width = "100%"
        iframe.style.height = "100%"
        facade.replaceWith(iframe)
    })
})

Für Vimeo: Ersetzen Sie img.youtube.com/vi/ID/maxresdefault.jpg durch eine Vimeo-Thumbnail-URL und aktualisieren Sie die Embed-URL auf https://player.vimeo.com/video/ID?autoplay=1.

Passend dazu: So fügst du animierte Inhalte in Shopify hinzu (2026).

Passend dazu: So beschleunigst du ein Shopify-Theme (2026).

Einfachere Option: Verwenden Sie das Web Component Lite YouTube Embed (eine beliebte Open-Source-Library), die das Facade Pattern mit einem einzigen HTML-Element umsetzt.


Lazy Loading für Hintergrundvideos

Hintergrundvideos (die Art, die automatisch als dekoratives Element hinter Text abgespielt wird) sind besonders verschwenderisch, wenn sie für jeden Besucher geladen werden, der auf der Seite landet.

Ansatz: Video erst laden, wenn die Section in den Sichtbereich scrollt.

var videoSection = document.querySelector(".hero-video-section")
var videoEl = videoSection.querySelector("video")

var observer = new IntersectionObserver(
    function (entries) {
        entries.forEach(function (entry) {
            if (entry.isIntersecting) {
                // Video laden
                var source = videoEl.querySelector("source")
                if (source && source.dataset.src) {
                    source.src = source.dataset.src
                    videoEl.load()
                    videoEl.play()
                }
                observer.disconnect()
            }
        })
    },
    { threshold: 0.1 },
)

observer.observe(videoSection)

Verwenden Sie dies mit einem <source data-src="..."> anstelle von <source src="...">, um zu verhindern, dass der Browser die Videoquelle herunterlädt, bevor der Intersection Observer auslöst.

Für die Hero-Section (Above the fold): Hintergrundvideos im Hero-Bereich laden ohnehin sofort – sie sind bereits sichtbar. Verwenden Sie in diesem Fall preload="metadata" anstelle von preload="none", damit der Browser das Video für ein schnelles Abspielen vorbereitet.

Erstellen Sie schnelle Shopify-Videosektionen, indem Sie diese Fudge beschreiben.
Try Fudge for Free

Passend dazu: So fügen Sie ein Video zur Shopify-Produktgalerie hinzu (2026).


Solltest du überhaupt Videos in Shopify verwenden?

Videos lohnen sich, wenn:

Videos lohnen sich nicht, wenn:

Erwäge GIF-Alternativen. Für kurze Looping-Clips (2–5 Sekunden) ist ein MP4-Video mit autoplay muted loop in der Regel 60–80 % kleiner als ein gleichwertiges GIF bei identischer Optik.


Auswirkungen der Videoleistung prüfen

Lass die URL deiner Produkt- oder Startseite durch PageSpeed Insights laufen. Eingebettete Videos führen oft zu diesen Warnungen:

Nachdem du das Facade-Pattern implementiert hast, lass PageSpeed noch einmal laufen – du solltest Verbesserungen sowohl beim Score als auch bei der Total Blocking Time sehen.


FAQ

Schadet das Lazy Loading von Videos meiner Shopify-SEO?

Nein, wenn es richtig umgesetzt wird. Google kommt gut mit Lazy-Loaded-Content klar, solange Standardtechniken (natives loading="lazy", Intersection Observer mit vernünftigen Thresholds) genutzt werden. Der SEO-Vorteil ist die bessere Performance – die Core Web Vitals Scores verbessern sich, was ein Soft-Ranking-Signal ist. Vermeide es, Content 'above the fold' zu lazy-loaden.

Was ist der Unterschied zwischen dem Facade-Pattern und nativem Lazy Loading?

Natives loading="lazy" verzögert das Laden, bis das Video in der Nähe des Viewports ist. Das Facade-Pattern ersetzt den Iframe komplett durch ein Thumbnail, bis darauf geklickt wird – der Iframe und seine Skripte laden nur bei User Intent. Bei YouTube/Vimeo-Embeds spart das Facade-Pattern deutlich mehr Gewicht (200KB+ an Skripten) als natives Lazy Loading. Der sauberste Weg, das hinzuzufügen, ohne das JavaScript selbst schreiben zu müssen: Beschreibe einfach in Fudge, was du brauchst ("wende das Facade-Pattern auf alle YouTube-Embeds der Seite an"), und es generiert dir die passende native Section für dein Theme.

Sollte ich das Hero-Video lazy-loaden?

Nein. Der Hero-Bereich ist 'above the fold', und Lazy Loading von Content, den der User sofort sieht, sorgt nur für ein verzögertes Rendering. Nutze preload="metadata" für Hero-Videos, um das Playback vorzubereiten, ohne direkt die komplette Datei herunterzuladen. Lazy Loading ist für Videos 'below the fold' gedacht.

Können Autoplay-Videos trotzdem lazy-loaded werden?

Ja – verzögere den Iframe bzw. das Video, bis die Section über einen Intersection Observer in den Viewport kommt, und triggere dann das Autoplay. Browser verlangen, dass Autoplay-Videos stummgeschaltet (muted) sind, egal wann sie laden. Das Pattern: Lade das Video gar nicht, bis es sichtbar ist, und starte dann das Autoplay gemutet, sobald es geladen ist.

Wie überprüfe ich, ob Videos wirklich lazy-loaded werden?

Öffne die Chrome DevTools → Network-Tab → nach "media" filtern. Lade die Seite neu und vergleiche, was beim initialen Rendering geladen wird vs. beim Scrollen. Richtig umgesetzte Lazy-Loaded-Videos tauchen im Network-Tab erst auf, wenn du in ihre Nähe scrollst. PageSpeed Insights markiert nicht-lazy-loaded Videos zudem oft als "defer offscreen images".

Jacques's signature
Baue schnelle Shopify-Sections mit ordentlichem Video-Handling, indem du sie einfach beschreibst.

You might also be interested in

Fix für Hero-Banner Eager Loading in Shopify (2026)
Fixe lazy-loaded Hero-Banner-Bilder in Shopify. Bearbeite theme.liquid und Section-Dateien, um loading=eager, fetchpriority=high und rel=preload hinzuzufügen.
CSS und JavaScript in Shopify minifizieren (2026)
Wie Shopify die CSS- und JS-Minifizierung automatisch handhabt, wann du dennoch manuell minifizieren musst und die besten Tools für Custom Code Blöcke.
So beschleunigst du ein Shopify-Theme (2026)
Beschleunige deinen Shopify-Store mit Bildkompression, Lazy Loading, App-Bereinigung und Fixes für Render-blocking Scripts. Starte mit den effektivsten Maßnahmen.