# Wartungsmodus & Coming-Soon-Seite — Komplette Anleitung

> Wartungsmodus & Coming-Soon-Seite (dfmaintenancepro) zeigt nicht autorisierten Besuchern eine gestaltete Warteseite — Countdown, E-Mail-Erfassung, Testerzugang per IP oder Token und Soft Launch nach Ländern — ohne jemals den nativen Wartungsmodus…

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

Wartungsmodus & Coming-Soon-Seite (`dfmaintenancepro`) zeigt nicht autorisierten Besuchern eine gestaltete Warteseite — Countdown, E-Mail-Erfassung, Testerzugang per IP oder Token und Soft Launch nach Ländern — ohne jemals den nativen Wartungsmodus von PrestaShop zu aktivieren. Der Shop bleibt technisch online: Back-Office, Zahlungs-Webhooks und geplante Aufgaben laufen normal weiter.

## Installation

1. Öffnen Sie im Back-Office **Module > Modul-Manager > Modul hochladen**.
2. Laden Sie das Archiv `dfmaintenancepro.zip` hoch und klicken Sie auf **Installieren**.
3. Klicken Sie auf **Konfigurieren**, um das Modulpanel zu öffnen.

Die Installation erstellt die Tabelle `dfmp_subscriber` (erfasste E-Mails), registriert den versteckten Tab „Subscribers" und generiert automatisch einen einzigartigen Zugangstoken. Es werden keine Overrides installiert: Das Modul stützt sich auf den einzigen Hook `actionDispatcherBefore`.

Das Modul ist nach der Installation standardmäßig deaktiviert: Konfigurieren Sie Ihre Seite in Ruhe, prüfen Sie die Vorschau und aktivieren Sie sie, wenn Sie bereit sind.

## Informationspanel

Oben auf der Konfigurationsseite fasst ein Panel das Wesentliche zusammen:

- **Status** — grünes „ACTIVE"-Badge, wenn die Seite Besuchern ausgeliefert wird, sonst neutrales Badge.
- **Tester-URL** — der Link `https://ihrshop.com/?dfmp_token=XXXX` zum Teilen: Er setzt ein Zugangs-Cookie im Browser des Testers.
- **Token regenerieren** — macht sofort alle bereits gewährten Zugangs-Cookies ungültig.
- **Vorschau** — zeigt die Wartungsseite auch bei deaktiviertem Modul an (Parameter `dfmp_preview`).
- **Erfasste E-Mails** — direkter Zugriff auf die Abonnentenliste mit Zähler.

## Allgemeine Konfiguration

- **Wartungsseite aktivieren** — der Hauptschalter. Einmal aktiviert, sehen alle nicht autorisierten Besucher die Warteseite.
- **Modus** — „Coming Soon (Pre-Launch)" oder „Wartung (vorübergehende Nichtverfügbarkeit)". Dies ändert nur das auf der Seite angezeigte Badge; das SEO-Verhalten wird im Abschnitt SEO eingestellt.
- **Launch-Datum** — Format `JJJJ-MM-TT HH:MM`, Server-Zeitzone. Speist den Countdown und den `Retry-After`-Header.
- **Countdown anzeigen** — der Zähler Tage/Stunden/Minuten/Sekunden wird automatisch ausgeblendet, sobald das Datum erreicht ist.

## Testzugang (IP & Token)

### IP-Whitelist

Ein Eintrag pro Zeile (oder durch Kommas getrennt). Drei Formate werden akzeptiert:

- Exakte IPv4- oder IPv6-Adressen: `82.64.12.7`
- CIDR-Bereiche: `192.168.1.0/24` oder `2001:db8::/32`
- IPv4-Wildcards: `192.168.1.*`

### Token-Testerlink

Teilen Sie die im Informationspanel angezeigte URL. Beim Öffnen wird ein HMAC-SHA-256-signiertes Cookie für die konfigurierte Dauer (standardmäßig 72 Stunden) im Browser des Testers gesetzt: Danach surft er im echten Shop, als wäre nichts. Das Feld **Laufzeit des Zugangs-Cookies** steuert diese Gültigkeit.

Ein Link ist durchgesickert? Klicken Sie auf „Token regenerieren": Der Token ändert sich und alle bereits gesetzten Cookies werden sofort ungültig.

### Zahlungs-Webhooks

Die Option **Modul-Frontcontroller erlauben** (standardmäßig aktiviert) lässt alle `fc=module`-Anfragen durch: Zahlungs-IPNs und Callbacks (PayPal, Stripe usw.) werden nie blockiert, auch nicht mitten in der Wartung.

Im Back-Office angemeldete Mitarbeiter sehen immer den echten Shop, ganz ohne Konfiguration: Die Admin-Sitzung genügt.

## Soft Launch nach Ländern

Dieser Modus macht aus der Warteseite ein Werkzeug für den schrittweisen Rollout:

1. Aktivieren Sie **Soft Launch**.
2. Tragen Sie die erlaubten **ISO-3166-1-alpha-2-Ländercodes** kommagetrennt ein: `DE,AT,CH`.
3. Wählen Sie das Verhalten für ein **unbestimmtes Land**: Wartungsseite anzeigen (Standard, sicher) oder hereinlassen.

