Kurz gesagt: cURL-Fehler 28 bedeutet, dass bei WordPress beim Verbinden mit einem entfernten Server eine Zeitüberschreitung auftrat — am häufigsten bei Plugin-Updates, Theme-Installationen oder HTTP-API-Anfragen. Deaktiviere zuerst die Firewall deines Sicherheits-Plugins; behebt das den Fehler nicht, arbeite die PHP-Speicherlimit- und SSL-Prüfungen unten durch.
Mit „cURL error 28: Connection timed out" auf deiner WordPress-Seite umzugehen, kann frustrierend sein. Dieser Fehler tritt auf, wenn eine Anfrage deiner Seite zu lange braucht, um eine Antwort zu erhalten, was zu einer Zeitüberschreitung führt. Er kann deine Website verlangsamen und das Nutzererlebnis negativ beeinflussen.
In den Support-Tickets, die wir bearbeiten, blockiert die Firewall des Sicherheits-Plugins — insbesondere die Rate-Limiting-Regeln von Wordfence — den ausgehenden cURL-Aufruf in einem beachtlichen Teil der Fälle. Dieser Artikel klärt den cURL-Fehler 28, erklärt, warum er auftritt, und bietet Schritt-für-Schritt-Lösungen.
Contents
Was ist der cURL-Fehler 28?
cURL ist ein Softwaredienstprogramm, das WordPress nutzt, um Daten über verschiedene Protokolle zu übertragen. Der „cURL error 28: Connection timed out after X milliseconds" tritt auf, wenn eine cURL-Anfrage nicht innerhalb der angegebenen Zeitüberschreitungsfrist abgeschlossen wird. Dieser Fehler weist darauf hin, dass der Server nicht schnell genug antworten konnte, was zu einer Zeitüberschreitung führte.

Häufige Gründe für den cURL-Fehler 28
Verschiedene Symptome weisen auf verschiedene Grundursachen hin. Nutze die Tabelle unten, um deine Situation zu identifizieren und zur richtigen Lösung zu springen.
| Symptom | Grundursache | Lösungsmethode |
|---|---|---|
| Fehler nur bei Plugin-Updates oder -Installationen | Firewall des Sicherheits-Plugins blockiert ausgehende Anfragen | Methode 1: Firewall des Sicherheits-Plugins deaktivieren |
| Fehler bei allen externen Aufrufen, nicht nur bei Updates | Plugin- oder Theme-Konflikt stört die HTTP-API | Methode 2: Konfligierende Plugins deaktivieren |
| Fehler bei HTTPS-Anfragen; HTTP funktioniert | SSL-Fehlkonfiguration oder abgelaufenes Zertifikat | Methode 3: SSL-Probleme mit unsicheren Inhalten lösen |
| Fehler bleibt nach Deaktivieren aller Plugins bestehen | Veraltete cURL-Version, inkompatibel mit PHP | Methode 4: Deine cURL-Version prüfen |
| Fehler nach umfangreichen Datenvorgängen oder Plugin-Installationen | PHP-Speicherlimit zu niedrig für cURL-Anfragen | Methode 5: PHP-Speicherlimit erhöhen |
| Fehler auf einem Managed- oder Shared-Host, wenn alles andere scheitert | Rate-Limiting oder Firewall-Regeln auf Serverebene | Methode 6: Deinen Webhosting-Anbieter kontaktieren |
6 Methoden zur Behebung des cURL-Fehlers 28: Connection Timed Out After X Milliseconds
- Firewall des Sicherheits-Plugins deaktivieren
- Konfligierende Plugins deaktivieren
- SSL-Probleme mit unsicheren Inhalten lösen
- Deine cURL-Version prüfen
- PHP-Speicherlimit erhöhen
- Hilfe von deinem Webhosting-Anbieter holen
Hinweis: Es ist eine gute Idee, deine Website zu sichern, bevor du Änderungen vornimmst. Geht etwas schief, kannst du deine Seite schnell in ihren vorherigen Zustand zurückversetzen. Du kannst WP Staging für einfache automatische Backups nutzen. Sieh dir den Backup- und Wiederherstellungs-Leitfaden an, falls du mehr Hilfe brauchst.
1. Firewall des Sicherheits-Plugins deaktivieren
Ein Firewall-Plugin in WordPress fügt eine zusätzliche Sicherheitsebene hinzu, indem es schädlichen Datenverkehr blockiert. Manchmal kann es jedoch übervorsichtig sein und legitime cURL-Anfragen blockieren, was zum Fehler „Operation Timed Out" führt. In den Support-Tickets, die wir bearbeiten, sind die Rate-Limiting-Regeln von Wordfence eine häufige Ursache — die Firewall zuerst zu prüfen ist fast immer der schnellste Weg zur Lösung.
Um zu sehen, ob dein Sicherheits-Plugin das Problem verursacht:
- Die Firewall deaktivieren: Schalte die Firewall-Funktion in deinem Sicherheits-Plugin aus oder deaktiviere das Plugin.

