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, solltest du die nativen Lazy-Loading-Attribute von HTML nutzen.

<video
    src="{{ section.settings.video_url }}"
    poster="{{ section.settings.poster_image | img_url: '1200x' }}"
    loading="lazy"
    preload="none"
    muted
    playsinline
    loop
>
    Your browser doesn't support 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 Nutzer mit dem Player interagiert. Ohne dies laden Browser oft Metadaten oder sogar die ersten Sekunden des Videos vor, was Bandbreite verschwendet.

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

Verwandt: Bilder in Shopify per Lazy Loading laden.


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

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

Das Facade-Pattern: Ersetze das iframe durch ein klickbares Vorschaubild (Thumbnail). Wenn der Besucher auf Play klickt, wird das Bild durch das eigentliche iframe ersetzt.

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="Play video">
        <!-- Play icon SVG here -->
    </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: Ersetze img.youtube.com/vi/ID/maxresdefault.jpg durch die URL eines Vimeo-Thumbnails und aktualisiere die Embed-URL auf https://player.vimeo.com/video/ID?autoplay=1.

Verwandt: Animierten Content in Shopify hinzufügen.

Verwandt: Ein Shopify-Theme schneller machen.

Einfachere Option: Nutze die Web-Component Lite YouTube Embed (eine beliebte Open-Source-Bibliothek), 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 sichtbaren Bereich gescrollt wird.

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) {
                // Load the video
                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)

Nutze dies mit <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): Ein Hintergrundvideo im Hero-Bereich wird ohnehin sofort geladen, da es bereits sichtbar ist. Nutze in diesem Fall preload="metadata" statt preload="none", damit sich der Browser darauf vorbereitet, das Video schnell abzuspielen.

Baue schnelle Shopify-Video-Sections, indem du sie Fudge beschreibst.
Try Fudge for Free

Verwandt: Video zu einer Shopify-Produktgalerie hinzufügen.


Solltest du überhaupt Videos in Shopify verwenden?

Ein Video lohnt sich, wenn:

Ein Video lohnt sich nicht, wenn:

Ziehe GIF-Alternativen in Betracht. Für kurze Looping-Clips (2-5 Sekunden) ist ein MP4-Video mit autoplay muted loop normalerweise 60-80 % kleiner als ein vergleichbares GIF, sieht aber identisch aus.


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, bei korrekter Implementierung nicht. Google verarbeitet per Lazy-Loading geladene Inhalte problemlos, wenn Standardtechniken (natives loading="lazy", Intersection Observer mit sinnvollen Thresholds) verwendet werden. Der SEO-Gewinn liegt in der besseren Geschwindigkeit — die Core Web Vitals verbessern sich, was ein weiches Ranking-Signal ist. Vermeide Lazy-Loading für Inhalte Above the Fold.

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 das iframe komplett durch ein Thumbnail, bis es angeklickt wird — das iframe und seine Skripte laden erst, wenn der Nutzer es wirklich will. Bei YouTube/Vimeo-Embeds spart das Facade-Pattern drastisch mehr Gewicht (über 200 KB an Skripten) als natives Lazy-Loading. Der sauberste Weg, es hinzuzufügen, ohne das JavaScript selbst schreiben zu müssen: Beschreibe Fudge was du möchtest ("wende das Facade-Pattern auf alle YouTube-Embeds der gesamten Seite an") und es generiert die passende Section nativ für dein Theme.

Sollte ich das Hero-Video per Lazy-Loading laden?

Nein. Der Hero-Bereich ist Above the Fold und Lazy-Loading von Inhalten, die der Nutzer sofort sehen soll, sorgt nur für ein verzögertes Rendering. Nutze preload="metadata" für Hero-Videos, um das Abspielen vorzubereiten, ohne direkt die komplette Datei herunterzuladen. Lazy-Loading ist für Videos Below the Fold gedacht.

Können Autoplay-Videos trotzdem per Lazy-Loading geladen werden?

Ja — verzögere das iframe/Video über den Intersection Observer, bis die Section in den Viewport rückt, und löse dann das Autoplay aus. Browser verlangen, dass Autoplay-Videos stummgeschaltet (muted) sind, unabhängig davon, wann sie laden. Das Muster: Das Video gar nicht erst laden, bis es sichtbar wird, und dann automatisch stummgeschaltet abspielen, sobald es geladen ist.

Wie überprüfe ich, ob Videos wirklich per Lazy-Loading geladen werden?

Öffne die Chrome DevTools → Network (Netzwerk) Tab → filtere nach "media". Lade die Seite neu und beobachte, was beim ersten Rendern im Vergleich zum Scrollen geladen wird. Korrekt per Lazy-Loading geladene Videos tauchen erst im Network-Tab auf, wenn du in ihre Nähe scrollst. PageSpeed Insights markiert nicht per Lazy-Loading geladene Videos zudem als "Nicht sichtbare Bilder aufschieben" (defer offscreen images).

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

You might also be interested in

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.
So behebst du Render-blocking Scripts in Shopify (2026)
Behebe renderblockierende Skripte in Shopify. Füge defer- und async-Attribute hinzu, nutze Section-scoped JS und verschiebe nicht-kritische Skripte nach unten.
Ungenutzten Code in Shopify entfernen (2026)
Entferne ungenutztes JavaScript, CSS und Theme-Dateien aus Shopify. Nutze den Theme Inspector, um langsame Assets und verwaiste Snippets zu finden, die die Performance bremsen.