Jede zusaetzliche 100ms Ladezeit kostet Sie Conversions. Im E-Commerce ist Geschwindigkeit kein Luxus – sie wirkt sich direkt auf Ihren Umsatz aus. Dieser Leitfaden konzentriert sich auf die spezifischen, umsetzbaren Optimierungen, die fuer PrestaShop-Shops den groessten Unterschied machen.
Beginnen Sie mit der Messung
Bevor Sie etwas optimieren, brauchen Sie eine Basislinie. Verwenden Sie diese Tools:
- Google PageSpeed Insights – liefert Core Web Vitals (LCP, FID, CLS) und einen Performance-Score
- GTmetrix – bietet Wasserfall-Diagramme, die genau zeigen, was wann geladen wird
- MySQL Slow Query Log – aktivieren Sie es voruebergehend, um Abfragen zu finden, die laenger als 1 Sekunde dauern
- Xdebug Profiler – zur Identifizierung von PHP-Level-Engpaessen (verwenden Sie Cachegrind zur Analyse)
Messen Sie zuerst, optimieren Sie dann und messen Sie erneut. Sonst raten Sie nur.
Datenbankoptimierung
Die Datenbank ist der haeufigste Engpass in PrestaShop. Hier ist, was Sie pruefen sollten:
Indizieren Sie Ihre benutzerdefinierten Tabellen
Wenn Ihre Module benutzerdefinierte Tabellen erstellen, stellen Sie sicher, dass sie ordnungsgemaesse Indizes haben. Ein fehlender Index auf einer haeufig abgefragten Spalte kann eine 10ms-Abfrage in einen 3-Sekunden-Tabellenscan verwandeln.
ALTER TABLE ps_my_module_data ADD INDEX idx_id_product (id_product);
ALTER TABLE ps_my_module_data ADD INDEX idx_date_add (date_add);
Alte Daten bereinigen
PrestaShop sammelt Daten an, die mit der Zeit alles verlangsamen:
ps_connectionsundps_connections_page– koennen auf Millionen von Zeilen anwachsenps_log– regelmaessig leerenps_mail– alte E-Mail-Datensaetze haeufen sich an- Verlassene Warenkoerbe aelter als 30 Tage – in den meisten Faellen sicher zu entfernen
Abfragen optimieren
Verwenden Sie EXPLAIN fuer jede Abfrage, die grosse Tabellen betrifft. Achten Sie auf type: ALL (vollstaendiger Tabellenscan) und Using temporary; Using filesort – beides sind Warnsignale.
PHP und OPcache
PHP-Level-Optimierung wird oft uebersehen:
- PHP 8.2+ – deutlich schneller als 7.4, und PrestaShop 8.x/9.x unterstuetzt es
- OPcache – aktivieren und
opcache.revalidate_freq=60in der Produktion setzen (nicht 0) - Realpath-Cache –
realpath_cache_sizeauf 4096K fuer grosse Shops erhoehen - Memory-Limit – auf mindestens 512M setzen, um Garbage-Collection-Druck zu vermeiden
Redis fuer Cache und Sessions
Ersetzen Sie den standardmaessigen dateibasierten Cache durch Redis:
- Smarty-Cache, Symfony-Cache und Modul-Caches profitieren alle von Redis
- Session-Speicherung in Redis beseitigt Datei-Sperr-Probleme bei hoher Parallelitaet
- Eine einzelne Redis-Instanz kann all diese Workloads fuer einen typischen Shop bewältigen
Frontend-Optimierung
- CCC (Combine, Compress, Cache) – in den Performance-Einstellungen aktivieren, aber gruendlich testen
- Lazy Loading – natives
loading="lazy"fuer Produktbilder verwenden - WebP-Bilder – 25-35% kleiner als JPEG bei vergleichbarer Qualitaet
- CDN – statische Assets auf Cloudflare oder aehnliches auslagern; Medienserver-URL in PrestaShop setzen
- Critical CSS – Above-the-Fold-Styles inline setzen, um Render-Blocking-Anfragen zu eliminieren
Full Page Cache
Fuer Shops mit hohem Traffic und relativ statischem Katalog kann ein Full Page Cache (Varnish oder nginx FastCGI Cache) die Antwortzeiten von 500ms auf unter 50ms reduzieren. Der schwierige Teil ist die Cache-Invalidierung – Sie muessen korrekt purgen, wenn sich Preise aendern, Lagerbestaende aktualisiert werden oder Aktionen starten und enden.
Beginnen Sie mit den Datenbank- und PHP-Optimierungen – sie bringen die groessten Ergebnisse bei geringstem Risiko. Schichten Sie Frontend- und Full-Page-Caching darauf auf, sobald die Grundlage solide ist.
Kommentare (3)
Kommentar hinterlassen