PS PrestaShop Mittel

DataFirefly Speed Pack — Dokumentation

Installieren, konfigurieren und betreiben Sie den Seiten-Cache, das Critical CSS und die fortgeschrittene Optimierung von Speed Pack auf PrestaShop 8 und 9.

Aktualisiert Modulversion 1.0.0

DataFirefly Speed Pack vereint vollständigen Seiten-Cache, Critical CSS, Asset-Minifizierung und -Kombinierung, Delay JS, natives Lazy Loading, Resource Hints, CDN-Rewriting, Server-Direktiven und Datenbankbereinigung in einem einzigen Modul. Dieser Leitfaden behandelt Installation, Einstieg und jede Konfigurationsregisterkarte.

Voraussetzungen und Kompatibilität

  • PrestaShop 8.0 bis 9.x
  • PHP 7.2 bis 8.3
  • Schreibzugriff auf den Cache-Ordner und, für die Server-Direktiven, auf die Root-htaccess-Datei
  • Multistore und mehrsprachig unterstützt

Speed Pack ergänzt die Module DataFirefly Core Web Vitals und WebP AVIF Pro: Es dupliziert weder die Bildkonvertierung noch die bereits von diesen Modulen bereitgestellten Optimierungen.

Installation

  1. Laden Sie das Archiv über Module > Modul-Manager > Modul hochladen hoch oder kopieren Sie den Ordner datafireflyspeedpack in das Verzeichnis modules/.
  2. Klicken Sie auf Installieren.
  3. Öffnen Sie die Modulkonfiguration. Ein Vorlade-Token wird automatisch erzeugt und in der Registerkarte Dashboard angezeigt.

Einstieg

Für eine sichere Einführung aktivieren Sie die Optionen in dieser Reihenfolge und prüfen Sie bei jedem Schritt das Rendering:

  1. Aktivieren Sie nur den Seiten-Cache. Rufen Sie eine Kategorieseite im privaten Fenster auf: Der erste Aufruf liefert den Header X-DfSpeedPack-Cache: MISS, das Neuladen liefert HIT.
  2. Aktivieren Sie die HTML/CSS/JS-Minifizierung und das Defer.
  3. Aktivieren Sie das Lazy Load der Bilder (schützen Sie das LCP-Bild, siehe unten).
  4. Aktivieren Sie das Critical CSS und dann das async CSS.
  5. Aktivieren Sie das Delay JS.
  6. Aktivieren Sie zuletzt, und erst nach einer Sichtprüfung, die CSS/JS-Kombinierung.

Deaktivieren Sie unter Erweiterte Einstellungen > Leistung die native CSS/JS-Optimierung (CCC) und überlassen Sie Speed Pack die Minifizierung und Kombinierung. Das Modul erkennt diesen Konflikt und meldet ihn im Dashboard.

Seiten-Cache

Der Seiten-Cache liefert das gecachte HTML sehr früh aus, über den Hook actionDispatcherBefore, bevor der Controller instanziiert wird und bevor Produktabfragen laufen. Der Cache-Schlüssel variiert nach Shop, Sprache, Währung und Gerät.

Geltungsbereich

Nur Gastseiten mit leerem Warenkorb werden gecacht. Die Erkennung des angemeldeten Kunden und des Warenkorbs erfolgt so früh wie möglich über das Cookie. Es wird niemals eine Seite eines angemeldeten Kunden aus dem Cache ausgeliefert.

Cachebare Controller

Die Controller-Whitelist (einer pro Zeile) bestimmt die infrage kommenden Seiten: zum Beispiel index, category, product, cms, manufacturer. Entfernen Sie einen Controller, um ihn vollständig vom Cache auszuschließen.

Ausschlüsse

  • URLs: Teilzeichenketten, eine pro Zeile.
  • Cookies: Das Vorhandensein eines dieser Cookies deaktiviert das Caching.
  • User-Agents: ausgeschlossene Agenten.
  • Ignorierte URL-Parameter: Tracking-Parameter (utm, fbclid, gclid…) werden aus dem Schlüssel entfernt, um eine Fragmentierung des Caches zu vermeiden.

Lebensdauer und Invalidierung

Die Lebensdauer ist konfigurierbar (0 = bis zur manuellen Leerung). Die Invalidierung erfolgt automatisch bei jeder Änderung von Produkt, Kategorie, CMS-Seite, Hersteller, Lieferant oder Bestand. Sie können den Cache jederzeit über die dedizierte Schaltfläche leeren.

CSS

  • Minifizierung des Inline- und kombinierten CSS.
  • Kombinierung der lokalen Stylesheets zu einer einzigen Datei, mit Neuschreibung der relativen Pfade in den url()-Regeln.
  • async CSS: Die Stylesheets werden über preload und dann onload geladen, um render-blockierendes CSS zu eliminieren.

Critical CSS

Fügen Sie Ihr Above-the-fold-CSS pro Seitentyp in die dedizierten Felder ein. Es wird inline im Head eingebunden, während der Rest asynchron geladen wird. Das Feld * dient als Fallback für jede Seite ohne spezifische Regel.

Aktivieren Sie das async CSS zusammen mit dem Critical CSS, um ein Aufblitzen ungestylter Inhalte (FOUC) zu vermeiden.

JavaScript

  • Minifizierung des Inline- und kombinierten JS.
  • Kombinierung der lokalen JS-Dateien.
  • Automatisches Defer der Skripte.

Delay JS

