Zum Inhalt springen
Newsroom

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.

4 min LesezeitShopware
Artikel anhören0:00

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.

Beitrag teilen

Dominik Rieken

Über den Autor

Dominik Rieken

Founder, Pixzl

Ich bin Gründer von Pixzl, einer Digitalagentur mit Software-Fokus aus dem Münsterland. Wir bauen eigene Apps und entwickeln für Kunden. Hier schreibe ich über die Praxis dahinter.