Manuel Killert
Ratgeber · Fehler 504 · WordPress

WordPress 504 Gateway Timeout — wenn der Server zu lange braucht.

„504 Gateway Timeout“ bedeutet: Ein Server in der Mitte hat auf WordPress gewartet und irgendwann aufgegeben. WordPress ist dabei oft nicht abgestürzt, sondern nur zu langsam. Die Frage ist also nicht „was ist kaputt“, sondern „was dauert so lange“. Hier steht, wie du das herausfindest.

Referenzen ansehen →Hilfe anfragen
Kurz gesagt

Ein 504 entsteht, wenn ein vorgeschalteter Server — Nginx, ein Load-Balancer, Cloudflare — auf die Antwort von PHP wartet und die Zeitgrenze überschritten wird. Typische Auslöser: lange Vorgänge wie Import, Export oder Backup, externe Anfragen, die hängen, langsame Datenbankabfragen, überlastetes Hosting oder Bot-Wellen. Tritt der Fehler nur bei einer bestimmten Aktion auf, ist der Auslöser fast gefunden.

Was genau passiert.

Viele Hoster betreiben WordPress nicht mit einem einzigen Server, sondern mit einer Kette: Ein Webserver wie Nginx nimmt die Anfrage an und reicht sie an PHP weiter, oft steht davor noch ein Proxy oder ein CDN. Jede Stufe hat eine Zeitgrenze, meist zwischen 30 und 120 Sekunden. Braucht PHP länger, bricht die vordere Stufe ab und liefert den 504. Anders als bei einem Fehler 500 läuft das PHP-Skript im Hintergrund manchmal sogar weiter. Deshalb ist ein Import nach einem 504 gelegentlich trotzdem durchgelaufen — oder halb.

AuftretenWahrscheinlicher Auslöser
Nur bei einer bestimmten Aktion (Import, Export, Backup, Update)Der Vorgang dauert länger als die Zeitgrenze
Nur auf bestimmten SeitenAufwendige Abfrage oder externe Anfrage auf dieser Seite
Zufällig verteilt, besonders zu StoßzeitenÜberlastung, zu wenige PHP-Prozesse, Bot-Welle
Im ganzen BackendPlugin, das bei jedem Backend-Aufruf eine externe Anfrage macht
Plötzlich überall, vorher nieStörung beim Hoster oder einem externen Dienst, Hack mit Last

Wann tritt der Fehler auf?

Notiere Uhrzeit, Adresse und Aktion. Mit genau diesen Angaben findet der Hoster-Support den Eintrag in seinen Protokollen, und du selbst kannst im Fehlerprotokoll nachsehen, ob zur selben Zeit PHP-Meldungen auftauchen. Das Plugin Query Monitor zeigt für einzelne Seitenaufrufe, welche Datenbankabfragen und externen Anfragen wie lange gedauert haben.

Lange Vorgänge.

Produktimporte, große Exporte, Bildneuberechnungen, Backups und Migrationen dauern oft Minuten. Im Browser gestartet, laufen sie unweigerlich in die Zeitgrenze. Lösungen:

  • In Pakete teilen: Viele Import-Plugins können in Schritten arbeiten. Kleinere Pakete wählen.
  • Im Hintergrund laufen lassen: Gute Plugins nutzen dafür die Aufgabenplanung statt eines langen Browser-Aufrufs.
  • Per Kommandozeile: Mit WP-CLI laufen Importe, Suchen-und-Ersetzen und Bildneuberechnungen ohne Zeitgrenze des Webservers.
  • Backups außerhalb der Stoßzeiten und möglichst vom Hoster statt per Plugin.
Lange Vorgänge per WP-CLI statt im Browser
# Alle Bildgrößen neu erzeugen — ohne Zeitgrenze des Webservers
wp media regenerate --only-missing --yes

# Fällige geplante Aufgaben manuell abarbeiten
wp cron event run --due-now

# Datenbank-Export ohne Plugin
wp db export backup-$(date +%F).sql

WP-CLI ist bei vielen Hostern per SSH vorinstalliert. Die Befehle im WordPress-Hauptverzeichnis ausführen.

Externe Anfragen, die hängen.

Viele Plugins fragen bei jedem Aufruf einen fremden Server: Lizenzprüfung, Wechselkurse, Versandkosten, Social-Media-Zähler, Newsletter-Dienste. Antwortet dieser Server langsam oder gar nicht, wartet WordPress — bis zum Timeout. Query Monitor zeigt solche Anfragen unter „HTTP API Calls“ mit Dauer. Die Lösung ist ein Plugin, das Ergebnisse zwischenspeichert, eine kürzere Wartezeit oder das Ersetzen des Plugins. Im Backend ist das der häufigste Grund für Trägheit: Backend langsam.

Langsame Datenbank.

