Zum Inhalt springen
Frontend-Optimierung

Produktgalerie und Zoom: schnelle Produktseite trotz Bildern

Produktgalerie und Zoom ohne Tempoverlust: erstes Bild eager und priorisiert, Folgebilder lazy, Zoom-Datei erst beim Klick, Variantenwechsel ohne Neuladen.

18 Min. Lesezeit LCPBildoptimierungProduktseiteShopware

Kurz und einfach erklärt

Auf einer Produktseite gibt es oft viele Bilder. Das erste große Bild ist meist das wichtigste. Es soll sofort laden.

Die anderen Bilder laden danach. Die kleinen Bilder in der Leiste sollen auch kleine Dateien sein.

Das große Bild für die Lupe lädt erst, wenn jemand auf das Bild klickt oder zeigt. So bleibt die Seite am Anfang schnell.

Ein Video zeigt zuerst nur ein Bild. Das Video lädt erst, wenn jemand es startet.

Wir prüfen Ihre Produktseite. Dann stellen wir die Bilder so ein, dass sie in der richtigen Reihenfolge laden.

Auf einer Produktseite tragen die Bilder einen großen Teil der Information: Material, Verarbeitung und Varianten erschließen sich häufig erst über Galerie und Zoom. Genau diese Bilder machen die Seite aber oft langsam: Galerien laden alle Ansichten auf einmal, holen die Zoom-Dateien in voller Auflösung schon beim Seitenaufruf oder setzen ausgerechnet das Hauptbild auf lazy. Dieser Beitrag ordnet, welches Bild wann laden sollte: das erste Galeriebild sofort und mit hoher Priorität, Folgebilder und Vorschauleiste danach, die Zoom-Datei erst bei der Interaktion. Dazu kommen Bildgrößen je Vorlage, ein Variantenwechsel, der nicht die ganze Galerie neu lädt, und Platzhalter für Videos und 360-Grad-Ansichten. Wo es um Shopware geht, stützen wir uns auf den Quellcode der Storefront in Version 6.7.

Das Wichtigste in Kürze

  • Auf 76 Prozent der mobilen Seiten ist das LCP-Element ein Bild (Web Almanac 2025). Auf der Produktseite ist das meist das erste Galeriebild: Es lädt eager, steht mit src im HTML und trägt fetchpriority="high".
  • Folgebilder im Galerie-Slider bekommen loading="lazy" und fetchpriority="low". Seit Chrome 121 gelten für horizontale Karussells dieselben Abstandsschwellen wie beim Scrollen (web.dev), lazy allein hält sie also nicht zurück.
  • Die Zoom-Datei steht nur als Adresse im Attribut und lädt erst bei Klick, Hover oder Fokus. Ausgeliefert wird besser die größte Vorschaustufe statt des Originals, und im Zoomfenster lädt das angeklickte Bild zuerst.
  • Bildgrößen werden je Vorlage festgelegt: Shopware legt für Produktmedien ab Werk Stufen mit 400, 800 und 1920 Pixeln an (Shopware-Quellcode). Miniaturen nehmen die kleinste Stufe, die Lupe die größte.
  • Ein Variantenwechsel lädt in der Shopware-Storefront die Seite der neuen Variante vollständig (Shopware-Quellcode). Wer nur die Galerie tauscht, hält ihren Container in fester Größe und lädt das Hauptbild der Variante beim Zeigen auf die Auswahl vor.
  • Videos und 360-Grad-Ansichten starten als Platzhalter mit Posterbild und preload="none". loading="lazy" für Videos unterstützen bislang nur Chrome und Edge ab Version 150 (MDN browser-compat-data).

Warum auf der Produktseite das erste Galeriebild zählt

Der Largest Contentful Paint misst, wann das größte sichtbare Element im ersten Bildschirm fertig gezeichnet ist. Auf 85,3 Prozent der Desktopseiten und 76 Prozent der mobilen Seiten ist dieses Element ein Bild (Web Almanac 2025). Auf einer Produktseite ist das in der Regel das erste Bild der Galerie: Es steht oben, nimmt auf dem Smartphone fast die ganze Breite ein und ist größer als Produktname, Preis und Kaufknopf. Wie schnell dieses eine Bild erscheint, bestimmt damit den LCP der ganzen Vorlage. Als gut gilt ein Wert von höchstens 2,5 Sekunden am 75. Perzentil der Seitenaufrufe.