Delay JS verschiebt die Ausführung der Skripte bis zur ersten Interaktion des Nutzers (Scrollen, Klick, Tastendruck, Mausbewegung oder Berührung), mit einem zeitgesteuerten Fallback. Das ist der größte Gewinn bei TBT und dem Mobil-Score.

  • Nur einschließen: Wenn gesetzt, werden nur Skripte verzögert, die diese Schlüsselwörter enthalten.
  • Ausschließen: Schlüsselwörter der Skripte, die niemals verzögert werden dürfen (z. B. jquery, core).
  • Fügen Sie das Attribut data-df-nodelay zu einem Skript-Tag hinzu, um es einzeln auszuschließen.

Medien

Das native Lazy Loading fügt den Bildern die Attribute loading=lazy und decoding=async sowie den iframes loading=lazy hinzu.

Schützen Sie Ihr LCP-Bild (Hero-Visual, erstes sichtbares Bild), indem Sie ihm das Attribut data-no-lazy hinzufügen oder es zu den Ausschlüssen hinzufügen. Andernfalls kann das Lazy Load den LCP verschlechtern.

Resource Hints

  • Preconnect und DNS-prefetch: eine URL pro Zeile, für Drittanbieter-Domains (Schriften, Analytics, CDN).
  • Preload: im Format url|typ (z. B. /img/hero.webp|image). Mögliche Typen: image, font, style, script. Laden Sie Ihr LCP-Bild und Ihre kritischen Schriften vor.
  • font-display swap: in die Inline-Schriftregeln eingespielt, um unsichtbaren Text zu vermeiden.

CDN

Das CDN-Rewriting ersetzt den lokalen Host der statischen Assets durch Ihre CDN-Domain. Geben Sie die CDN-URL und dann die eingeschlossenen und ausgeschlossenen Muster (reguläre Ausdrücke) ein, eines pro Zeile. Nur lokale Assets, die den eingeschlossenen Mustern entsprechen, werden umgeschrieben.

Server (htaccess)

Speed Pack kann Server-Direktiven zwischen dedizierten Markierungen in die Root-htaccess-Datei schreiben:

  • GZIP / Brotli-Komprimierung
  • Browser-Cache für Assets (ein Jahr, immutable)
  • Connection Keep-Alive

Die Direktiven werden bei der Deinstallation automatisch entfernt. Ist die Datei nicht beschreibbar, wird eine Warnung angezeigt.

Wenn Ihr Server die Komprimierung bereits aktiviert (zum Beispiel über die Webserver-Konfiguration), muss sie hier nicht dupliziert werden.

Datenbank

Die Bereinigung entfernt verlassene Warenkörbe (ohne Bestellung, älter als die konfigurierte Anzahl an Tagen) und ihre verwaisten Zeilen, alte Verbindungen und Gäste sowie alte Suchstatistiken und Logs.

Bestellungen werden nie berührt. Erstellen Sie dennoch eine Datenbanksicherung vor der ersten Bereinigung.

Cache-Vorwärmung

Die Vorwärmung sammelt die URLs aus Ihrer Sitemap und wärmt dann den Cache vor, damit Ihre Besucher stets eine HIT-Seite erhalten.

Aus dem Back-Office

Registerkarte Dashboard: Klicken Sie auf URLs sammeln und dann auf Vorwärmen. Ein Fortschrittsbalken verfolgt den Batch-Fortschritt.

Per CRON-Aufgabe

Automatisieren Sie das Sammeln und Vorwärmen nach jeder nächtlichen Leerung. Das Token wird im Dashboard angezeigt.

curl -s "https://ihr-shop/module/datafireflyspeedpack/preload?action=collect&token=IHR_TOKEN"
curl -s "https://ihr-shop/module/datafireflyspeedpack/preload?action=warm&token=IHR_TOKEN"

Theme-Steuerattribute

  • data-no-lazy — deaktiviert das Lazy Load bei einem Bild oder iframe (LCP-Bild).
  • data-df-nodelay — schließt ein Skript-Tag vom Delay JS aus.
  • data-df-nodefer — schließt ein Skript-Tag vom Defer aus.
  • data-df-nooptim — schließt einen Block oder Link von Minifizierung und Kombinierung aus.

Einstellungen-Import/-Export

Exportieren Sie über die Registerkarte Erweitert alle Einstellungen als JSON, um sie auf einem anderen Shop zu replizieren, oder importieren Sie eine vorhandene Datei.

Fehlerbehebung

Eine Seite bleibt MISS

Prüfen Sie, dass Sie als Gast surfen (abgemeldet, leerer Warenkorb), dass der Controller in der Whitelist steht, dass die URL nicht ausgeschlossen ist und dass kein Ausschluss-Cookie vorhanden ist. Im Back-Office angemeldete Mitarbeiter erhalten nie eine gecachte Seite.

Ein Layout bricht nach Aktivierung der Kombinierung

Deaktivieren Sie die CSS/JS-Kombinierung oder fügen Sie die betreffende Datei den entsprechenden Ausschlüssen hinzu. Die Kombinierung ist standardmäßig bewusst deaktiviert.

Ungestylter Text beim Laden (FOUC)

Aktivieren oder vervollständigen Sie das Critical CSS der betroffenen Seite und stellen Sie sicher, dass das async CSS aktiviert ist.

Ein Skript funktioniert mit Delay JS nicht mehr

Fügen Sie sein Schlüsselwort der Delay-JS-Ausschlussliste hinzu oder das Attribut data-df-nodelay am Tag.

Deinstallation

Die Deinstallation entfernt die htaccess-Direktiven, leert die Caches und löscht die Einstellungen und die Admin-Registerkarte des Moduls.

War diese Seite hilfreich?

Immer noch nicht weiter? Support kontaktieren