Große Shops, Lernplattformen und Seiten mit vielen Jahren Inhalt sammeln Daten: Revisionen, abgelaufene Transients, Sitzungen, Protokolltabellen von Plugins. Eine Abfrage ohne passenden Index auf einer Tabelle mit Millionen Zeilen dauert dann Sekunden. Aufräumen hilft, ebenso ein Objekt-Cache wie Redis, wenn der Hoster ihn anbietet. Speziell für Shops: WooCommerce langsam.

Überlastung und Bots.

Hat der Tarif nur wenige PHP-Prozesse, reicht eine Handvoll gleichzeitiger langsamer Anfragen, und alle weiteren warten in der Schlange — bis zum 504. Auslöser sind oft Bots, die die Suche, Filter oder den Warenkorb massenhaft aufrufen. Die Zugriffsprotokolle zeigen das. Hilfreich sind Seiten-Caching, eine Sperre aggressiver Bots und ein Blick auf den Tarif. Ist die Website schlicht gewachsen, ist mehr Leistung die ehrliche Antwort. Wird die Last zu groß, sperren manche Hoster die Seite: Hoster-Sperre.

Cloudflare: 504 oder 524.

Steht Cloudflare vor der Seite, meldet es eine überschrittene Zeitgrenze zu deinem Server meist als Fehler 524, nach rund 100 Sekunden. Ein 504 mit Cloudflare-Seite kann dagegen bedeuten, dass Cloudflare selbst oder dein Server-Gateway nicht rechtzeitig geantwortet hat. In beiden Fällen gilt: Der eigentliche Engpass liegt hinter Cloudflare. Die Zeitgrenze von Cloudflare lässt sich im normalen Tarif nicht verlängern, der Vorgang muss kürzer werden.

Wenn du nicht weiterkommst.

Timeouts, die zufällig auftreten oder sich nicht einer Aktion zuordnen lassen, brauchen einen Blick in Server-Protokolle und Messwerte. Ich finde die Ursache, behebe sie und erkläre dir, was passiert ist: WordPress-Hilfe, bei einem Totalausfall der Notfall-Support. Damit es gar nicht erst so weit kommt: WordPress-Wartung.

Wer hilft.

Ich bin Manuel Killert, WordPress-Entwickler aus Quakenbrück. Seit 2020 baue und betreue ich WordPress-Websites — für Handwerksbetriebe, Industrie, Gastronomie, Start-ups und Vereine —, entwickle eigene Plugins und unterrichte WordPress als Dozent an der KW Design Akademie. Das heißt: Ich kenne die typischen Fehler nicht nur aus Foren, sondern aus eigenen Projekten, und ich kann sie so erklären, dass du sie beim nächsten Mal selbst erkennst. Du erreichst mich direkt, ohne Ticketsystem.

Häufige Fragen

FAQ — WordPress 504 Gateway Timeout.

Was bedeutet 504 Gateway Timeout bei WordPress?

Ein vorgeschalteter Server wie Nginx, ein Proxy oder ein CDN hat auf die Antwort von PHP gewartet und nach Ablauf der Zeitgrenze aufgegeben. WordPress ist dabei oft nicht abgestürzt, sondern zu langsam.

Was sind typische Auslöser für einen 504?

Lange Vorgänge wie Importe, Exporte und Backups, externe Anfragen von Plugins, die hängen, langsame Datenbankabfragen, zu wenige PHP-Prozesse und Bot-Wellen.

Wie vermeide ich 504 bei großen Importen?

Den Import in kleinere Pakete teilen, im Hintergrund laufen lassen oder per WP-CLI auf der Kommandozeile ausführen. Dort gilt die Zeitgrenze des Webservers nicht.

Wie finde ich heraus, was so lange dauert?

Das Plugin Query Monitor zeigt Datenbankabfragen und externe Anfragen mit ihrer Dauer. Mit Uhrzeit und Adresse kann auch der Hoster-Support in seinen Protokollen nachsehen.

Was ist der Unterschied zwischen 504 und 524 bei Cloudflare?

Einen 524 meldet Cloudflare, wenn dein Server nach rund 100 Sekunden nicht geantwortet hat. In beiden Fällen liegt der Engpass hinter Cloudflare, und der Vorgang muss kürzer werden.

Hilft ein größerer Hosting-Tarif?

Wenn der Fehler zu Stoßzeiten oder durch zu wenige PHP-Prozesse entsteht, ja. Bei einem einzelnen langen Vorgang oder einem hängenden Plugin löst mehr Leistung das Problem dagegen nicht.

Manuel Killert (rechts im Bild) mit einem FreundDas bin ich – rechts im Bild
Kontakt

Erzähl mir, was nicht funktioniert.

Domain und eine kurze Beschreibung reichen — du bekommst eine ehrliche Einschätzung, was los ist und was die Behebung kostet.

Antwort meist innerhalb von 24 Stunden · hallo@manuelkillert.de