Eine Galerie besteht aber selten aus einem Bild. Dazu kommen weitere Ansichten im Slider, eine Leiste mit Miniaturen, große Dateien für Lupe oder Vollbild, oft ein Produktvideo und manchmal eine 360-Grad-Ansicht. Alle diese Dateien konkurrieren in den ersten Sekunden um dieselbe Leitung. Drei Muster begegnen uns in Shop-Analysen regelmäßig: Die Galerie lädt alle Bilder sofort, sie holt die Zoom-Dateien schon beim Seitenaufruf, oder sie lädt ausgerechnet das Hauptbild lazy, per loading="lazy" oder per Skript über data-src. Das dritte Muster ist verbreitet: Etwa 16 bis 17 Prozent der Seiten laden ihr LCP-Bild lazy, ein Anteil, der sich seit 2024 kaum bewegt hat (Web Almanac 2025).

Abgrenzung

Warum ein Karussell auf der Startseite den LCP kostet, beschreibt der Beitrag Slider im Kopfbereich. Bildformate wie WebP und AVIF behandelt Bildoptimierung 2026, unscharfe Vorschaubilder der Beitrag zu LQIP und Blur-up. Hier geht es um die Galerie der Produktseite und die Frage, welches ihrer Bilder wann lädt.

Das Hauptbild: eager, früh entdeckt, hoch priorisiert

Für das erste Galeriebild gilt die Grundregel des Lazy Loading in umgekehrter Richtung. Bilder, die beim Laden wahrscheinlich im sichtbaren Bereich liegen, und vor allem LCP-Bilder werden nicht lazy geladen, so steht es im Leitfaden von web.dev. Die Begründung folgt dort gleich mit: Der Browser kann ein lazy markiertes Bild erst laden, wenn er weiß, wo es auf der Seite liegt, also nach dem Layout. Einen Hinweis auf die Größenordnung gab eine Auswertung von HTTP-Archive- und CrUX-Daten: Die mittlere Seite ohne Lazy Loading kam am 75. Perzentil auf einen LCP von 2.922 Millisekunden, die mittlere Seite mit Lazy Loading auf 3.546 Millisekunden (web.dev 2021). Die Autoren betonen selbst, dass das ein Zusammenhang ist und kein Nachweis, dass Lazy Loading die Verzögerung verursacht.

Use loading=lazy only for images outside the initial viewport.

web.dev, Browser-level image lazy loading for the web

Eager allein reicht nicht. Das Bild muss im HTML stehen, damit der Preload-Scanner des Browsers es findet, bevor CSS und JavaScript geladen sind. Ein <img> mit src und srcset im ausgelieferten Dokument erfüllt das. Ein Bild, das ein Galerie-Skript erst einfügt, eine Adresse in data-src oder ein CSS-Hintergrund erfüllen es nicht. Als Richtwert für eine gut optimierte Seite soll die Zeit zwischen dem ersten Byte und dem Start des LCP-Downloads, die Resource Load Delay, unter 10 Prozent des LCP liegen (web.dev). Wie Sie diese Teilzeiten messen, zeigt der Beitrag zu den vier Phasen des LCP.

Bleibt die Priorität. Chrome startet Bilder mit niedriger Priorität und hebt sichtbare Bilder erst nach dem Layout an. Seit Chrome 117 bekommen die ersten fünf großen Bilder einer Seite die Priorität Medium (web.dev). Auf einer Produktseite sind das oft genau die ersten fünf Galeriebilder, und das Hauptbild teilt sich die Leitung mit vier Ansichten, die noch niemand sieht. fetchpriority="high" am ersten Bild löst das auf. Auf 17 Prozent der mobilen Seiten mit LCP-Bild steht das Attribut inzwischen (Web Almanac 2025). Warum genau ein Element die hohe Priorität bekommt und nicht mehrere, beschreibt der Beitrag zu fetchpriority und Priority Hints.