- Die Seite testen: Prüfe, ob der Fehler nach dem Ausschalten der Firewall bestehen bleibt.
- Die Firewall reaktivieren: Schalte die Firewall nach einer kurzen Wartezeit wieder ein.

- Ein anderes Sicherheits-Plugin ausprobieren: Kehrt der Fehler zurück, ziehe ein anderes Sicherheits-Plugin in Betracht oder kontaktiere den Support des Plugins. Manche Plugins erfordern, dass du ihre IP-Adressen auf deine Allowlist setzt, damit legitime Anfragen nicht blockiert werden.
Wenn du diese Schritte befolgst, kannst du feststellen, ob deine Firewall den cURL-Fehler verursacht, und deine Seite sicher halten, ohne notwendige Daten zu blockieren.
2. Konfligierende Plugins deaktivieren
Wenn du Probleme oder Konflikte mit bestimmten Plugins auf deiner WordPress-Website hast, kann es nötig sein, sie vorübergehend zu deaktivieren.
Indem du alle Plugins deaktivierst, kannst du das Problem isolieren und beheben, ohne die Gesamtfunktionalität deiner Website zu beeinträchtigen.
So geht’s:
- Greife auf dein WordPress-Admin-Dashboard zu, indem du dich auf deiner Seite anmeldest.
- Gehe im Seitenleistenmenü zu „Plugins" und klicke darauf. Du siehst eine Liste der installierten Plugins.

- Wähle die Plugins, die du deaktivieren möchtest, indem du die Kontrollkästchen neben ihren Namen anklickst. Du kannst mehrere Plugins gleichzeitig auswählen.

- Sobald du die Plugins ausgewählt hast, suche das Dropdown-Menü „Bulk Actions" oben in der Liste und wähle „Deactivate".
- Klicke auf die Schaltfläche „Apply" neben dem Dropdown-Menü.

Aktualisiere nach dem Deaktivieren der Plugins deine Website, um zu sehen, ob die Aktualisierungen sofort erscheinen. Reaktiviere dann die Plugins einzeln und aktualisiere deine Seite jedes Mal, um das problematische zu identifizieren.
Wiederhole diesen Vorgang, bis du den Übeltäter findest, und ziehe in Betracht, das Plugin zu aktualisieren, zu ersetzen oder den Entwickler des Plugins um Hilfe zu bitten.
3. SSL-Probleme mit unsicheren Inhalten lösen
Ein SSL-Zertifikat (Secure Sockets Layer) ist entscheidend, um Daten zwischen deiner Website und den Besuchern zu sichern. Es stellt sicher, dass alle übertragenen Daten verschlüsselt sind, verhindert unbefugten Zugriff und stärkt das Vertrauen in deine Seite.
Eine korrekte SSL-Implementierung lässt deine Website das HTTPS-Protokoll nutzen und schützt die Verbindung zwischen deinem Server und den Browsern der Nutzer.
SSL-Status im Dashboard des Hostinger-Anbieters prüfen:
Melde dich im Dashboard deines Hosting-Anbieters an (z. B. Hostinger), um den Status deines SSL-Zertifikats zu überprüfen. Stelle sicher, dass es aktiv und korrekt konfiguriert ist, wie im Bild unten gezeigt:

Zeigt das Zertifikat als abgelaufen oder ungültig an, erneuere es über dein Hosting-Control-Panel oder kontaktiere den Support deines Anbieters. Leere nach der Erneuerung deinen Server- und Browser-Cache und führe Werkzeuge → Website-Zustand erneut aus, um zu bestätigen, dass das SSL-Problem behoben ist, bevor du cURL erneut testest.
4. Deine cURL-Version prüfen
- Navigiere zur Seite Website-Zustand in deinem WordPress-Dashboard.
- Wähle den Tab „Infos" und finde den Abschnitt „Server".
- Suche dort die Informationen zur PHP- und cURL-Version.

Stimme deine cURL- und PHP-Versionen für bessere Leistung ab: Um einen reibungslosen Betrieb zu gewährleisten, stelle sicher, dass deine cURL-Version den Anforderungen deiner PHP-Version entspricht.
Nutzt deine Seite beispielsweise PHP 8.1, solltest du mindestens cURL 7.2 haben.

Ist deine cURL-Version veraltet, kontaktiere deinen Hosting-Anbieter und fordere ein Upgrade an. Die meisten Managed-WordPress-Hoster können die cURL-Bibliothek des Servers ohne Ausfallzeit aktualisieren.
5. PHP-Speicherlimit erhöhen
WordPress-Plugins benötigen für viele Funktionen cURL-Anfragen, die viel Speicher verbrauchen können, besonders bei umfangreichen Daten oder komplexen Aufgaben. Sind die Speicher- oder Zeitlimits zu niedrig, siehst du womöglich Fehler wie cURL-Fehler 28, der eine Zeitüberschreitung anzeigt.
Um diese Probleme zu vermeiden, prüfe und passe die PHP-Limits deines Servers an über die Seite Website-Zustand. Du kannst diese Einstellungen auch in der .htaccess– oder wp-config.php-Datei erhöhen, um die Leistung deiner Seite zu verbessern und Zeitüberschreitungen zu vermeiden.
Nutze einen FTP-Client wie FileZilla oder den Dateimanager deines Webhosts, um auf das Stammverzeichnis deiner WordPress-Installation zuzugreifen.

