WordPress-FehlerMeldungen von WordPress
WordPress: „Maximum execution time exceeded“ verstehen und beheben
PHP beendet ein Skript, das länger rechnet als in max_execution_time erlaubt, ab Werk nach 30 Sekunden. In WordPress trifft das vor allem Importe, Sicherungen, Updates, die Bildbearbeitung und fehlerhafte Plugins. Oft zeigt die Seite nur den kritischen Fehler, den genauen Wortlaut liefert das Fehlerprotokoll. Abhilfe schafft ein höherer Wert im Hosting-Panel oder in der php.ini. Sehr lange Aufgaben erledigst Du besser mit WP-CLI, denn auf der Kommandozeile gilt keine Zeitgrenze.
So sieht die Meldung aus
Fatal error: Maximum execution time of 30 seconds exceededMaximum execution time of 60 seconds exceededMaximum execution time of 300 seconds exceeded
Woran es liegt.
Große Importe und Exporte
Das Einlesen vieler Beiträge, Produkte oder Bilder in einem Rutsch dauert länger als die erlaubten Sekunden. Der Import endet mittendrin und hinterlässt einen halben Datenbestand.
Sicherungen ohne Etappen
Sicherungs-Plugins packen Dateien und Datenbank in ein Archiv. Bei großen Seiten reicht die Zeit eines einzigen Aufrufs dafür nicht, wenn das Plugin die Arbeit nicht in mehrere Durchläufe aufteilt.
Rechenintensive Bildbearbeitung
Beim Erzeugen der Bildgrößen rechnet PHP mit GD oder Imagick. Bei sehr großen Fotos oder beim Neuberechnen aller Vorschaubilder summiert sich das schnell über die Grenze hinaus.
Endlosschleife im Code
Ein Fehler in einem Plugin oder Theme lässt eine Schleife nie enden. Dann bringt auch eine höhere Grenze nichts, der Abbruch kommt nur etwas später.
Knappe Grenze beim Hoster
Manche Hoster setzen max_execution_time niedrig an und erlauben keine Änderung. Andere trennen die Verbindung schon am Webserver, bevor PHP selbst an seine Grenze kommt.
So behebst Du den Fehler.
Leg vor jeder Änderung eine Sicherung von Dateien und Datenbank an. Geh die Schritte der Reihe nach durch und prüf nach jedem, ob die Seite wieder lädt.
Stelle des Abbruchs ermitteln
Die Zeile mit „Maximum execution time“ im Protokoll nennt Datei und Zeilennummer, an der PHP gestoppt hat. Aktiviere dafür WP_DEBUG_LOG in der wp-config.php oder schau in das Fehler-Log im Hosting-Panel. Der Ordnername unter wp-content/plugins verrät, welches Plugin zu lange lief.
Die geltende Zeitgrenze ansehen
Unter Werkzeuge → Website-Zustand → Bericht nennt der Abschnitt „Server“ die „Maximale PHP-Ausführungszeit (max_execution_time)“. Steht dort 30, genügt das für normale Seitenaufrufe, für Importe und Sicherungen aber oft nicht.
max_execution_time erhöhen
Am einfachsten geht es im Hosting-Panel bei den PHP-Einstellungen. Fehlt dort das Feld, gehört der Wert in eine php.ini oder .user.ini, die direkt neben der wp-config.php liegt. Heb vorher eine Kopie der alten Datei auf. 300 Sekunden sind ein üblicher Wert für Importe. Den Wert 0, also gar keine Grenze, solltest Du auf einem Webserver nicht setzen.
php.ini oder .user.ini max_execution_time = 300Zeitgrenze aus der wp-config.php setzen
Lässt sich die php.ini nicht ändern, kann die wp-config.php die Grenze bei jedem Aufruf neu setzen. Die Abfrage mit function_exists verhindert einen Absturz, falls der Hoster set_time_limit abgeschaltet hat. Sperrt der Server den Wert fest, bleibt der Befehl ohne Wirkung.
wp-config.php if ( function_exists( 'set_time_limit' ) ) { set_time_limit( 300 ); }Lange Aufgaben mit WP-CLI erledigen
Auf der Kommandozeile hat PHP keine Zeitgrenze. Datenbank-Sicherungen, Importe und das Neuberechnen von Bildern laufen dort ohne Abbruch durch. Du brauchst dafür SSH-Zugang, für wp import außerdem das aktive Plugin WordPress Importer.
Terminal (WP-CLI) wp db export sicherung.sql wp media regenerate --yes wp import inhalte.xml --authors=createArbeit in kleinere Pakete teilen
Teile große Importdateien in mehrere kleine auf und stelle Sicherungs-Plugins auf Etappen oder einen nächtlichen Zeitplan um. Viele Import-Plugins lassen Dich einstellen, wie viele Einträge sie pro Durchlauf verarbeiten.
Grenze des Webservers mit dem Hoster klären
Hilft ein höherer PHP-Wert nicht und erscheint stattdessen ein Fehler 504, bricht der Webserver vorher ab. Bei nginx regelt das fastcgi_read_timeout, bei Apache die Einstellung Timeout. Diese Werte ändert in der Regel nur der Hoster.
Zuletzt geprüft am 25. September 2026.
So kommt er nicht wieder.
- Importe und Exporte in handlichen Paketen durchführen statt alles auf einmal.
- Sicherungen über den Hoster oder per WP-CLI laufen lassen, nicht als einen langen Aufruf im Browser.
- Regelmäßige Aufgaben in die Nacht legen und ihre Dauer im Blick behalten.
- Plugins meiden, die bei jedem Seitenaufruf aufwendige Berechnungen anstoßen.
Fragen zu Maximum execution time exceeded
Wo stelle ich max_execution_time ein?
Warum läuft mein Import länger als 30 Sekunden ohne Fehler?
Ist max_execution_time 0 eine gute Idee?
Was hat der Fehler mit 504 Gateway Timeout zu tun?
Verwandte Fehler
- 504 Gateway TimeoutDer vorgeschaltete Server wartet zu lange auf PHP. Meist bremsen Importe, Datenbank oder externe Dienste.
- Allowed memory size exhaustedPHP hat mehr Arbeitsspeicher gebraucht als erlaubt. Limit anheben oder das Plugin finden, das ihn verbraucht.
- Kritischer Fehler auf dieser WebsitePHP bricht mit einem schweren Fehler ab. Meist Plugin oder Theme, die Admin-E-Mail führt in den Wiederherstellungsmodus.
- The link you followed has expiredDie Datei ist größer als erlaubt oder das Formular war zu lange offen. Meist beim Upload von Theme oder Plugin.
Lieber eine Website, die einfach läuft?
Wir bauen Websites, die schnell laden und ohne Update-Stress laufen. Oder wir übernehmen Deine WordPress-Seite samt Pflege. Erst Dein Paket, dann ein Termin per Video.

Erst Dein Paket, dann der Termin
Im Preisrechner tippst Du an, was Dich bremst. Du siehst sofort Dein Paket mit Preisspanne. Danach wählst Du direkt einen Termin, das Gespräch läuft per Video.
Dein Preis in 2 Minuten