product-gallery.html
<!-- Hauptbild: im HTML, eager, mit hoher Priorität -->
<div class="product-gallery" style="aspect-ratio: 1 / 1">
  <!-- Zoom-Datei nur als Adresse im Link, Link per Tastatur erreichbar -->
  <a class="gallery-zoom-link" href="/media/lamp-front-1920.webp"
     aria-label="Vorderansicht vergrößern">
    <img class="gallery-main"
         src="/media/lamp-front-800.webp"
         srcset="/media/lamp-front-400.webp 400w,
                 /media/lamp-front-800.webp 800w,
                 /media/lamp-front-1920.webp 1920w"
         sizes="(min-width: 1200px) 600px, 100vw"
         width="800" height="800"
         fetchpriority="high"
         alt="Tischlampe mit blauem Schirm, Vorderansicht">
  </a>

  <!-- Folgebilder: lazy und mit niedriger Priorität -->
  <img class="gallery-slide"
       src="/media/lamp-side-800.webp"
       srcset="/media/lamp-side-400.webp 400w,
               /media/lamp-side-800.webp 800w"
       sizes="(min-width: 1200px) 600px, 100vw"
       width="800" height="800"
       loading="lazy" fetchpriority="low"
       alt="Tischlampe, Seitenansicht">
</div>

<!-- Vorschauleiste: kleine Bildstufe, feste Maße -->
<button type="button" class="gallery-thumb" aria-label="Seitenansicht zeigen">
  <img src="/media/lamp-side-400.webp" width="80" height="80" alt="">
</button>

In der Shopware-Storefront ist die Grundlage dafür vorhanden. Das Galerie-Element lädt das erste Bild ohne Lazy Loading und setzt bei allen weiteren Bildern loading="lazy" (Shopware-Quellcode). fetchpriority="high" bekommt das erste Bild aber nur, wenn im Galerie-Element des Produktseiten-Layouts der Schalter „Erstes Bild priorisiert laden“ eingeschaltet ist, und in der Grundeinstellung des Elements ist er aus (Shopware-Quellcode). Wer die Layouts in den Erlebniswelten pflegt, sollte den Schalter in jedem Produktseiten-Layout prüfen. Weitere Hebel für Shopware-Shops beschreibt unsere Seite zur Shopware-Performance.

Folgebilder und Vorschauleiste: später und kleiner

Die übrigen Ansichten im Galerie-Slider bekommen loading="lazy". Wer erwartet, dass sie damit erst beim Wischen laden, wird allerdings überrascht. Seit Chrome 121 gelten für horizontal scrollende Bilder wie Karussells dieselben Abstandsschwellen wie für vertikales Scrollen (web.dev). Diese Schwellen liegen bei schneller Verbindung bei 1.250 Pixeln und bei langsamer Verbindung bei 2.500 Pixeln Abstand zum sichtbaren Bereich (web.dev). Die nächsten Folgebilder im Slider liegen meist innerhalb dieses Abstands. Sie laden also trotzdem, nur nach dem Layout statt sofort. Für den Besucher ist das angenehm, denn beim Wischen ist das nächste Bild in der Regel schon da. Der Preis: Die Downloads fallen in den Seitenaufbau.

Deshalb gehört zu den Folgebildern zusätzlich fetchpriority="low". web.dev empfiehlt das für Karussells ausdrücklich: Bilder knapp außerhalb des sichtbaren Bereichs können als nah genug gelten, auf hohe Priorität steigen und auch mit loading="lazy" laden; fetchpriority="low" hält sie hinter dem ersten Bild. Vorsicht beim umgekehrten Fehler: Auf 0,3 Prozent der Seiten trägt das LCP-Bild fetchpriority="low", laut Web Almanac vermutlich unbeabsichtigt (Web Almanac 2025). In Galerien passiert das, wenn ein Skript alle Slides gleich behandelt und das erste nicht ausnimmt.

Ein zweiter Fallstrick sind versteckte Bildsätze. Lazy geladene Bilder mit display: none laden Chrome, Safari und Firefox nicht, mit opacity: 0 versteckte dagegen schon (web.dev). Eine Galerie, die für Mobilgeräte und Desktop zwei Bildsätze ausliefert und einen davon nur durchsichtig macht, lädt beide.

