Shopware 5 - Wie Du Deine Shop Geschwindigkeit optimierst

Shopware 5 - Wie Du Deine Shop Geschwindigkeit optimierst

Ewald Gering 23. Februar 2017 19

Wie Du die Geschwindigkeit Deines Shopware 5 Shops schon mit ein paar kleinen Tricks verbessern kannst, zeigen wir Dir in diesem Beitrag.

Heute stellen wir Dir 10 Möglichkeiten vor, um die Ladezeit Deines Shopware Shops zu optimieren.

Wie Du die Shopware Performance ausführlich optimierst, schau Dir diesen Beitrag einmal an: Shopware Performance optimieren

Wichtige Punkte die man bezüglich der Shopware Geschwindigkeit beachten muss

  1. Shopware Hosting
  2. Webserver Nginx
  3. PHP 7.x
  4. MySQL 5.6.x
  5. Bytecode-Cache
  6. Cache aktivieren
  7. Cache leeren (Cron)
  8. Cache aufwärmen (Cron)
  9. Sauberes Theme
  10. Theme Konfiguration

Shopware Hosting

Prinzipiell kann man mit den Shopware zertifizierten Hostern nicht viel falsch machen.

Diese kennen sich nicht nur in Sachen Hosting aus, sondern sind auch auf Shopware spezialisiert. Dadurch ist eine Fehlersuche meist einfacher durchzuführen und somit das Problem auch schneller zu lösen.

Dennoch gibt es spezielle Punkte die es bei den Server/Hosting Paketen zu beachten gibt. Folgende Software ist ideal für die Geschwindigkeit Deines Onlineshops.

Gerne kannst Du auch auf unser Hosting zurückgreifen. Durch die Kooperation mit einem großen Hosting Partner können wir Dir hier eine optimale Lösung anbieten.

Webserver Nginx

Der Webserver Nginx ist performanter als der allbekannte Apache Webserver, da dieser mehrere HTTP Requests in einem Thread abarbeiten kann.

Für Dich bedeutet das, dass Dein Shop mit der gleichen Hardware schneller arbeiten kann und dadurch mehr Traffic abarbeiten kann. Andersherum gesehen kannst Du den gleichen Traffic mit weniger Hardware abarbeiten und damit Geld einsparen.

PHP 7.x

Die PHP Version "7" gibt es zwar schon länger, doch erst seit einigen Monaten in Verbindung mit dem IonCube Loader kompatibel. Dieser wird benötigt, um verschlüsselte Plugins aus dem Store zu nutzen.

Im Vergleich mit PHP 5.0 ist PHP 7 ganze 14-mal schneller und mit PHP 5.6 verglichen immerhin doppelt so schnell.

Was musst Du bei der Umstellung auf PHP 7 beachten?
1. Bei Deinem Hoster nachfragen, ob er PHP 7 unterstützt und den IonCube Loader aktiviert hat, bzw. wie Du diesen aktivieren kannst.
2. Die bisherigen Plugins, die für PHP 5.x verschlüsselt wurden müssen neu aus dem Store heruntergeladen werden. Dazu gehört auch der Lizenz-Manager!

MySQL 5.6.x oder Maria DB

MySQL ist ein Datenbankverwaltungssystem. Es bearbeitet die Anfragen, die z. B. über PHP reinkommen und gibt entsprechende Werte an PHP zurück. Die neueste produktiv Version von MySQL beschleunigt also die Datenverarbeitung Deines Servers.

MariaDB ist ein sogenanntes Fork (Abspaltung) von MySQL. Es ist einiges schneller als die MySQL Datenbank, was sich aber erst ab sehr großen Datenmengen bemerkbar macht.

Bytecode-Cache

bytecode-cache

Informationen welcher Cache aktiv ist, findest Du unter "Perfomance > Einstellungen > Performance checks"
Die oben zu sehenden Caches kannst Du bei Deinem Server/Hosting Paket installieren/aktivieren.

Cache aktivieren

Du solltest für Deinen live Shop auf jeden Fall den HTTP Cache unter "Perfomance > Einstellungen > HTTP-Cache" aktivieren. Dazu gehört auch, dass der Shop unter Perfomance > Start" in den Produktivmodus gesetzt wird.

Cache leeren (Cron)

Den Cache kannst Du über einen Cronjob automatisch leeren lassen.

Den zugehörigen Cronjob findest Du in den Grundeinstellungen unter "System > Cronjobs" mit dem Namen "HTTP Cache löschen". Am besten eignet sich eine Zeit Nachts wie z. B. 3 Uhr. Manuell kann man den Cache auch über das Performance Modul leeren.

Cache aufwärmen (Cron)

Es gibt hier wieder die manuelle Möglichkeit über das Performance Modul "Perfomance > Einstellungen > HTTP-Cache" den Cache manuell aufzuwärmen. 

