Zum Inhalt springen
Zurück zum Blog
E-Commerce10 min

JTL-Shop schneller machen: Der Performance-Guide

Template-Altlasten, zu viele Plugins, unoptimierte Bilder, fehlender Objektcache: Die typischen Bremsen im JTL-Shop und wie Sie sie konkret beheben — inklusive Messwerkzeuge und Hosting-Frage.

webpowers Team

4. September 2026

Warum Ladezeit auch bei JTL-Shop direkt Umsatz ist

Ladezeit ist kein rein technisches Detail, sondern wirkt an zwei Stellen gleichzeitig auf den Umsatz. Erstens auf die Conversion: Nutzer, die auf einer langsamen Produkt- oder Kategorieseite warten, brechen häufiger ab, bevor sie überhaupt zum Warenkorb-Button scrollen. Der genaue Effekt variiert je nach Branche und Zielgruppe, die Richtung ist aber seit Jahren durch Google, unabhängige UX-Untersuchungen und die alltägliche Erfahrung im E-Commerce belegt.

Zweitens auf das Ranking: Google wertet die Core Web Vitals — Largest Contentful Paint (LCP), Interaction to Next Paint (INP) und Cumulative Layout Shift (CLS) — als bestätigten Rankingfaktor. Google definiert dafür Zielwerte: LCP unter 2,5 Sekunden, INP unter 200 Millisekunden, CLS unter 0,1. Ein Shop, der diese Werte reißt, wird bei sonst vergleichbarem Content tendenziell schlechter platziert als ein technisch saubererer Wettbewerber.

Bei JTL-Shop kommt eine Besonderheit hinzu: Anders als bei SaaS-Shopsystemen liegt die technische Verantwortung für Server, PHP-Version und Caching-Konfiguration vollständig beim Betreiber beziehungsweise dessen Hosting-Partner. Es gibt kein Plattform-Team im Hintergrund, das globale Performance-Verbesserungen automatisch ausrollt — jede Optimierung muss aktiv vorgenommen werden. Das macht Performance-Pflege bei JTL-Shop wichtiger, aber auch besser steuerbar, weil Sie direkten Zugriff auf alle relevanten Stellschrauben haben.


Bremse 1: Template- und Child-Template-Altlasten

Das Problem: JTL-Shop 5 liefert mit NOVA ein solides Standard-Template aus, das auf Bootstrap aufbaut. Individuelle Anpassungen gehören in ein davon abgeleitetes Child-Template — in der Praxis wird aber häufig direkt in NOVA eingegriffen oder ein Child-Template über Jahre mit immer mehr Sonderfällen angereichert, ohne alte, nicht mehr genutzte Anpassungen zu entfernen. Das Ergebnis: aufgeblähtes CSS, überschüssige Smarty-Templates, die bei jedem Seitenaufruf mitkompiliert werden, und JavaScript-Reste aus längst abgelösten Funktionen.

Die Behebung:

  • Prüfen, ob Anpassungen tatsächlich im Child-Template liegen und nicht direkt in NOVA — direkte NOVA-Änderungen gehen bei Updates verloren und deuten meist auch strukturell auf gewachsenen statt geplanten Code hin.
  • Child-Template-Verzeichnis durchgehen und Dateien identifizieren, die nur noch überschriebene Kopien ohne echte funktionale Abweichung von NOVA sind — diese lassen sich entfernen, damit NOVA-Updates wieder greifen.
  • CSS und JavaScript im Child-Template konsolidieren statt über Jahre neue Snippets anzuhängen, ohne alte zu entfernen.
  • Smarty-Compile-Cache nach größeren Template-Änderungen leeren, damit keine veralteten kompilierten Templates ausgeliefert werden.

Bremse 2: Zu viele Plugins

Das Problem: Jedes installierte Plugin kann eigene Hooks, eigenes JavaScript und eigenes CSS einbinden — teils global auf jeder Seite, auch wenn die Funktion nur an einer Stelle gebraucht wird (etwa ein Bewertungs-Widget, das nur auf Produktseiten sichtbar sein müsste, aber shopweit lädt). Deaktivierte, aber nicht deinstallierte Plugins bleiben zusätzlich oft im System liegen und werden je nach Konfiguration weiterhin mitgeladen.

Die Behebung:

  • Plugin-Liste regelmäßig durchgehen und alles deinstallieren, was nicht mehr aktiv genutzt wird — reines Deaktivieren reicht bei vielen Plugins nicht aus, um Assets vollständig zu entfernen.
  • Bei Plugins, die behalten werden sollen, aber nur auf bestimmten Seiten wirken: prüfen, ob die Einbindung auf die tatsächlich benötigten Seitentypen begrenzt werden kann, statt shopweit zu laden.
  • Nach jeder Plugin-Installation die Ladezeit erneut testen — so lässt sich direkt zuordnen, welches Plugin welchen Effekt hat, statt später mühsam rückwirkend zu suchen.
  • Plugins bevorzugen, die sauber über die JTL-Shop-Plugin-Schnittstelle arbeiten, statt Kernfunktionen des Shops direkt zu überschreiben — das reduziert Wechselwirkungen und erleichtert spätere Updates.