Die Vorschauleiste ist auf dem Desktop meist im ersten Bildschirm sichtbar. Lazy Loading bringt dort wenig, denn die Miniaturen liegen ohnehin im Viewport. Der Hebel ist die Dateigröße: Eine Miniatur wird in der Breite angefragt, in der sie angezeigt wird, nicht in der des Hauptbilds. Shopware fordert die Miniaturen der Vorschauleiste mit einer Anzeigebreite von 200 Pixeln an (Shopware-Quellcode) und verzichtet dort bewusst auf loading="lazy". Der Grund steht als Kommentar im Template: Im Layout mit der Leiste links wartet der Slider, bis jedes Bild geladen ist, und Browser, die lazy Bilder zurückstellen, würden seinen Start blockieren (Shopware-Quellcode).

  • Feste Maße: width und height an jeder Miniatur, damit die Leiste beim Laden nicht springt. Die mittlere Webseite enthält zwei Bilder ohne Größenangabe (Web Almanac 2025).
  • Kleinste Bildstufe: Für eine schmale Leiste genügt die kleinste vorhandene Stufe. Wer sehr kleine Miniaturen zeigt, legt eine eigene, kleinere Größe an, statt Dateien für das Hauptbild zu verkleinern.
  • sizes="auto" für lazy Bilder: Bei lazy geladenen Bildern darf der Browser die Anzeigebreite aus dem Layout nehmen, statt sie aus einer sizes-Liste zu lesen. Das unterstützen Chrome ab Version 126, Firefox ab 150 und Safari ab 27 mit Einschränkungen (MDN browser-compat-data).
  • Miniaturen als Schaltflächen: Jede Miniatur ist ein <button> mit einem Bild darin und einer Beschriftung, kein Bild mit Klick-Handler. Das hält die Leiste per Tastatur bedienbar und kostet keine Ladezeit.

Zoom: die große Datei erst bei Interaktion

Zoom gehört in vielen Shops zur Grundausstattung der Produktseite. Die Datei dafür ist in der Regel die größte der Galerie. Lädt sie beim Seitenaufruf mit, konkurriert sie mit dem LCP-Bild um die Leitung, und das für eine Funktion, die nur ein Teil der Besucher nutzt. Arbeitet die Galerie mobil mit verkleinerten Bildern, braucht der Zoom eine höher aufgelöste Fassung, sonst vergrößert er nur die Unschärfe.

Lazy loading is a strategy to identify resources as non-blocking (non-critical) and load these only when needed.

MDN Web Docs, Lazy loading

Das Muster dafür ist einfach. Im HTML steht nur die Adresse der Zoom-Datei, etwa in einem Datenattribut oder im href eines Links um das Hauptbild. Geladen wird sie bei der ersten Interaktion: beim Klick oder Tippen, beim Überfahren mit der Maus und beim Fokus per Tastatur. Hover und Fokus sind dabei der Vorlauf, denn zwischen dem Zeigen auf das Bild und dem Klick vergeht etwas Zeit, die der Download schon nutzen kann. Damit der Klick trotzdem sofort reagiert, öffnet die Zoom-Ansicht mit dem bereits geladenen Hauptbild und tauscht die große Datei ein, sobald sie dekodiert ist.

gallery-zoom.js
// Zoom-Datei erst bei der ersten Interaktion laden
const link = document.querySelector('.gallery-zoom-link');
const main = link.querySelector('.gallery-main');
let zoomReady = null;

function preloadZoom() {
  if (zoomReady) return zoomReady;
  const img = new Image();
  img.fetchPriority = 'high';
  img.src = link.href;
  zoomReady = img.decode().then(() => img);
  return zoomReady;
}

// Vorlauf: Zeigen mit der Maus oder Fokus per Tastatur
link.addEventListener('pointerenter', preloadZoom, { once: true });
link.addEventListener('focus', preloadZoom, { once: true });

link.addEventListener('click', async (event) => {
  event.preventDefault();
  openZoomView(main.currentSrc);   // sofort mit dem geladenen Bild öffnen
  const large = await preloadZoom();
  showZoomImage(large.src);        // große Datei einsetzen, sobald dekodiert
});

