# DataFirefly Speed Pack — Dokumentation

> 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,…

- Seite: <https://www.datafirefly.com/de/documentation/datafirefly-speed-pack/>
- Sprache: de
- Aktualisiert am: 2026-06-27
- Weitere Sprachen: [fr](https://www.datafirefly.com/documentation/datafirefly-speed-pack/index.md), [en](https://www.datafirefly.com/en/documentation/datafirefly-speed-pack/index.md), [es](https://www.datafirefly.com/es/documentation/datafirefly-speed-pack/index.md), [it](https://www.datafirefly.com/it/documentation/datafirefly-speed-pack/index.md), [pl](https://www.datafirefly.com/pl/documentation/datafirefly-speed-pack/index.md), [pt](https://www.datafirefly.com/pt/documentation/datafirefly-speed-pack/index.md), [nl](https://www.datafirefly.com/nl/documentation/datafirefly-speed-pack/index.md)
- Index: <https://www.datafirefly.com/de/documentation/llms.txt>

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.
