Login ins Backend klappt nach dem Update nicht mehr: Ursachen und Lösungen

Veröffentlicht am

· von Norbert Hofmann

Kurz gesagt: Nach einem Update scheitert der Login meist an einer von fünf Ursachen: alte Cookies oder Cache, ein inkompatibles Plugin, eine hängengebliebene Wartungsmodus-Datei, ein noch ausstehendes Datenbank-Update oder falsche URLs bzw. HTTPS-Einstellungen. Arbeite die Punkte unten der Reihe nach ab. Fast immer hilft schon das Löschen der Cookies oder das vorübergehende Deaktivieren aller Plugins per FTP.

Wichtig ist, was genau passiert, wenn du dich anmeldest. Das Symptom zeigt dir den richtigen Einstieg:

SymptomWahrscheinliche UrsacheAbschnitt
Login-Formular lädt nach dem Absenden einfach neu, keine FehlermeldungCookies, Cache, URL- oder HTTPS-Konflikt1, 5
„Fehler: Cookies sind blockiert oder werden von deinem Browser nicht unterstützt“Cookies, Ausgabe vor Headern1, 5
„Kurzzeitig nicht verfügbar wegen planmäßiger Wartungsarbeiten“Datei .maintenance hängt3
„Es gab einen kritischen Fehler auf dieser Website“ oder weiße SeitePlugin/Theme inkompatibel oder PHP zu alt2
„Datenbank-Aktualisierung erforderlich“ in EndlosschleifeDatenbank-Update hängt, Object-Cache4
Zu viele Weiterleitungen (ERR_TOO_MANY_REDIRECTS)URL- oder HTTPS-Konflikt5
Passwort wird als falsch abgelehntSicherheits-Plugin, Passwort zurücksetzen6

1. Cookies und Cache löschen

Nach einem Update passen alte Anmelde-Cookies manchmal nicht mehr. Lösche im Browser die Cookies für deine Domain oder teste in einem privaten Fenster. Nutzt du ein Caching-Plugin oder einen Cache beim Hoster (etwa Varnish, Nginx-Cache, Cloudflare), leere auch diesen. Die Seiten /wp-login.php und /wp-admin/ dürfen nie gecacht werden.

2. Plugins und Theme per FTP deaktivieren

Der häufigste echte Grund: Ein Plugin oder das Theme verträgt die neue WordPress- oder PHP-Version nicht. Ohne Zugang zum Dashboard gehst du so vor:

  1. Verbinde dich per FTP/SFTP oder über den Dateimanager deines Hosters.
  2. Benenne wp-content/plugins in plugins-aus um. Damit sind alle Plugins deaktiviert.
  3. Versuche dich anzumelden. Klappt es, benenne den Ordner zurück in plugins und aktiviere die Plugins im Dashboard einzeln, bis der Fehler wieder auftritt.
  4. Hilft das nicht, benenne den Ordner deines aktiven Themes unter wp-content/themes/ um. WordPress fällt dann auf ein Standard-Theme zurück, sofern eines installiert ist.

Bei einem „kritischen Fehler“ schickt WordPress außerdem eine E-Mail an die Admin-Adresse mit einem Link in den Wiederherstellungsmodus. Über diesen Link meldest du dich an, obwohl das fehlerhafte Plugin pausiert ist, und kannst es direkt deaktivieren. Schau auch in den Spam-Ordner.

3. Hängenden Wartungsmodus beenden

Während eines Updates legt WordPress im Hauptverzeichnis die Datei .maintenance an und löscht sie danach wieder. Bricht das Update ab, bleibt sie liegen und die Seite zeigt dauerhaft den Wartungshinweis. Lösche die Datei per FTP (sie beginnt mit einem Punkt, eventuell musst du versteckte Dateien einblenden). Prüfe danach im Dashboard unter Dashboard → Aktualisierungen, ob das Update vollständig durchgelaufen ist, und wiederhole es gegebenenfalls. Wie ein sauberes Update abläuft, steht in Wie führe ich ein Upgrade durch?.

4. Datenbank-Update in der Schleife

Nach einem größeren Versionssprung verlangt WordPress ein Datenbank-Update. Rufe dazu direkt https://deine-domain.de/wp-admin/upgrade.php auf. Kommt die Aufforderung danach immer wieder, ist meistens ein persistenter Object-Cache (Redis, Memcached) schuld, der die alte Versionsnummer liefert. Leere ihn über das Hosting-Panel, oder benenne vorübergehend die Datei wp-content/object-cache.php um.

5. URLs und HTTPS prüfen