So bleibt auch die Interaktion schnell. Interaction to Next Paint bewertet die Zeit von einer Eingabe bis zum nächsten gezeichneten Bild, als gut gelten höchstens 200 Millisekunden. Ein Klick-Handler, der erst auf eine große Datei wartet, bevor er etwas zeichnet, ist dafür der falsche Aufbau. Mehr zur Interaktionszeit steht im Beitrag INP optimieren.

Shopware folgt dem Prinzip in zwei Teilen. Die Lupe auf dem Desktop setzt die Datei aus dem Attribut data-full-image erst bei der Mausbewegung über dem Bild als Hintergrund ein (Shopware-Quellcode). In diesem Attribut steht allerdings die Adresse des Originals, also der hochgeladenen Datei, nicht die einer Vorschaustufe. Wer Produktfotos direkt aus der Kamera hochlädt, liefert der Lupe damit Dateien in voller Kameraauflösung. Das Vollbild-Zoomfenster lädt seine Bilder ebenfalls erst beim Öffnen und zeigt sich, sobald alle Bilder des Fensters geladen sind, im Code kommentiert mit „load images before modal is shown“ (Shopware-Quellcode). Bei vielen Produktbildern wartet der Klick damit auf jede Datei der Galerie. Beides lässt sich im Template ändern: die Lupe auf die größte Vorschaustufe zeigen lassen und im Zoomfenster zuerst das angeklickte Bild laden.

Für die Suche ändert sich dadurch wenig. Google findet Bilder über das src-Attribut von <img>-Elementen und indexiert keine CSS-Bilder (Google Search Central). Das Hauptbild bleibt ein normales <img> mit srcset, und die große Fassung lässt sich zusätzlich über eine Bild-Sitemap nennen.

Bildgrößen je Vorlage festlegen

Welche Datei ein Bild braucht, hängt an der Stelle, an der es steht, nicht am Produkt. Dasselbe Foto erscheint im Listing als Kachel, auf der Produktseite als Hauptbild, in der Leiste als Miniatur und in der Lupe in voller Größe. Shopware legt für Produktmedien ab Werk Vorschaustufen mit 400, 800 und 1920 Pixeln Kantenlänge an (Shopware-Quellcode). Das Galerie-Element meldet dem Browser über sizes die volle Bildschirmbreite bis zur mittleren Bildschirmgröße, danach 60 und 50 Prozent der Breite und auf sehr breiten Bildschirmen feste 800 Pixel (Shopware-Quellcode). Aus Anzeigebreite und Pixeldichte wählt der Browser die passende Stufe; auf einem breiten Desktop mit doppelter Pixeldichte ist das die 1920er-Stufe.

Für jede Vorlage lohnt sich deshalb eine kleine Übersicht: welche Stelle, welche Anzeigebreite, welche Stufe, welche Ladeweise. Für die Galerie der Produktseite sieht sie so aus:

ElementLadeweisePrioritätBildstufeZeitpunkt
Hauptbild (erstes Galeriebild)eager, mit src und srcset im HTMLfetchpriority="high"passend zu sizes und Pixeldichtesofort mit dem Dokument
Folgebilder im Sliderloading="lazy"fetchpriority="low"wie das Hauptbildnach dem Layout, vor dem Wischen
Vorschauleistemit width und heightStandardkleinste Stufemit der Seite
Zoom-Dateinur Adresse im Attributhoch, sobald angefordertgrößte Vorschaustufe statt Originalbei Hover, Fokus oder Klick
ProduktvideoPosterbild, preload="none"Poster wie ein FolgebildPoster in GaleriegrößeVideo erst beim Abspielen
360-Grad-AnsichtPlatzhalterbild mit StartknopfPlatzhalter wie ein FolgebildEinzelbilder in Galeriegrößeerst nach dem Start

Alle Bilder der Galerie brauchen dasselbe Seitenverhältnis, und der Container bekommt es über aspect-ratio oder feste Maße. Sonst springt der Inhalt darunter, sobald ein Bild mit anderem Format nachlädt. Wie stabile Shopseiten aufgebaut sind, beschreibt der Beitrag Cumulative Layout Shift vermeiden. Das Erzeugen der Stufen in WebP oder AVIF gehört zur Bildoptimierung, die wir für Shops übernehmen.