Bremse 3: Unoptimierte Produktbilder

Das Problem: Produktbilder kommen häufig direkt aus JTL-Wawi oder vom Hersteller in voller Auflösung und werden unverändert in den Shop übernommen. Auf der Produktseite herunterskaliert ausgeliefert, aber in voller Originalgröße geladen, verschwendet das Bandbreite und verzögert den LCP — meist ist das Hauptproduktbild ohnehin das größte Element der Seite.

Die Behebung:

  • Bildgrößen bereits vor dem Import in die Wawi oder spätestens vor der Übernahme in den Shop auf sinnvolle Maximalmaße zuschneiden, statt auf reine Downscale-Anzeige im Frontend zu vertrauen.
  • Moderne Bildformate (WebP, wo verfügbar auch AVIF) prüfen und, sofern Server beziehungsweise Template dies nicht automatisch übernehmen, aktiv einrichten.
  • Lazy Loading für Bilder unterhalb des sichtbaren Bereichs sicherstellen (loading="lazy") — bei aktuellen NOVA-Versionen meist vorhanden, bei stark angepassten oder älteren Child-Templates manuell prüfen.
  • Feste Bildmaße beziehungsweise Aspect-Ratio-Boxen im Template setzen, damit nachladende Bilder keinen Layout-Shift verursachen und die CLS-Werte sauber bleiben.

Bremse 4: Fehlendes Caching und fehlender Objektcache

Das Problem: JTL-Shop bringt eigene Cache-Mechanismen mit — unter anderem für kompilierte Templates und für wiederkehrend abgefragte Daten wie Kategoriebäume oder Filteroptionen. Ist der Objektcache nicht korrekt konfiguriert oder läuft er auf einer ungeeigneten Backend-Technologie, wird bei jedem Seitenaufruf mehr direkt aus der Datenbank neu berechnet, als eigentlich nötig wäre. Gerade bei Shops mit vielen Kategorien, Filtern und Artikeln macht sich das deutlich in der Antwortzeit bemerkbar.

Die Behebung:

  • Prüfen, ob ein Objektcache-Backend (etwa Redis oder Memcached, je nach Hosting-Angebot) aktiv und korrekt an JTL-Shop angebunden ist, statt im Standardmodus ohne persistenten Objektcache zu laufen.
  • Cache-Einstellungen im Backend regelmäßig kontrollieren — nach größeren Sortiments- oder Kategorieänderungen kann ein gezieltes Cache-Leeren nötig sein, ein dauerhaft deaktivierter Cache aus Sorge vor veralteten Daten ist dagegen selten die richtige Lösung.
  • Änderungen an Cache-Einstellungen zuerst auf einer separaten Staging-Umgebung testen, bevor sie produktiv gehen — Caching-Fehler wirken sich sofort und für alle Besucher gleichzeitig aus, wenn sie live ausprobiert werden.
  • Browser-Caching für statische Assets (CSS, JavaScript, Bilder) über passende HTTP-Header sicherstellen, damit wiederkehrende Besucher nicht bei jedem Seitenaufruf alles neu laden.

Bremse 5: Hosting und Time to First Byte (TTFB)

Das Problem: Selbst ein perfekt optimiertes Frontend hilft wenig, wenn der Server für die erste Antwort schon zu lange braucht. Ein hoher TTFB entsteht häufig durch Shared Hosting mit zu wenig zugewiesenen Ressourcen, eine veraltete PHP-Version, eine nicht optimierte Datenbank oder schlicht durch einen Server, der für die aktuelle Shopgröße längst zu klein dimensioniert ist.

Die Behebung:

  • Aktuelle PHP-Version sicherstellen — neuere PHP-Versionen bringen spürbare Performance-Verbesserungen gegenüber älteren Releases, unabhängig von jeder Shop-eigenen Optimierung.
  • Datenbank-Indizes und Abfragen bei sehr großen Artikelbeständen im Blick behalten, insbesondere wenn eigene SQL-Anpassungen oder Plugins zusätzliche Abfragen einführen.
  • TTFB regelmäßig separat von der Gesamtladezeit messen, um zu erkennen, ob eine Bremse serverseitig oder im Frontend liegt — beide Ursachen brauchen unterschiedliche Lösungen.

