Shopware 6 Performance optimieren – so wird dein Shop schneller
Shopware 6 Performance optimieren: 10 Maßnahmen für schnellere Ladezeiten, bessere Core Web Vitals und mehr Conversions in deinem Online-Shop.

Warum Geschwindigkeit im E-Commerce alles entscheidet
Jede Sekunde Ladezeit kostet Conversion. Google hat es gemessen: Von 1 auf 3 Sekunden steigt die Absprungrate um rund 30 %. Von 1 auf 5 Sekunden sind es schon 90 %. Ein langsamer Online-Shop verbrennt schlicht Geld.
Shopware 6 basiert auf dem Symfony-Framework, nutzt Elasticsearch, Twig-Templates und eine eigene Data Abstraction Layer. Das alles braucht Ressourcen. Mit den richtigen Stellschrauben ist das System aber verdammt schnell.
1. Production-Modus aktivieren
Der häufigste Fehler in Live-Shops: Der Development-Modus ist noch aktiv. Im Dev-Modus schreibt Shopware Debug-Logs, deaktiviert Caching und kompiliert Templates bei jedem Request neu.
In der .env:
APP_ENV=prod
APP_DEBUG=0
Danach Cache neu aufbauen:
bin/console cache:clear
bin/console cache:warmup
Wichtig: Dieser eine Schritt allein kann die Ladezeit halbieren. Prüfe das als Erstes.
2. HTTP-Cache und Reverse Proxy
Shopware 6 bringt einen eingebauten HTTP-Cache mit. Aktiviere ihn in der .env:
SHOPWARE_HTTP_CACHE_ENABLED=1
SHOPWARE_HTTP_DEFAULT_TTL=7200
Für Shops mit höherem Traffic lohnt sich ein Reverse Proxy wie Varnish davor. Varnish liefert gecachte Seiten direkt aus dem RAM, ohne dass PHP oder die Datenbank überhaupt angesprochen werden.
| Caching-Methode | TTFB | Für wen |
|---|---|---|
| Kein Cache | 500–2000ms | Nie in Production |
| Shopware HTTP-Cache | 50–200ms | Standard-Shops |
| Varnish | 5–30ms | High-Traffic-Shops |
3. PHP optimieren
Shopware 6 läuft auf PHP, und die PHP-Konfiguration entscheidet über die Grundgeschwindigkeit.
OPcache aktivieren und konfigurieren:
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0
validate_timestamps=0 bedeutet, dass PHP Dateien nicht bei jedem Request auf Änderungen prüft. In Production ist das sicher. Nach einem Deployment machst du einen cache:clear.
PHP-Version: Mindestens PHP 8.2, besser 8.3. Gegenüber PHP 7.4 bringt das je nach Workload 30–40 % schnellere Ausführung.
Memory Limit: Shopware braucht mindestens 512 MB. Für Shops mit vielen Produkten oder Plugins: 1 GB.
memory_limit=512M
4. Datenbank-Performance
Shopware 6 nutzt MySQL/MariaDB intensiv. Jede Produktseite, jeder Filter, jeder Warenkorb löst Datenbankabfragen aus.
MySQL-Konfiguration optimieren:
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=2
query_cache_type=0
innodb_buffer_pool_size sollte 50–70 % des verfügbaren RAMs sein. Das ist der wichtigste einzelne MySQL-Parameter.
Indexierung aktuell halten:
bin/console dal:refresh:index
bin/console es:index
Führe das nach größeren Produktimports oder Kategorieänderungen aus. Veraltete Indizes verlangsamen Listing-Seiten spürbar.
5. Elasticsearch einsetzen
Ohne Elasticsearch laufen alle Produkt-Suchen und Filter über MySQL. Bei tausenden Produkten wird das langsam. Elasticsearch ist für Shopware 6 optional, ab ca. 500 Produkten aber eine klare Empfehlung.
SHOPWARE_ES_ENABLED=1
SHOPWARE_ES_INDEXING_ENABLED=1
SHOPWARE_ES_INDEX_PREFIX=sw6
SHOPWARE_ES_HOSTS=localhost:9200
Danach den Index aufbauen:
bin/console es:index
bin/console es:reset
bin/console es:index
Ergebnis: Suchseiten und gefilterte Listings laden 3–10x schneller.
6. Bilder optimieren
Produktbilder sind der größte Teil der Seitengröße. Shopware generiert automatisch Thumbnails, die Grundkonfiguration ist aber oft nicht optimal.
Thumbnail-Größen prüfen: Administration → Einstellungen → Medien. Lösche nicht benötigte Thumbnail-Größen und regeneriere:
bin/console media:generate-thumbnails
WebP aktivieren: Seit Shopware 6.5 können Thumbnails als WebP generiert werden, das spart 25–40 % gegenüber JPEG.
Lazy Loading: Shopware-Themes laden Bilder standardmäßig lazy. Prüfe, ob dein Custom-Theme das nicht überschreibt.
7. Storefront-Assets minimieren
Die Storefront lädt CSS und JavaScript. Mit jedem Plugin kommt mehr dazu.
Theme kompilieren:
bin/console theme:compile
Das minimiert und kombiniert CSS/JS automatisch. Im Production-Modus wird das optimiert gebaut.
Nicht genutzte Plugins deaktivieren: Jedes aktive Plugin registriert Event-Listener, lädt Assets und führt Datenbankabfragen aus, auch wenn der Kunde es nie sieht.
Fonts lokal hosten: Google Fonts über den Google-Server zu laden kostet einen zusätzlichen DNS-Lookup und eine TCP-Verbindung. Lade die Schriften herunter und binde sie lokal ein.
8. CDN für statische Assets
Ein CDN liefert Bilder, CSS, JS und Fonts vom nächstgelegenen Server aus. Shopware 6 unterstützt CDNs nativ über die shopware.yaml:
shopware:
filesystem:
public:
url: "https://cdn.dein-shop.de"
Cloudflare ist der einfachste Einstieg: kostenloser Plan, DNS-basiertes Setup, automatische Komprimierung.
9. Admin-Performance verbessern
Nicht nur die Storefront zählt. Ein langsames Admin-Panel frustriert dein Team und kostet Arbeitszeit.
Admin-Worker deaktivieren: Standardmäßig laufen Shopware-Worker im Browser des Admin-Users. Das verlangsamt das Panel und ist in Production nicht empfohlen:
shopware:
admin_worker:
enable_admin_worker: false
Stattdessen einen CLI-Worker als Cronjob einrichten:
# Cronjob alle 30 Sekunden
* * * * * /usr/bin/php /var/www/shop/bin/console messenger:consume --time-limit=30
* * * * * sleep 30 && /usr/bin/php /var/www/shop/bin/console messenger:consume --time-limit=30
Scheduled Tasks:
bin/console scheduled-task:run
Auch das gehört in einen Cronjob, nicht in den Admin-Worker.
10. Messen, nicht raten
Optimiere gezielt statt blind. Tools für Shopware-Performance:
| Tool | Was es misst |
|---|---|
| PageSpeed Insights | Core Web Vitals (LCP, INP, CLS) |
| Shopware Profiler | DAL-Queries, Event-Listener, Template-Rendering |
| Blackfire.io | PHP-Profiling bis auf Funktionsebene |
bin/console debug:event-dispatcher |
Registrierte Event-Listener pro Event |
| New Relic / Datadog | Server-Monitoring in Echtzeit |
Tipp: Aktiviere den Symfony Profiler im Staging (APP_ENV=dev) und analysiere die langsamsten Requests. Oft sind es 2–3 Queries, die 80 % der Ladezeit verursachen.
Fazit
Shopware 6 Performance ist kein Glücksspiel. Fang beim Production-Modus an, schalte den HTTP-Cache ein, konfiguriere PHP und MySQL sauber. Für große Kataloge kommt Elasticsearch dazu. Damit allein liegt dein Shop in den meisten Fällen unter 2 Sekunden Ladezeit.
CDN, Asset-Optimierung und Admin-Worker sind Feinschliff. Miss vor und nach jeder Änderung. Nur so weißt du, was tatsächlich wirkt.
Dieser Artikel wurde zuletzt am 15. März 2026 aktualisiert.