Variantenwechsel ohne Neuladen der ganzen Galerie

Wählt jemand eine andere Farbe, wechselt meist auch das Bild. In der Shopware-Storefront fragt die Produktseite dafür die Adresse der gewählten Variante ab und ruft sie dann als neue Seite auf (Shopware-Quellcode). Für den Browser ist das eine vollständige Navigation: neues Dokument, neue Galerie, neuer LCP. Liegt die Seite im HTTP-Cache, geht das schnell. Liegt sie dort nicht, wartet der Besucher auf den Server, und das mitten in einer Kaufentscheidung.

Die Alternative ist ein Teilwechsel: Die Seite bleibt stehen, und nur Galerie, Preis und Verfügbarkeit tauschen ihren Inhalt. Für die Galerie heißt das:

  1. Den Galerie-Container in fester Größe halten, damit beim Tausch nichts springt.
  2. Beim Zeigen auf eine Farbauswahl oder beim Fokus darauf das Hauptbild der Variante vorladen, mit hoher Priorität.
  3. Beim Wechsel nur src und srcset des Hauptbilds tauschen und die Folgebilder der Variante wieder lazy und mit niedriger Priorität nachladen.
  4. Bilder, die alle Varianten teilen, etwa Detailaufnahmen oder Maßzeichnungen, stehen lassen statt neu laden.
  5. Die Adresse der Variante über die History API setzen, damit Link, Zurück-Taste und Teilen weiter funktionieren.

Ein Teilwechsel hat Folgen für die Messung. Der neue Inhalt ist keine neue Seite, also misst der Browser für ihn keinen eigenen LCP. Shops, die so navigieren, sollten wissen, wie Soft Navigations gemessen werden; das behandelt der Beitrag Soft Navigations in CrUX. Ob sich der Umbau lohnt, entscheidet die Messung: Wie oft wechseln Besucher die Variante, und wie lange dauert der Wechsel heute?

Videos und 360-Grad-Ansichten als Platzhalter

Ein Produktvideo in der Galerie ist für den Seitenaufbau zunächst nur ein Bild, nämlich das Posterbild. Mit preload="none" lädt der Browser vom Video selbst nichts vor; MDN beschreibt den Wert knapp mit „Indicates that the video should not be preloaded“. Das Posterbild behandeln Sie wie ein Folgebild. loading="lazy" gibt es inzwischen auch für Videos, unterstützt wird es aber bislang nur von Chrome und Edge ab Version 150, nicht von Firefox und Safari (MDN browser-compat-data). Posterbild und preload="none" bleiben damit der browserübergreifende Weg; preload ist dabei ein Hinweis an den Browser, keine verbindliche Anweisung.

Eingebettete Player fremder Plattformen laden beim Einbinden ihr eigenes Skript und ihre eigenen Dateien, bevor jemand auf Abspielen drückt. Dafür gibt es das Fassaden-Muster: Ein statisches Element sieht aus wie der Player und wird erst beim Klick durch ihn ersetzt. Die Lighthouse-Dokumentation beschreibt den Ablauf vom Platzhalter beim Laden über den Verbindungsaufbau beim Überfahren bis zum Austausch beim Klick (Chrome for Developers). Mehr zu Videos auf Shopseiten steht im Beitrag Video-Performance.

Eine 360-Grad-Ansicht besteht meist aus einer Reihe von Einzelaufnahmen rund um das Produkt oder aus einem 3D-Modell. Beides gehört nicht in den Seitenaufbau. Die Galerie zeigt an dieser Stelle ein Standbild mit einem deutlich beschrifteten Startknopf, und erst der Klick lädt die Bildreihe oder das Modell, mit sichtbarem Fortschritt. Das Standbild hat die Maße der übrigen Galeriebilder, damit beim Start nichts springt. Für Besucher, die die Ansicht nicht starten, kostet sie so nur ein einziges Bild.

Prüfen: LCP-Element und Wasserfall der Produktseite