ShopwareCachePerformance


ShopwareCacheAufwaermen

Aber wer möchte das gerne immer wieder per Hand machen und das am besten noch Nachts? Daher können wir hierfür auch einen eigenen Cronjob anlegen.

Wie legst Du einen eigenen Cronjob an? Das Ganze wurde hier bereits erklärt. Der Befehl um den Cache aufzuwärmen lautet "php bin/console sw:warm:http:cache". Dieser sollte am besten ein paar Minuten nach dem leeren des Caches aufgerufen werden. In dem vorherigen Beispiel wird der Cache um 03:00 gelöscht, also soll der Cache um 03:05 wieder aufgewärmt werden.

Sauberes Theme

Die Geschwindigkeit des Frontends wird oft durch schlecht entwickelte Themes verlangsamt. Zu oft sehen wir Themes, die nicht richtig ableiten und somit werden die Dateien doppelt und dreifach geladen.

Dieser Prozess kostet Zeit, Zeit die wir, Du und Deine Kunden nicht haben. Also solltest Du Dich beim Entwickeln immer an die Shopware/Smarty/Less Regeln halten. Mehr dazu findest Du hier (Smarty) und hier (Less).

Theme Konfiguration

Deine Theme Konfiguration im Live Shop, sollte auf jeden Fall folgende Optionen gesetzt haben.

theme-konfiguration

Das "Compiler Caching" muss auf jeden Fall aktiviert bleiben. Dies solltest Du am besten nur deaktivieren, wenn Du an Deinem Theme oder Plugin arbeitest.

Die CSS und JavaScript Dateien sollten komprimiert werden, damit der Shop diese als eine einzelne Datei cachen kann und der Browser des Nutzers im Frontend nur eine Datei laden muss.

Was genau haben wir nun optimiert?
1. Das Hosting Paket und die passende Software.
2. Der Cache wurde aktiviert und wird automatisch aktualisiert.
3. Das Theme ist sauber abgeleitet und komprimiert.

Mit diesen wenigen kleinen Anpassungen kannst Du schon einiges an Geschwindigkeit für Deinen Shop rausholen.

