Wenn du eine Live-WordPress-Website aktualisieren, umgestalten oder reparieren musst, sollten Besucher keine kaputte oder halbfertige Seite sehen. Ein Wartungsbildschirm kann die öffentliche Website für kurze Zeit ausblenden. Erstelle zuerst ein Backup und nutze nach Möglichkeit eine Staging-Kopie, damit du einen Weg zurück hast, falls etwas schiefgeht.
Wichtig: WordPress-Core stellt in der
wp-config.phpkeine KonstanteWP_MAINTENANCE_MODEbereit. Die Zeiledefine( 'WP_MAINTENANCE_MODE', true );bewirkt für sich genommen nichts und zeigt keine Wartungsseite. Falls du diese Zeile nach älterem Rat hinzugefügt hast, kannst du sie gefahrlos entfernen.
So versetzt du eine WordPress-Website in den Wartungsmodus
WordPress hat während Updates tatsächlich einen echten, automatischen Wartungsmodus – aber nur vorübergehend. Für geplante Arbeiten, die länger als ein paar Minuten dauern, verwendest du ein gepflegtes Plugin von WordPress.org oder – wenn du kein Plugin nutzen kannst – ein kurzes, wieder entfernbares Schnipsel in einem Child-Theme.
1. Empfohlen: ein Wartungsmodus-Plugin verwenden
Der einfachste Weg für Einsteiger ist ein Plugin aus dem offiziellen WordPress-Plugin-Verzeichnis. Zwei etablierte Optionen sind Maintenance von WebFactory und LightStart von Themeisle (dieses Plugin hieß früher WP Maintenance Mode). Prüfe den aktuellen Eintrag, bevor du installierst, und folge der Einstellungsseite des Plugins selbst – Beschriftungen können sich zwischen Versionen ändern.
Typische Schritte, angelehnt an die Installationshinweise dieser Plugins auf WordPress.org:
- Sichere die Website und teste nach Möglichkeit auf Staging.
- Bleibe als Administrator angemeldet. Gehe in wp-admin zu Plugins → Installieren, suche das Plugin namentlich, installiere und aktiviere es.
- Öffne die Einstellungsseite des Plugins. Maintenance fügt einen Eintrag im Hauptmenü der Administration hinzu; LightStart verwendet eine Settings-Seite. Passe die öffentliche Meldung mit den vom Plugin bereitgestellten Steuerelementen an.
- Schalte den Wartungsmodus erst ein, wenn du bereit bist. Laut LightStart-Eintrag kann das Aktivieren des Plugins die Website sofort in den Wartungsmodus versetzen, während Benutzer mit ausreichenden Rechten die Vorderseite weiter sehen.
- Wenn die Arbeit erledigt ist, schalte die Wartung in den Plugin-Einstellungen aus, leere etwaigen Seiten-Cache und sieh dir die Website in einem privaten oder Inkognito-Fenster abgemeldet an, um zu bestätigen, dass die öffentlichen Seiten wieder da sind. Erst dann deaktivierst du das Plugin, wenn du es nicht mehr brauchst.
Die FAQ von LightStart warnt, dass Cache-Plugins während der Wartung veraltete Seiten ausliefern können. Wenn ein Cache-Plugin aktiv bleibt, lösche dessen Cache, nachdem du den Wartungsmodus ein- oder ausgeschaltet hast.
Das Plugin Maintenance kann eine HTTP-503-Antwort („Service temporarily unavailable“) senden, damit Suchmaschinen die Unterbrechung als vorübergehend behandeln. Halte dieses Fenster kurz. Ein lange andauernder 503 kann trotzdem beeinflussen, wie die Website gecrawlt wird.
2. Was WordPress selbst während Updates tut
Wenn WordPress Core, ein Theme oder ein Plugin aktualisiert, legt es vorübergehend eine Datei .maintenance im WordPress-Stammverzeichnis an. Diese Datei speichert einen Zeitstempel in einer Variablen $upgrading. Core betrachtet die Website nur dann als im Wartungsmodus, solange dieser Zeitstempel weniger als etwa 10 Minuten alt ist. Nach ungefähr 10 Minuten betrachtet WordPress die Wartung als beendet, selbst wenn die Datei noch vorhanden ist.
In diesem kurzen Fenster sendet WordPress HTTP 503 mit einem Header Retry-After: 600 und zeigt die Meldung “Briefly unavailable for scheduled maintenance. Check back in a minute.” Du kannst diesen kurzen Bildschirm durch eine optionale Drop-in-Datei namens maintenance.php in wp-content ersetzen, aber die Datei gilt nur, solange der Core-Wartungsmodus tatsächlich aktiv ist.
Lege nicht selbst eine statische .maintenance-Datei als dauerhaften Schalter „wegen Wartung geschlossen“ an. Das ist keine nachhaltige manuelle Steuerung: Nach etwa 10 Minuten sehen Besucher wieder die Live-Website, und eine übrig gebliebene Datei nach einem fehlgeschlagenen Update kann eine verwirrende Meldung hinterlassen, bis du sie löschst. Wenn der Wartungsbildschirm nach einem Update hängen bleibt, verbinde dich per FTP oder über den Dateimanager deines Hosters und lösche .maintenance im WordPress-Stammverzeichnis.
WordPress dokumentiert das in wp_is_maintenance_mode(), wp_maintenance(), in den Hinweisen zu einem hängenden Wartungsbildschirm unter häufigen WordPress-Fehlern und in Updating WordPress.
3. Optional: ein vorübergehendes Schnipsel in einem Child-Theme
Wenn du kein Plugin nutzen kannst, füge Folgendes in die functions.php eines Child-Themes ein – nicht in ein Parent-Theme, das Updates überschreiben. Der Hook template_redirect läuft nur auf der öffentlichen Website, daher bleiben wp-admin und der Anmeldebildschirm erreichbar. Angemeldete Benutzer, die Optionen verwalten dürfen, sehen die Website weiter. Alle anderen erhalten HTTP 503 und einen Retry-After-Header – dasselbe Muster, das WordPress-Core während Updates verwendet. Entferne das Schnipsel, um die öffentliche Website wiederherzustellen.
add_action( 'template_redirect', function () {
if ( is_user_logged_in() && current_user_can( 'manage_options' ) ) {
return;
}
header( 'Retry-After: 3600' );
wp_die(
'This site is temporarily unavailable for scheduled maintenance. Please check back soon.',
'Maintenance',
array( 'response' => 503 )
);
} );Nutze das nur als kurze, vorübergehende Maßnahme und teste es zuerst auf Staging. Nachdem du den Code entfernt hast, leere Caches und bestätige, dass die öffentliche Website wieder lädt, während du abgemeldet bist. Lass eine 503-Antwort nicht länger als nötig aktiv.
Fazit
Um eine WordPress-Website während geplanter Arbeiten auszublenden, verwendest du ein gepflegtes Wartungs-Plugin, schaltest es danach aus und prüfst die öffentlichen Seiten. Die Datei .maintenance von WordPress ist nur ein kurzer, automatischer Schutz während Updates — etwa 10 Minuten —, kein dauerhafter manueller Schalter, und es gibt keine Zeile WP_MAINTENANCE_MODE, die du in der wp-config.php ergänzen müsstest. Sichere zuerst, halte die Ausfallzeit kurz und stelle danach die Live-Website wieder her und prüfe sie.
