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
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.
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.
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 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.
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.
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.
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.
Es gibt hier wieder die manuelle Möglichkeit über das Performance Modul "Perfomance > Einstellungen > HTTP-Cache" den Cache manuell aufzuwärmen.
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.
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).
Deine Theme Konfiguration im Live Shop, sollte auf jeden Fall folgende Optionen gesetzt haben.
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.
Unsere Standorte
Zentrale
Technologiepark 23
33100 Paderborn
Leipzig
Bernhardstraße 34
04315 Leipzig
Kontakt
E-Mail: support@8mylez.com
Telefon: +49 (0) 5251 284 710
Shopware Dienstleistungen
Ü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
Zibtek
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!
Alexander Wolf
super, danke dir!
Gruss
Alexander
Andreas
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
Bernd
Pierre
eure Beiträge sind wie immer Top interessant und eure Plugins sind Top!
Marc Baur
vielen Dank für Deine netten Worte :)
LG
Marc
Hung-Sun Kang
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
Marc Baur
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
Dirk Eichenberg
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.
Ewald Gering
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
Ralf
Ewald Gering
Sören
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
Marc Baur
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
Jürgen
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
Ewald Gering
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
winfried
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
Ewald Gering
freut mich, dass ich helfen kann :)
Viele Grüße
Ewald
Was denkst du?