19 Kommentare

  • Hallo! Ich habe deinen Beitrag über Shopware Performance gelesen. Das ist sehr wichtig für jeden Shopbesitzer. Eine schnelle Ladezeit ist entscheidend für den Erfolg. Als ich meinen eigenen Shop gestartet habe, hatte ich auch Probleme mit der Geschwindigkeit am Anfang. Es hat mich viel Zeit gekostet um alles einzustellen.

    Plugins habe ich auch ausprobiert, aber manche waren nicht gut und haben den Shop langsamer gemacht. Am meisten geholfen haben kleinere Bilder und die Datenbank zu optimieren. Danach lief alles viel besser und schneller. Die Kunden waren glücklich und haben mehr gekauft.

    Für neue Shopbesitzer finde ich diese Tipps sehr nützlich. Aber am wichtigsten ist es, immer weiter an Verbesserungen zu arbeiten. Die Technik ändert sich so schnell, also muss man dran bleiben. Wenn du noch Fragen hast, nur zu! Ich helfe gern. Viel Erfolg mit deinem Shop!
  • Hey Zibtek,

    super, danke dir!

    Gruss
    Alexander
  • Hallo,

    vielen Dank für den Artikel! Ich hätte eine Frage: Wenn ich den Cache manuell aufwärme, muss ich vorher den gewünschten Shop anklicken. Wie ist das beim Cronjob? Werden beim o.g. Befehl alle Shops aufgewärmt, oder nur der erste in der Liste?

    Viele Grüße
    Andreas
  • Interessanter Artikel, aber für mich als Laien teilweise zu technisch und unverständlich. Immerhin gibt es heutzutage eine Menge Freelancer und Agenturen, die einem dabei helfen können. Vielen Dank für deinen Artikel.
  • Hallo Ewald,
    eure Beiträge sind wie immer Top interessant und eure Plugins sind Top!
  • Hey Pierre,

    vielen Dank für Deine netten Worte :)

    LG
    Marc
  • Hallo Ewald,
    Ich habe ein Problem mit TTFB. es nimmt bei uns länger als 3 sec. Ich habe alle Möglichkeite (von Plugins bis auf Shopware Einstellung) erschöpft um den Auslöser herauszufinden.
    Ich brauche Hilfe vom jemanden, der unseren Shop analysieren und uns beraten kann, was und wo ich den Fehler beheben soll, ggf. die Optimierung übernehmen kann.
    Kannst du solchen Auftrag auch annehmen?

    Für deine Antwort bedanke ich mich im Voraus.
    Viele Grüße
    Hung-Sun

  • Hey Hung-Sun,

    wir unterstützen Dich gerne bei Deinen Performance Problemen. Folgendes Paket eignet sich für eine erste Analyse inkl. Lösungsvorschläge & Beratung: https://store.8mylez.com/shopware-performance-check?c=11

    Lass uns auch gerne dazu telefonieren vorab: 052517776630

    Liebe Grüße
    Marc
  • Hallo,

    wo wird denn der Befehl um den Cache aufzuwärmen "php bin/console sw:warm:http:cache" eingetragen? Im Backend des Shops gebe ich ja die Aktion des CronJobs ein, und nicht den Befehl direkt.
  • Hey Dirk,

    das hängt von dem Hosting ab. Du musst den Befehl in einem extra Cronjob in deinem Hosting-Paket anlegen.

    Am besten fragst du direkt bei deinem Hoster nach wie du einen eigenen Cronjob erstellen kannst.

    Viele Grüße
    Ewald
  • Gut wären ein paar Infos zu APCu und Zend OPcache. Da steht, dass man das beim Hoster aktivieren kann. Allerdings bietet nicht jeder Hoster diese Möglichkeiten.
  • Vielen Dank! Normalerweise sollte das bei allen Shopware zertifizierten Hostern möglich sein. Bei anderen Hostern sollte da am besten nachgefragt werden. Leider kann es vorkommen, dass einige Webhostings zu eingeschränkt sind. Daher empfehlen wir immer einen zertifizierten Shopware Hoster zu nehmen. Aber es lohnt sich bei seinem Anbieter nachzufragen. Seit PHP 7.0 kann der PHP OpCache auch in Dateien ausgelagert werden und somit auch beim Shared Hosting genutzt werden.
  • Hallo Ewald,

    Gleich einmal vorweg, ich bin ganz neu im Thema und war auf der Suche nach Infos zu PHP7 und OPcache im eCommerce.
    In einem anderen Artikel über optimierte Ladezeiten (https://www.onlinesolutionsgroup.de/blog/ladezeiten-optimieren/) habe ich gelesen, dass man unbedingt Weiterleitungesschleifen durch falsch gesetzte Canonicals vermeiden sollte. Daher meine Frage: Kann man in Shopware überhaupt welche setzen?

    Viele Grüße,
    Sören
  • Hey Sören,

    standardmäßig springt Shopware bei Nichteingabe des "/" auf die Startseite oder eine eingerichtete 404 Seite. Denke das Problem mit der Schleife ist somit nicht gegeben.

    LG
    Marc
  • Hallo Ewald,
    vielen Dank für die Infos.
    Ich habe noch eine Frage zum Cache aufwärmen:
    Wenn ich mehrere Sprachshops habe, benötige ich dann für jeden einen anderen Befehl?

    viele Grüße
    Jürgen
  • Hallo Jürgen,

    du kannst seit der Shopware Version 5.2.19 einzelne Shops ansprechen. Wenn du allerdings von allen Shops den Cache aufwärmen lassen willst, reicht es den Befehl wie oben einzugeben.

    Viele Grüße
    Ewald
  • Hallo Ewald,
    vielen dank für die Info. Diese Information kann man bei Shopware immer gebrauchen. Schließlich frist der Shop die Resourcen....

    gruss aus Berlin
    :) Winny
  • Hallo Winfried,

    freut mich, dass ich helfen kann :)

    Viele Grüße
    Ewald

Was denkst du?

Beliebt

Was du über die Shopware 5 Theme Struktur wissen musst und wie du ein eigenes Template erstellst
Social Media Icon mit Link im Footer
Shopware Theme: Eigenes Listing Layout erstellen
Logo Größe mit Less für Shopware 5 anpassen
Die größten Fehler bei der Entwicklung eines Shopware 5 Themes

Sicher Dir die besten Shopware 6
Tipps & Tricks

Trag Dich ein und Du erhältst unser Shopware 6 Whitepaper kostenlos!
Trag dich für unseren Newsletter an, im Anschluss erhältst Du das Whitepaper. 

Mit dem Abschicken Deiner Daten akzeptierst Du unsere Datenschutzerklärung.

Entdecke unsere ebooks

Unsere Standorte

Zentrale 

Technologiepark 23
33100 Paderborn


Leipzig
Bernhardstraße 34
04315 Leipzig

Kontakt

Über 8mylez

✓ 38 Mitarbeiter

✓ Shopware Gold Partner

✓ 40.000+ Plugin Downloads

✓ 160+ betreute Shops

✓ Full-Service Shopware Agentur

✓ 70 Shopware Videos auf Youtube

✓ Alle Shopware Zertifizierungen

Social


Unsere Partner
© 2023 by 8mylez GmbH //  Impressum + Datenschutz