2.3 KiB
Sunset Pages
Statt sofortigem Redirect kann eine Hinweisseite kommen — schlichte weiße Seite mit Custom-Text und einem "Weiter"-Button. Klickt der User → echter Redirect.
Wann brauchst du das?
- Domain wird abgeschaltet: "Diese Domain wird zum 31.12.2026 abgeschaltet. Bitte verwende ab sofort https://neue-domain.de"
- Marken-Migration: Hinweis dass die Firma umfirmiert hat
- Information über kommenden Besitzerwechsel
Konfiguration per Domain
Domain-Detail-Page → Card "Abschaltungs-Hinweis" → Toggle aktivieren:
| Feld | Beispiel |
|---|---|
| Titel | Diese Domain wird abgeschaltet |
| Nachricht | Die Domain alt-firma.de wird zum 31.12.2026 abgeschaltet. Bitte verwenden Sie ab sofort https://neue-firma.de |
| Button-Text | Weiter |
| Abschaltdatum | 31.12.2026 (optional, nur Anzeige) |
Speichern. Beim nächsten Aufruf der Domain bekommt der User die Notice statt Redirect. Klick auf "Weiter" → ?nr_continue=1 → echter Redirect.
Bulk-Konfiguration
Auf /domains mehrere Domains markieren → Selection-Bar → "Sunset-Hinweis" → Form ausfüllen → "Auf N anwenden". Setzt für alle markierten Domains die gleiche Konfiguration.
Zum Deaktivieren für mehrere: Checkbox "Aktivieren" im Bulk-Dialog ausschalten und anwenden.
Implementierung
Custom Server (server.ts) prüft beim Resolve eines Hosts:
- Wenn Domain Sunset hat UND Request kein
?nr_continue=1→ HTML-Notice mitCache-Control: no-store - Wenn
?nr_continue=1→ ganz normaler 302/301 zum Target
Hit wird beim ERSTEN Request gezählt (Notice-Render). Continue-Click zählt NICHT als zweiter Hit (würde sonst doppeln).
HTML-Page ist in lib/sunset-html.ts — schwarz auf weiß, kein JS, kein externes Asset, kein Tracking. Funktioniert auch ohne JS-Browser.
Wichtige Hinweise
- Sunset-Page wird nicht vom Browser gecacht (
Cache-Control: no-store) - Sunset-Page ist
noindex,nofollowfür Suchmaschinen - Robots.txt etc. werden NICHT durch die Notice geleitet, gehen direkt zum Target
- Bei aktivem Sunset wird der Caddy-Fallback (bei App-Down: Direkt-Redirect via
handle_errors) trotzdem ausgelöst — Notice nur wenn App läuft
→ Weiter mit Analytics & Reports