Die Ländererkennung folgt dieser Reihenfolge:

1. CDN-Geolokalisierungs-Header: `CF-IPCountry` (Cloudflare), `CloudFront-Viewer-Country` (AWS), `X-Vercel-IP-Country`, `X-Geoip-Country` (nginx).
2. GeoLite2-Datenbank von PrestaShop, wenn die Geolokalisierung unter **International > Geolokalisierung** konfiguriert ist.

Ohne CDN und ohne GeoLite2-Datenbank kann das Land nicht bestimmt werden: Alle Besucher folgen dann der Regel „unbekanntes Land". Prüfen Sie Ihre Konfiguration, bevor Sie einen Soft Launch in Produktion aktivieren.

## Inhalt & Design

- **Titel, Untertitel, Nachricht** — Sprache für Sprache über die Flaggen übersetzbar; die Nachricht akzeptiert einfaches HTML.
- **Logo** — absolute URL eines Bildes (PNG/SVG empfohlen). Leer, wird der Shopname als Text angezeigt.
- **Farben** — Hintergrund, Akzent (Countdown, Button, Badge) und Text, über Farbwähler.
- **Soziale Netzwerke** — Facebook, Instagram, X, LinkedIn, YouTube: Füllen Sie nur die aus, die angezeigt werden sollen, die SVG-Icons sind eingebettet.
- **Custom CSS** — am Ende der Styles injiziert für Feinjustierungen.

Die generierte Seite ist zu 100 % eigenständig: CSS und JavaScript inline, keine Drittanbieter-Schriften oder -Skripte, null externe Anfragen. Sie respektiert `prefers-reduced-motion` und passt sich mobilen Geräten an.

Nutzen Sie den Button „Wartungsseite in der Vorschau anzeigen" nach jeder Anpassung: Er funktioniert bei deaktiviertem Modul, Sie gestalten also risikofrei vor der Aktivierung.

## E-Mail-Erfassung

- **Erfassung aktivieren** — zeigt das Formular unter dem Countdown an.
- **Platzhalter, Button-Beschriftung, Erfolgsmeldung, DSGVO-Hinweis** — alle pro Sprache übersetzbar.

Das Formular arbeitet per AJAX mit einem unsichtbaren Honeypot-Feld, das Bots neutralisiert. Jede Anmeldung erfasst E-Mail, Sprache, erkanntes Land, IP und Datum, mit Eindeutigkeit pro Adresse und pro Shop.

### Abonnentenliste und CSV-Export

Öffnen Sie vom Informationspanel aus **Erfasste E-Mails**: Die Liste lässt sich pro Spalte filtern, sortieren, in Masse bereinigen und über den Button **Export CSV** als CSV exportieren — bereit für den Import in Ihr E-Mail-Tool am Launch-Tag.

## SEO

- **HTTP-Status 503** (empfohlen) — signalisiert Google eine vorübergehende Nichtverfügbarkeit. Der `Retry-After`-Header wird aus der verbleibenden Zeit bis zum Launch-Datum berechnet (auf 7 Tage begrenzt); ohne zukünftiges Datum wird der Wert des Feldes **Retry-After** verwendet.
- **HTTP-Status 200** — für eine dauerhafte, indexierbare Coming-Soon-Seite.

In jedem Fall sendet die Seite ein `noindex, nofollow`-Tag und `no-cache`-Header: Ihr Katalog bleibt indexiert, die Warteseite nicht.

## Technische Funktionsweise

Bei jeder Front-Anfrage prüft das Modul die Berechtigungen in dieser Reihenfolge und lässt beim ersten Treffer durch:

1. Im Back-Office angemeldeter Mitarbeiter (Cookie `psAdmin`).
2. Gültiger Parameter `dfmp_token` in der URL (setzt das Zugangs-Cookie).
3. Noch gültiges signiertes Zugangs-Cookie.
4. IP in der Whitelist vorhanden.
5. Erlaubtes Land bei aktivem Soft Launch.

Andernfalls wird die Wartungsseite gerendert und die Ausführung stoppt vor dem Frontcontroller. Multishop: Konfiguration und Abonnentenliste gelten pro Shop.

## Fehlerbehebung

- **Ich sehe weiterhin den Shop, obwohl das Modul aktiv ist** — Sie sind wahrscheinlich im selben Browser im Back-Office angemeldet, oder ein Zugangs-Cookie ist noch gültig. Testen Sie im privaten Modus.
- **Ein Tester sieht trotz Token-Link die Wartungsseite** — der Token wurde möglicherweise seit dem Versand des Links regeneriert; senden Sie die im Informationspanel angezeigte URL erneut.
- **Der Soft Launch blockiert alle** — kein CDN-Header und keine GeoLite2-Datenbank verfügbar: Das Land ist unbestimmt und die Standardregel blockiert. Stellen Sie „Unbekanntes Land" auf „Erlauben" oder konfigurieren Sie die Geolokalisierung.
- **Der Countdown erscheint nicht** — prüfen Sie, ob das Launch-Datum das Format `JJJJ-MM-TT HH:MM` verwendet und in der Zukunft liegt.
- **Deinstallation** — entfernt die Abonnententabelle: Exportieren Sie vorher das CSV, wenn Sie die Adressen behalten möchten.