Ob die Galerie richtig lädt, zeigt ein Blick in die Entwicklerwerkzeuge des Browsers. Im Performance-Bereich steht, welches Element der Browser als LCP gewertet hat und wie sich die Zeit auf die vier Teilphasen verteilt. Im Netzwerk-Wasserfall lässt sich nach Bildern filtern: Das Hauptbild sollte gleich nach dem Dokument starten, die Folgebilder danach mit niedriger Priorität, und die Zoom-Datei taucht erst nach dem ersten Klick auf das Bild auf.

Labormessungen zeigen das Verhalten, Felddaten zeigen die Wirkung. Produktseiten sind Unterseiten, und dort liegt die Interaktion auf Mobilgeräten deutlich zurück: Mobil erreichen 80 Prozent der Startseiten einen guten INP, aber nur 69 Prozent der Unterseiten (Web Almanac 2025). Galerie-Skripte, Lupen und Variantenwahl sind typische Kandidaten dafür. Werten Sie deshalb die Produktvorlage getrennt aus, wie im Beitrag Vorlage statt Startseite beschrieben, und prüfen Sie LCP, CLS und INP am 75. Perzentil.

  • Das LCP-Element der Produktseite ist das erste Galeriebild und steht mit src oder srcset im HTML.
  • Das erste Bild trägt kein loading="lazy", dafür fetchpriority="high", und kein anderes Bild der Seite trägt high.
  • Folgebilder im Slider tragen loading="lazy" und fetchpriority="low".
  • Miniaturen sind kleine Bildstufen mit width und height.
  • Die Zoom-Datei fehlt im Wasserfall bis zur ersten Interaktion und ist eine Vorschaustufe, nicht das Original.
  • Videos haben ein Posterbild und preload="none", 360-Grad-Ansichten einen Platzhalter.
  • Ein Variantenwechsel lässt die Galerie in ihrer Größe stehen.

Bei einer Analyse gehen wir genau diese Liste für Ihre Produktvorlage durch, mit Laborwerten für Desktop und Mobilgeräte und, soweit vorhanden, mit CrUX-Felddaten Ihrer Produktseiten. Das Ergebnis ist eine Reihenfolge der Änderungen nach Wirkung, kein Pauschalpaket. Wie wir dabei vorgehen, steht unter technische Analyse; die Grundlagen der Messwerte erklärt unsere Seite zu den Core Web Vitals. Für Shops mit großen Sortimenten lohnt außerdem ein Blick auf PageSpeed im E-Commerce.

Quellen und Dokumentation

Dieser Artikel basiert auf Daten aus: HTTP Archive Web Almanac 2025 (Kapitel Performance); web.dev (Browser-level image lazy loading for the web; The performance effects of too much lazy loading, 2021; Optimize resource loading with the Fetch Priority API; Optimize Largest Contentful Paint); Shopware-Quellcode, Version 6.7.15.1 (Galerie-Element, Vorschaubild-Template, Lupe, Zoomfenster, Variantenwechsel, Standard-Vorschaustufen, Verwaltung); MDN browser-compat-data (img sizes auto, video loading); MDN Web Docs (video-Element, Lazy loading); HTML Living Standard (Images); Chrome for Developers (Lazy load third-party resources with facades); Google Search Central (Image SEO Best Practices).

Verwandte Artikel

Shops & CMS

Filter im Shop-Listing: schnelle Facetten ohne Wartezeit

Jeder Filterklick im Shop zählt zur INP. So bestätigen Sie den Klick sofort, rechnen Zähler sparsam, cachen Ergebnisse und bauen das Listing ruhig neu auf.

19 Min. Lesezeit
Core Web Vitals & Messung

Soft Navigations in CrUX: was SPA-Shops bis Mai 2027 prüfen

CrUX zeigt seit Oktober 2026 Core Web Vitals mit Soft Navigations. Wer betroffen ist, wie sich LCP, INP und CLS verschieben und was SPA-Shops bis Mai 2027 tun.

17 Min. Lesezeit
Server & Hosting

Aktionsstart um Mitternacht: Cache vorwärmen statt warten

Zum Aktionsstart wechseln die Preise, der Cache wird kalt. Vorwärmliste aus Felddaten und Sitemap, ein Zeitplan für die Nacht und die Trefferquote im Blick.

13 Min. Lesezeit