Die konkreten Anforderungen und Hosting-Typen für JTL-Shop haben wir ausführlich in unserem Artikel zum JTL-Shop Hosting beschrieben.


Messwerkzeuge: Womit Sie den Ist-Zustand prüfen

PageSpeed Insights (Google): Liefert sowohl Labor-Daten aus einer einzelnen Lighthouse-Messung als auch — bei ausreichendem Traffic — reale Felddaten aus der Chrome User Experience Data. Die Felddaten sind aussagekräftiger, weil sie tatsächliche Geräte und Verbindungen echter Besucher abbilden statt eine einzelne Testmessung unter Laborbedingungen.

Google Search Console: Der Bericht zu den Core Web Vitals zeigt, welche URL-Gruppen im Feld auffällig sind, und macht sichtbar, ob Probleme eher Produktseiten, Kategorieseiten oder die Startseite betreffen. Das hilft, Optimierungen dort anzusetzen, wo sie den größten Teil des Traffics betreffen.

Browser-Entwicklertools: Der Netzwerk-Tab zeigt, welche einzelnen Ressourcen (Bilder, Skripte, Fonts) am längsten brauchen oder blockierend geladen werden — oft lässt sich so ein einzelnes überdimensioniertes Bild oder ein synchron eingebundenes Skript als Hauptursache identifizieren, statt an mehreren Stellen gleichzeitig zu vermuten.

Praxis-Tipp: Änderungen an Template, Plugins oder Cache-Konfiguration erst auf einer Staging-Umgebung testen und messen, bevor sie live gehen. So lässt sich der Effekt einer einzelnen Maßnahme sauber nachvollziehen, statt mehrere Änderungen gleichzeitig live auszurollen und hinterher nicht mehr zuordnen zu können, welche davon tatsächlich gewirkt hat.


Wann Optimierung reicht — und wann ein Hosting-Wechsel sinnvoll wird

Template bereinigen, Plugins ausmisten, Bilder optimieren und Caching korrekt konfigurieren reicht in der Regel aus, wenn:

  • Das Hosting grundsätzlich ausreichend dimensioniert ist und der TTFB auch nach Optimierung im akzeptablen Bereich liegt
  • Die identifizierten Bremsen klar auf einzelne Ursachen zurückführbar sind (bestimmte Plugins, bestimmte Bildgrößen, fehlender Objektcache)
  • Nach den Einzelmaßnahmen eine spürbare Verbesserung in PageSpeed Insights und im Search-Console-Bericht sichtbar wird

Ein Hosting-Wechsel wird sinnvoller, wenn:

  • Der TTFB trotz aktueller PHP-Version und bereinigtem Objektcache dauerhaft hoch bleibt, weil der Server für die aktuelle Shopgröße schlicht zu klein dimensioniert ist
  • Shared-Hosting-Ressourcen mit anderen Kunden geteilt werden und die Performance dadurch schwankt, unabhängig von der eigenen Shop-Konfiguration
  • Wichtige Bausteine wie ein persistenter Objektcache oder aktuelle PHP-Versionen beim aktuellen Anbieter gar nicht oder nur eingeschränkt verfügbar sind

Details zu Systemvoraussetzungen, Hosting-Typen und der Frage, worauf es bei der JTL-Wawi-Anbindung ankommt, finden Sie in unserem Artikel zum JTL-Shop Hosting.


Fazit

Performance ist bei JTL-Shop kein einmaliges Projekt, sondern eine laufende Aufgabe, die mit jedem neuen Plugin, jeder Template-Anpassung und jedem wachsenden Artikelbestand neu geprüft werden sollte. Der wirksamste Ansatz kombiniert regelmäßige Messung mit gezielten Einzelmaßnahmen an Template, Plugins, Bildern und Caching — und zieht die Hosting-Frage erst dann in Betracht, wenn diese Stellschrauben ausgeschöpft sind, der Server aber weiterhin die Bremse bleibt.

Brauchen Sie Unterstützung bei der Performance-Optimierung Ihres JTL-Shops?

Als Agentur mit Schwerpunkt auf JTL-Shop analysieren wir Template, Plugins, Caching und Hosting systematisch und setzen die wirksamsten Maßnahmen priorisiert um.

Kostenloses Erstgespräch vereinbaren →


Weiterführende Artikel


Dieser Artikel wird regelmäßig aktualisiert. Letzte Überarbeitung: September 2026

webpowers Team

Unser Experten-Team teilt Insights aus über €2M verwaltetem Ad Spend und Erfahrung aus zahlreichen E-Commerce-Projekten.

Mehr über uns

Bereit für bessere Ergebnisse?

Wir helfen Ihnen gerne, diese Strategien für Ihr Unternehmen umzusetzen. Vereinbaren Sie ein kostenloses Beratungsgespräch.