WordPress Timeout beim Login

Wenn man WordPress in einer Netzwerkstruktur betreibt, in der keine Verbindung zu anderen Internetseiten hergestellt werden kann, kommt es bei vielen Aktionen zu langen Wartezeiten bis hin zu Timeouts. Im extremsten Fall kann das dazu führen, das man sich an seinem eigenen WordPress nicht mehr im Backend einloggen kann.

Der Grund dafür ist, das gerade beim Login oder allgemein: Beim Zugriff auf das WordPress-Dashboard, normalerweise ziemlich viele Daten von externen Ressourcen von WordPress geladen und verarbeitet werden. Nachrichten im „WordPress-Nachrichten“-Widget, Informationen ob Updates für WordPress oder Plugins existieren, Twitter-Feeds, … all diese Informationen fragt WordPress bei einem Login im Hintergrund ab und bereitet es für die Anzeige im Dashboard auf. Behindert eine Firewall oder ähnliches diese Zugriffe, wird für jeden dieser Zugriffe eine zeitlang gewartet, ehe für diese Zugriffe ein Timeout erreicht wird. Je mehr Ressourcen hierbei geladen werden, desto länger die Gesamtzeit die das Dashboard benötigt um sich aufzubauen.

In der Regel genügen die WordPress internen Aktionen ohne weitere Plugins um in diesem Fall an die Grenze der definierten PHP max_execution_time() zu geraten. Je nachdem welche Ressourcen im Frontend der Seite verwendet werden, kann es auch sein, das sich die Seite bei Euren Besuchern hierdurch viel langsamer als gewünscht aufbaut.

Die beste Lösung

Die beste Maßnahme diese Probleme zu umgehen ist meiner Meinung nach schlicht und einfach dafür zu sorgen, das WordPress ungehindert auf Ressourcen im Netz zugreifen kann, da sonst wichtige Kerntechniken von WordPress nicht oder nicht optimal funktionieren (Update-Hinweise, laden von News, Abfragen von DNS Informationen, …).

Die zweitbeste Lösung

Sollte es sich, warum auch immer, nicht anders machen lassen als WordPress ohne freien Zugriff auf’s Internet zu betreiben, kann man diese Zugriffe durch einen Eintrag in der wp-config.php – Datei einfach komplett abschalten. Dieses ist in der Regel die bessere Wahl; funktionieren die Zugriffe schließlich ohnehin nicht. Nur kommt es hierbei dann weder zu Script-Timeouts, noch zu langen Ladezeiten:

Funktioniert der Zugriff auf bestimmte Ressourcen, z.B. weil diese Explizit in der Firewall oder einem Proxy freigeschaltet worden sind, kann man diese mit einer weiteren Konfigurationsoption von diesem Block ausnehmen, so das diese dennoch geladen werden:


Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.