Der WordPress-Wartungsmodus hat zwei Gesichter. Entweder Ihre Seite zeigt seit einer Stunde „Diese Website ist aufgrund planmäßiger Wartungsarbeiten vorübergehend nicht verfügbar. Bitte versuche es in wenigen Minuten erneut.“, und Sie haben nichts dergleichen geplant. Oder Sie wollen die Seite bewusst für Besucher sperren, während Sie umbauen. Beides steht auf dieser Seite: zuerst der Notfall, dann das gezielte Einschalten mit Plugin, WP-CLI oder eigenem Code, und am Ende, worauf Sie für Google achten müssen.
In 2 Minuten prüfen
- Öffnen Sie Ihre Seite in einem privaten Browserfenster. Ist sie dort normal, zeigt nur Ihr Browser oder ein Cache noch die alte Meldung.
- Verbinden Sie sich per FTP oder mit dem Dateimanager des Hosters und schalten Sie „versteckte Dateien anzeigen“ ein.
- Liegt im Hauptverzeichnis, neben der
wp-config.php, eine Datei.maintenance? Dann löschen Sie genau diese Datei. - Seite neu laden. In den meisten Fällen ist sie jetzt wieder da.
Kommt danach ein anderer Fehler, etwa der kritische Fehler oder eine weiße Seite, ist das Update nur halb eingespielt. Dann weiter mit dem Abschnitt zur Reparatur weiter unten.
Was ist der Maintenance Mode?
Maintenance Mode ist der englische Name für den Wartungsmodus von WordPress. Er schützt die Seite, während Dateien ausgetauscht werden. Sobald Sie ein Update von WordPress, einem Plugin oder einem Theme starten, legt WordPress im Hauptverzeichnis die Datei .maintenance an. Sie enthält nur einen Zeitstempel, den Beginn des Updates. Solange die Datei existiert, bekommen Besucher statt der Seite die Wartungsmeldung, damit niemand eine halb ausgetauschte Seite sieht. Ist das Update fertig, löscht WordPress die Datei wieder. Normalerweise dauert das wenige Sekunden.
Dabei sendet WordPress den Statuscode 503 („Service Unavailable“) und den Hinweis Retry-After: 600, also die Bitte an Browser und Suchmaschinen, es in zehn Minuten noch einmal zu versuchen. Das ist im Quelltext der Funktion wp_maintenance() so festgelegt (developer.wordpress.org).
Ältere Installationen zeigen die Meldung mit anderem Wortlaut, zum Beispiel „Wird kurzzeitig wegen planmäßiger Wartung gewartet. Schau in einer Minute nochmal vorbei.“ Gemeint ist dasselbe.
Warum bleibt WordPress im Wartungsmodus hängen?
Die Datei .maintenance bleibt liegen, wenn das Update abbricht, bevor WordPress aufräumen kann. Die Ursachen, die ich am häufigsten sehe:
- Browser-Tab geschlossen oder Verbindung weg. Mehrere Updates auf einmal angestoßen, Tab zu, Laptop zugeklappt. Das Update läuft dann nicht sauber zu Ende.
- Zeitlimit des Servers. PHP darf nur eine bestimmte Zeit rechnen (
max_execution_time). Große Plugins wie Seitenbaukästen oder Shop-Erweiterungen überschreiten das auf kleinen Tarifen. - Speicher voll. Kein Platz mehr im Webspace, also kann das Paket nicht entpackt werden. Oder PHP hat zu wenig Arbeitsspeicher.
- Dateirechte. WordPress darf einzelne Ordner nicht überschreiben, das Update bricht mittendrin ab.
- Automatische Updates in der Nacht. Mehrere Plugins aktualisieren sich gleichzeitig, eines davon scheitert.
Ein Detail, das kaum jemand kennt: Aktuelle WordPress-Versionen ignorieren eine .maintenance-Datei, deren Zeitstempel älter als zehn Minuten ist (Funktion wp_is_maintenance_mode(), developer.wordpress.org). Hängt die Meldung trotzdem stundenlang, steckt meist etwas anderes dahinter: Ein Cache liefert die gespeicherte Wartungsseite weiter aus, ein Wartungs-Plugin ist aktiv, oder die Datei wird durch erneute automatische Update-Versuche immer wieder neu geschrieben. Deshalb gehören Cache leeren und Plugins prüfen mit zur Lösung.
Wartungsmodus beenden: Schritt für Schritt
- Per FTP oder Dateimanager verbinden. Zugangsdaten stehen im Kundenmenü des Hosters, meist unter „FTP-Zugänge“ oder „Webspace“.
- Versteckte Dateien einblenden. Dateien mit Punkt am Anfang zeigen viele Programme nicht an. In FileZilla heißt die Option „Server → Anzeige versteckter Dateien erzwingen“, in den Dateimanagern der Hoster meist „versteckte Dateien anzeigen“.
- Datei
.maintenancelöschen. Sie liegt im WordPress-Hauptverzeichnis, dort, wo auchwp-config.php,wp-adminundwp-contentliegen. Nur diese Datei, nichts anderes. - Caches leeren. Cache-Plugin, Server-Cache des Hosters, bei Cloudflare den Cache der Domain. Danach in einem privaten Fenster testen.
- Wartungs-Plugins prüfen. Ist ein Plugin für Wartungs- oder „Coming soon“-Seiten aktiv, auch im Seitenbaukasten Elementor unter „Werkzeuge → Wartungsmodus“, dort ausschalten.
- Updates prüfen. Im Backend unter „Dashboard → Aktualisierungen“ nachsehen, welches Update offen ist, und es einzeln neu starten.
Per SSH geht Schritt 3 mit einem Befehl: wp maintenance-mode deactivate. Ob der Modus noch aktiv ist, zeigt wp maintenance-mode status.
Das abgebrochene Update reparieren
Ist die Datei gelöscht und die Seite zeigt einen neuen Fehler, ist das Update auf halbem Weg stehen geblieben. Die Lösung hängt davon ab, was aktualisiert wurde.
Ein Plugin oder Theme. Im Ordner wp-content/plugins (oder themes) den Ordner des betroffenen Plugins umbenennen, etwa in pluginname_aus. Dann im Backend das Plugin frisch von wordpress.org installieren oder die Zip-Datei des Anbieters hochladen. Einstellungen bleiben erhalten, sie liegen in der Datenbank. Welches Plugin es war, verrät oft ein Ordner mit dem Zusatz .tmp oder ein Ordner upgrade in wp-content, in dem noch Reste liegen. Den Inhalt von wp-content/upgrade dürfen Sie leeren.
WordPress selbst. Laden Sie von wordpress.org dieselbe Version herunter, die installiert werden sollte. Ersetzen Sie per FTP die Ordner wp-admin und wp-includes vollständig und kopieren Sie die Dateien aus dem Hauptverzeichnis darüber. Nicht anfassen: den Ordner wp-content und die wp-config.php. Rufen Sie danach /wp-admin/ auf; fragt WordPress nach einer Datenbank-Aktualisierung, bestätigen Sie diese. Mit SSH prüft wp core verify-checksums, ob alle Kerndateien zur Version passen.
Meldung „Eine andere Aktualisierung wird bereits durchgeführt“. Das ist eine Sperre, die WordPress während eines Core-Updates setzt. Sie löst sich nach 15 Minuten selbst. Wer nicht warten will, löscht in der Tabelle wp_options den Eintrag core_updater.lock.
Damit es nicht wieder passiert: Updates einzeln einspielen statt alle auf einmal, vor großen Updates ein Backup, und auf kleinen Tarifen nicht zwanzig Plugins gleichzeitig. Wie ich das in der laufenden WordPress-Wartung mache: Updates zuerst auf einer Kopie, dann live.
Wie kann ich WordPress auf Wartungsmodus setzen?
Der eingebaute Wartungsmodus ist für Updates gedacht und schaltet sich nach zehn Minuten von selbst ab. Für einen Umbau, einen Shop-Umzug oder einen Relaunch über Stunden brauchen Sie einen anderen Weg. Drei Möglichkeiten, von einfach bis technisch.
Wie schalte ich den Wartungsmodus mit einem Plugin ein?
Im Plugin-Verzeichnis auf wordpress.org gibt es mehrere Plugins für Wartungs- und „Coming soon“-Seiten. Installieren, aktivieren, Text eintragen, Schalter auf „aktiv“. Eingeloggte Administratoren sehen die Seite normal, alle anderen die Wartungsseite. Achten Sie bei der Auswahl auf zwei Dinge: Das Plugin muss den Statuscode 503 senden, nicht 200, und es sollte regelmäßig aktualisiert werden. Wer Elementor nutzt, braucht kein zusätzliches Plugin, der Wartungsmodus ist dort eingebaut.
Mit WP-CLI
Wer SSH-Zugang hat, schaltet den Modus mit WP-CLI. Die Befehle gibt es im offiziellen Befehlssatz:
wp maintenance-mode activate
wp maintenance-mode status
wp maintenance-mode deactivate
activate legt die Datei .maintenance an, deactivate entfernt sie, status zeigt den aktuellen Zustand. Für Skripte gibt es zusätzlich wp maintenance-mode is-active. Wichtig: Auch hier gilt die Zehn-Minuten-Grenze aus dem WordPress-Kern. Der Befehl eignet sich für kurze Arbeiten, etwa ein Update per Skript, nicht für einen halben Tag Umbau.
Mit eigenem Code
Für längere Wartungen ohne Plugin reicht ein kleines Must-Use-Plugin. Legen Sie die Datei wp-content/mu-plugins/wartung.php an (den Ordner mu-plugins gegebenenfalls erstellen):
<?php
add_action( 'template_redirect', function () {
if ( current_user_can( 'manage_options' ) ) {
return;
}
header( 'Retry-After: 3600' );
wp_die(
'Diese Website wird gerade gewartet. Bitte versuchen Sie es in einer Stunde erneut.',
'Wartung',
array( 'response' => 503 )
);
} );
Administratoren sehen die Seite normal, Login und Backend bleiben erreichbar, alle anderen bekommen die Meldung mit Statuscode 503. Zum Beenden die Datei löschen oder umbenennen. Wer die Standardmeldung bei Updates gestalten will, legt eine eigene Datei wp-content/maintenance.php an; WordPress lädt sie dann statt seines Textes.
Wartungsmodus und SEO: Statuscode 503 und Retry-After
Für Google ist entscheidend, welchen Statuscode die Wartungsseite liefert. Ein 503 sagt: vorübergehend nicht verfügbar, bitte später wiederkommen. Google lässt die Seiten dann im Index. Liefert ein Plugin die Wartungsseite dagegen mit 200, sieht Google eine Seite mit fast keinem Inhalt und kann diesen Text statt Ihrer Inhalte übernehmen. Prüfen lässt sich das in den Entwicklerwerkzeugen des Browsers (F12, Reiter „Netzwerk“) oder mit curl -I https://ihre-domain.de.
Retry-After nennt die Wartezeit in Sekunden: 600 sind zehn Minuten, 3600 eine Stunde. Halten Sie die Wartung kurz. Bleibt eine Seite über Tage auf 503, nimmt Google sie nach und nach aus dem Index. Für längere Umbauten ist eine Kopie der Seite, an der Sie arbeiten, während die alte live bleibt, der bessere Weg.
Wann Sie mich rufen sollten
- Nach dem Löschen der
.maintenanceerscheint ein anderer Fehler, und Sie wissen nicht, welches Update abgebrochen ist. - Das Core-Update ist halb eingespielt und das Backend lädt nicht mehr.
- Der Webspace ist voll und Sie wissen nicht, was gelöscht werden darf.
- Es ist ein Shop, und jede Stunde Wartungsmodus kostet Bestellungen.
Diagnose kostenlos, Behebung zum Festpreis von 149 € netto bis zwei Stunden Arbeit. Braucht es mehr, nenne ich vorher den Festpreis. Antwort werktags innerhalb von 24 Stunden. Andere Fehlerbilder finden Sie in der Übersicht WordPress-Fehler beheben; zeigt die Seite nach dem Update „Es gab einen kritischen Fehler“, hilft die Anleitung zum kritischen Fehler in WordPress. Ist die Seite gar nicht mehr erreichbar, lesen Sie Website nicht erreichbar.
Häufige Fragen
Wo finde ich die Datei .maintenance?
Im WordPress-Hauptverzeichnis, im selben Ordner wie wp-config.php, wp-admin und wp-content. Sie ist versteckt, weil ihr Name mit einem Punkt beginnt. Im FTP-Programm die Anzeige versteckter Dateien einschalten.
Darf ich die Datei .maintenance einfach löschen?
Ja, wenn kein Update mehr läuft. Sie enthält nur einen Zeitstempel. Warten Sie nach dem Start eines Updates ein paar Minuten, bevor Sie eingreifen, sonst unterbrechen Sie ein laufendes Update.
Ich finde keine .maintenance-Datei, die Meldung bleibt aber.
Dann liefert ein Cache die alte Wartungsseite aus, oder ein Wartungs-Plugin ist aktiv. Cache-Plugin, Server-Cache und gegebenenfalls Cloudflare leeren und die Plugins prüfen.
Wie lange darf eine Seite im Wartungsmodus sein?
So kurz wie möglich, besser Minuten als Stunden. Mit Statuscode 503 schadet eine kurze Wartung bei Google nicht. Über mehrere Tage nimmt Google die Seiten nach und nach aus dem Index.
Sehen eingeloggte Administratoren die Wartungsseite?
Bei Wartungs-Plugins und beim Code-Beispiel oben nicht, Administratoren sehen die normale Seite. Beim eingebauten Wartungsmodus während eines Updates sehen alle die Meldung.
Was kostet es, wenn Sie das abgebrochene Update reparieren?
Die Diagnose ist kostenlos, die Behebung kostet 149 € netto bis zwei Stunden Arbeit. Mit Wartungsvertrag ist sie inklusive.
Notfall melden
Notfall melden
Drei Angaben, keine Registrierung. Sie bekommen sofort eine Eingangsbestätigung mit den Sofortmaßnahmen und werktags innerhalb von 24 Stunden meine Diagnose mit Festpreis-Angebot.
Ich lese jede Nachricht selbst und antworte werktags innerhalb von 24 Stunden. Kai Rauch
Sofortige Eingangsbestätigung, werktags innerhalb von 24 Stunden Diagnose und Angebot.