Finde die Datei wp-config.php, klicke mit der rechten Maustaste und wähle die Option „Edit".

Füge die folgende Codezeile vor der Zeile mit /* That's all, stop editing! Happy blogging. */ hinzu und klicke dann auf die Schaltfläche „Save Changes".
define('WP_MEMORY_LIMIT', '256M');
Kehre nach dem Speichern zu Werkzeuge → Website-Zustand → Infos → Server zurück, um zu bestätigen, dass der neue Wert des PHP-Speicherlimits aktiv ist, bevor du den fehlschlagenden Vorgang erneut testest.
6. Hilfe von deinem Webhosting-Anbieter holen
Wenn du alles ausprobiert hast und weiterhin Probleme hast, ist es Zeit, deinen Hosting-Anbieter um Hilfe zu bitten. Er kann andere mögliche Ursachen untersuchen, etwa Konflikte in Sicherheitsmodulen, Rate-Limiting auf Serverebene oder Firewall-Regeln, die ausgehende Verbindungen blockieren.
Wenn du den Support kontaktierst, gib die genaue Fehlermeldung, die WordPress- und PHP-Version aus deiner Website-Zustand-Seite sowie die bereits versuchten Schritte an. Das hilft ihm, das Problem schneller zu diagnostizieren.
Fazit
Die wichtigsten Schritte zur Behebung des cURL-Fehlers 28 umfassen das vorübergehende Ausschalten der WordPress-Firewall und das Deaktivieren von Plugins, um auf Konflikte zu prüfen. Außerdem ist es wichtig, die SSL-Konfigurationen zu überprüfen und sicherzustellen, dass die Server-Ressourcenlimits ausreichend sind.
WordPress und Plugins aktuell zu halten ist entscheidend, um solche Fehler zu verhindern. Bleibt das Problem bestehen, suche Unterstützung bei deinem Webhosting-Anbieter.
Lösung hat nicht funktioniert? Erweiterte Fehlerbehebung
Wenn keine der sechs Methoden oben den Fehler behoben hat, helfen die Schritte unten, die konkrete Ursache zu identifizieren.
WP_DEBUG-Protokollierung aktivieren
Füge die folgenden Zeilen zur wp-config.php hinzu, um den genauen cURL-Fehlerkontext zu erfassen:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Löse nach dem Speichern den fehlschlagenden Vorgang aus (führe beispielsweise ein Plugin-Update durch) und prüfe dann wp-content/debug.log auf Zeilen mit cURL error 28. Der Protokolleintrag zeigt, welche URL die Zeitüberschreitung verursachte, und hilft dir festzustellen, ob das Problem an einem bestimmten entfernten Server liegt oder alle ausgehenden Anfragen betrifft.
Fehler kehrt nach Erhöhen des PHP-Speichers zurück
Wenn das Erhöhen des PHP-Speicherlimits den Fehler nicht gestoppt hat:
- Prüfe deine PHP-Einstellung
max_execution_timein derphp.inioder über diewp-config.php. Ein niedriger Wert kann dazu führen, dass das Skript abläuft, bevor die cURL-Verbindungszeitüberschreitung greift. Erhöhe ihn und teste erneut. - Überprüfe, ob der neue
WP_MEMORY_LIMIT-Wert angewendet wird, indem du zu Werkzeuge → Website-Zustand → Infos → Server navigierst und bestätigst, dass das PHP-Speicherlimit den erwarteten Wert zeigt.
SSL sauber, aber Fehler bleibt bestehen
Wenn dein SSL-Zertifikat gültig ist, cURL aber weiterhin eine Zeitüberschreitung hat:
- Überprüfe, ob der entfernte Server (zum Beispiel
api.wordpress.org) vorübergehend nicht erreichbar ist, indem du die Verbindung aus einem anderen Netzwerk testest. - Bitte deinen Hosting-Anbieter zu bestätigen, dass ausgehende HTTPS-Verbindungen nicht auf der Ebene der Server-Firewall blockiert werden. Manche Shared-Hosting-Umgebungen beschränken ausgehende Verbindungen standardmäßig.
Das konkrete Plugin identifizieren, das die cURL-Blockade verursacht
Um einzugrenzen, welches Plugin die Blockade auslöst, ohne alles auf einmal zu deaktivieren:
- Aktiviere die WP_DEBUG-Protokollierung wie oben gezeigt.
- Deaktiviere Plugins einzeln, beginnend mit Sicherheits- und Caching-Plugins.
- Prüfe nach jeder Deaktivierung
wp-content/debug.logauf neue cURL-Fehler-28-Einträge. - Das Plugin, dessen Deaktivierung neue Protokolleinträge stoppt, ist dasjenige, das die blockierte Anfrage auslöst.