Shopware ist ein auf Modulen basiertes Shopsystem für Webshops, das im Jahr 2000 in Deutschland gegründet wurde. Shopware gibt es sowohl als kommerzielle Version, als auch als Open-Source-Software.
Laut Shopware wurde die Anwendung über 54.000-mal runtergeladen und es gibt 2.000 Plugins und 1.200 Partner. Die Software ist für verschieden große E-Commerce Stores geeignet und ist multishopfähig, was bedeutet, dass es möglich ist innerhalb einer Installation mehrere Shops auf verschiedenen Domains zu generieren.
Auch mit Shopware betriebene Seiten können von unserem umfangreichen Wissen im Bereich SEO profitieren. Falls Sie da Interesse haben, informieren Sie sich gerne über die Möglichkeiten bei einer SEO Beratung. In diesem Artikel soll es nun aber um die Optimierung der Ladezeit gehen.
Was vor der Installation beachtet werden sollte:
1. Server
Um ein möglichst performanten Onlineshop auf Shopware zu erstellen, sollte man sich bereits vor Installation der Software Gedanken über die Geschwindigkeit und Leistungsfähigkeit der späteren Seite machen.
Der Server spielt eine große Rolle dabei, wie schnell und wie viele Anfragen auf der Webseite bearbeitet werden können. Dabei hat jeder Onlineshop andere Anforderungen an einen Server, die von Variablen wie Shopgröße und Besucherzahl abhängen. Diese Anforderungen kann man zusammen mit den Server Providern analysieren und anschließend eine individuelle Lösung finden.
2. PHP Version
Generell gilt aber, dass es auch bei kleineren Shops sinnvoll ist mindestens einen Dual-Core Prozessor zu nehmen und mehr Speicherplatz einzuplanen als Shopware benötigt. Auch ist eine Serverlösung die als Hard Drive eine SSD benutzt, auch bei erhöhten Kosten, auf Grund des effizienteren Zugriffs vernünftig.
Shopware ist schon ab der Version 5.1 mit PHP 7 kompatibel, wobei diese Versionen viele Geschwindigkeitsvorteile gegenüber Vorgängerversionen aufweisen. Je nach Anwendungsgebiet bietet die neue Version eine 20-30% höhere Ausführungsgeschwindigkeit.
Sollte Ihr Shop noch auf PHP 5 laufen, ist es ratsam, ein Update auf PHP 7 durchzuführen. Dabei ist es sinnvoll das Update erst in einer Testumgebung zu installieren, um sicherzustellen, dass alles nach dem Update noch reibungslos funktioniert.
3. MySQL Version
Wenn immer es möglich ist, sollte die neueste für kommerzielle Anwendungen zu nutzende, MySQL-Version verwendet werden.
Die meisten Seitenaufrufe erfordern Zugriffe auf die Datenbank, um Daten zurückzugeben, die zum Aufbau der Seite verwendet werden.
Wen ein Benutzer beispielsweise Waren zum Warenkorb hinzufügt, auf der Seite sucht oder zur Kasse geht, erfordern all diese Aktionen einen oder mehrere Datenbankzugriffe.
Die neueste Version von MySQL weist Verbesserungen bei der Ausführung von Joins und SubSelects sowie Lesezugriffen auf.
Eine relativ einfache Methode die benötigte Zeit für einen Datenbankzugriff zu messen, ist mit Tools wie GTmetrix oder Pingdom möglich. Testen Sie hierzu eine URL mit einem Datenbankzugriff, beispielsweise mit Suchparamatern (www.beispielSeite.com/search?braune+stiefel). Anschließend können die Ergebnisse der Ladezeiten der Parameterseite mit denen der URL ohne Parametersuche verglichen werden.
Was im laufenden Betrieb optimiert werden kann
1. Bilder komprimieren
Bilder sind für ca. 50% bis 75% des Gesamtgewichts einer E-Commerce-Webseite verantwortlich. Wenn Sie viele Bilder auf Ihre Webseite laden und diese auch nicht komprimiert wurden, wird die Ladelast Ihrer Seite erhöht. Um diese Last zu verringern wird empfohlen Bilder grundsätzlich zu komprimieren. Die verlustfreie Kompression minimiert die Bildgröße, ohne dabei die Qualität zu beeinträchtigen.
Achten Sie auch auf leere Bildcontainer – <img src = “> – in Ihrem Code. Diese verursachen eine zusätzliche Belastung, da sie eine weitere Anfrage an den Server senden.
Eine einfache Lösung, um die Anzahl der einzelnen Anfragen von Bildern an den Server zu reduzieren, ist die Verwendung von Sprites. Hier werden mehrere Bilder, beispielsweise Social Media Icons, zu einem kombiniert und somit nur eine Anfrage an den Server generiert.
2. Anzahl der Weiterleitungen reduzieren
Gerade bei großen Seiten, ist es praktisch unmöglich Weiterleitungen ganz zu vermeiden, aber dennoch sollte man versuchen die Anzahl der Redirects soweit wie möglich zu reduzieren. Bei häufig besuchten Seiten des Shops, wie beispielsweise der Startseite, sollten Weiterleitungen vermieden werden.
Redirects erhöhen die Anzahl der HTTP-Anfragen und verzögern so das Laden der Seite. Weiterleitungen können zu mehreren Roundtrips führen, die jeweils ein DNS-Lookup, ein TCP- und ein TLS-Handshake durchführen.
Wird also die Anzahl der Weiterleitungen reduziert, wird auch die Anzahl der HTTP-Anfragen und so die Ladezeit für die entsprechenden Seiten reduziert.
3. Render-Blocking Skripte entfernen
Etwas zu „rendern“ bedeutet eine Ressource zu laden, d. h. wenn etwas das Rendering blockiert, blockiert diese Ressource, dass eine Seite so schnell wie möglich lädt. Browser müssen einen DOM (Document Object Model)-Baum erstellen, indem sie das HTML einer Seite analysieren, bevor die Ressourcen auf der Seite geladen werden können. Wenn der Browser während dieses Vorgangs auf ein Skript trifft, muss er es stoppen und ausführen, bevor er fortfahren kann das DOM zu erstellen.
Wenn Ihre Webseite also Render-Blocking Skripte enthält, ist es empfehlenswert diese asynchron zu laden, um den Aufbau des DOM zu beschleunigen.
4. Browser Caching aktivieren
Als Browser Caching bezeichnet man es, wenn ein Browser statische Komponenten, wie CSS-Dateien und Bilder, im lokalen Speicher für einen vorher festgelegten Zeitraum speichert. Wenn ein Nutzer nun die Seite ein zweites Mal besucht, ist die Anzahl der benötigten Anfragen an den Server deutlich reduziert, da einige statische Komponenten bereits beim vorherigen Besuch im Browser Cache gespeichert wurden. Das kann das Laden der Webseite für Nutzer, die eine Webseite öfter besuchen, deutlich verringern.
Damit der Browser Cache ordnungsgemäß funktioniert, müssen am Webserver entsprechende Regeln mit einem Ablaufdatum für die einzelnen Ressourcen festgelegt werden. Diese Regeln werden auch „expire“-Regeln genannt, da sie dem Browser mitteilen wie lange die Ressourcen im Cache gespeichert werden sollen.
Um Browser Caching zu aktivieren ist es nötig die .htaccess Datei zu modifizieren. Dieser Schritt sollte am besten zusammen mit dem technischen Support Ihrer Webseite unternommen werden.