Stimmen die gespeicherten Adressen („WordPress-Adresse“ und „Website-Adresse“) nicht mit der tatsächlich aufgerufenen Domain überein, setzt WordPress das Cookie für die falsche Domain und du landest wieder auf dem Login. Typisch sind Unterschiede zwischen www und ohne sowie zwischen http und https. Ohne Dashboard setzt du die Adressen vorübergehend in der wp-config.php:

define( 'WP_HOME', 'https://www.deine-domain.de' );
define( 'WP_SITEURL', 'https://www.deine-domain.de' );

Alle Wege dazu, auch dauerhaft in der Datenbank, zeigt WordPress-URL ändern. Die Meldung „Cookies sind blockiert“ kann außerdem entstehen, wenn vor dem Setzen des Cookies bereits etwas ausgegeben wurde, etwa ein Leerzeichen am Dateiende. Das ist in Cannot modify header information beschrieben.

6. Passwort zurücksetzen und Sicherheits-Plugins prüfen

Sicherheits-Plugins mit Login-Sperre, geänderter Login-URL oder Zwei-Faktor-Anmeldung reagieren nach Updates manchmal unerwartet. Das löst Schritt 2 mit. Wird das Passwort als falsch abgelehnt, nutze „Passwort vergessen?“ auf der Login-Seite. Kommt keine Mail an, hilft einer der Wege unten für Fortgeschrittene.

Für Fortgeschrittene: WP-CLI, Debug-Log und Datenbank

Mit WP-CLI erledigst du die Schritte oben in Sekunden:

# alle Plugins deaktivieren (Liste vorher sichern)
wp plugin list --status=active --field=name > aktive-plugins.txt
wp plugin deactivate --all

# ausstehendes Datenbank-Update ausführen, Cache leeren
wp core update-db
wp cache flush

# URLs prüfen
wp option get home
wp option get siteurl

# Passwort neu setzen
wp user update admin --user_pass='NeuesSicheresPasswort'

# Plugins wieder aktivieren
wp plugin activate $(cat aktive-plugins.txt)

Um die Ursache eines kritischen Fehlers zu sehen, schaltest du in der wp-config.php das Debug-Log ein und schaust danach in wp-content/debug.log:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Steht die Seite hinter einem Reverse Proxy oder Load Balancer, der HTTPS beendet, erkennt WordPress die sichere Verbindung nicht und erzeugt eine Weiterleitungsschleife. Dann hilft vor der Zeile /* That's all, stop editing! */:

if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' === $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
    $_SERVER['HTTPS'] = 'on';
}

Ohne Shell setzt du das Passwort notfalls in phpMyAdmin: In der Tabelle wp_users das Feld user_pass bearbeiten, als Funktion MD5 wählen und das neue Passwort eintragen. WordPress akzeptiert den alten MD5-Hash beim nächsten Login einmalig und ersetzt ihn automatisch durch einen sicheren Hash. Ändere das Passwort danach trotzdem im Profil.

Frage dazu? Kommst du trotzdem nicht rein? Beschreib im WPDE-Forum unter „Fehler & Probleme“, was nach dem Absenden des Formulars passiert, und häng die relevanten Zeilen aus dem debug.log an (ohne Passwörter).

Ein allgemeines Vorgehen für alle Fehlerarten findest du in Wie gehe ich am besten vor, wenn Fehler in meinem Blog auftreten?.

Häufige Fragen

Gehen Inhalte verloren, wenn ich den Plugin-Ordner umbenenne?

Nein. Die Plugins werden nur deaktiviert, ihre Einstellungen bleiben in der Datenbank. Nach dem Zurückbenennen aktivierst du sie wieder.

Kann ich ein Update rückgängig machen?

Am sichersten über das Backup von vor dem Update. Einzelne Plugins lassen sich mit WP-CLI auf eine ältere Version setzen, etwa wp plugin install plugin-name --version=1.2.3 --force. Das ist aber nur eine Übergangslösung, bis der Hersteller die Inkompatibilität behebt.

Wie verhindere ich das beim nächsten Mal?

Vor jedem größeren Update ein Backup anlegen, idealerweise erst auf einer Staging-Kopie testen und die PHP-Anforderungen deiner Plugins im Blick behalten. Details zu Backups findest du in Backup von WordPress erstellen.

Quellen

Über den Autor: Norbert Hofmann

Norbert betreibt das WPDE-Forum und hat jahrelang im technischen Support eines Webhosters täglich WordPress-Seiten betreut. Heute arbeitet er als Cyber Defense Analyst, hat Sicherheitslücken in WordPress-Plugins gefunden (veröffentlichte CVEs) und engagiert sich mit deepfake.de gegen Betrug mit Deepfakes. Mehr auf norberthofmann.com.

Weitere Antworten