cURL error 28 connection timed out in WordPress oplossen

Home - cURL error 28 connection timed out in WordPress oplossen

Zie je in je WordPress-dashboard de melding “cURL error 28: Connection timed out”? Dat kan behoorlijk frustrerend zijn. Vaak merk je het doordat geplande berichten niet verschijnen, plugins niet meer updaten of een koppeling met een externe dienst (bijvoorbeeld een betaalsysteem, nieuwsbrief of API) plotseling stopt met werken.

Achter de schermen betekent deze fout dat WordPress een verbinding probeert te maken met een andere server, maar daar te laat of helemaal geen reactie op krijgt. WordPress gebruikt hiervoor cURL, een techniek in PHP die verantwoordelijk is voor dit soort verzoeken. Zodra het antwoord uitblijft, haakt cURL af met foutcode 28.

Voor jou als beheerder voelt dat misschien vaag of technisch, maar de gevolgen zijn duidelijk merkbaar: een site die niet helemaal doet wat je verwacht. Het goede nieuws? Vaak is de oorzaak terug te leiden naar een paar veelvoorkomende zaken zoals te strikte beveiligingsinstellingen, een conflict tussen plugins of een trage externe dienst. En dat kun je stap voor stap oplossen.

Wat is cURL en wat gaat er mis?

Om te begrijpen waar foutmelding 28 vandaan komt, moet je weten wat cURL is. Simpel gezegd is cURL een stukje software in PHP dat WordPress gebruikt om te communiceren met de buitenwereld. Het stuurt verzoeken naar andere servers en wacht op een antwoord.

Dat gebeurt vaker dan je misschien denkt. Bijvoorbeeld wanneer:

  • WordPress checkt of er updates zijn voor je thema’s en plugins
  • je site gegevens uitwisselt met een externe dienst, zoals een betaalsysteem, boekhouding of nieuwsbriefsoftware
  • de REST API wordt aangesproken door de block editor of door een plugin die data opvraagt

Normaal gesproken verloopt dit soepel: cURL stuurt een vraag, en de andere server geeft antwoord. Maar als dat antwoord te laat komt of helemaal niet arriveert, haakt cURL af. Dan verschijnt de melding: “cURL error 28: connection timed out.”

Waarom gebeurt dit?

Een timeout kan meerdere oorzaken hebben. De meest voorkomende zijn:

  • Beveiligingslagen: een firewall-plugin of serverconfiguratie blokkeert legitieme verzoeken.
  • Conflicten: een plugin of thema verstoort de REST API.
  • Langzame externe diensten: een API reageert niet binnen de standaard 5 seconden.
  • DNS-problemen: domeinnamen worden te traag opgezocht.
  • SSL-fouten: verlopen of verkeerd geïnstalleerde certificaten.
  • Serverbeperkingen: te weinig PHP-resources of een verouderde cURL/SSL-versie.

Kortom: cURL probeert wel verbinding te maken, maar krijgt te laat of helemaal geen antwoord.

Hoe los je cURL error 28 op?

Hoe los je cURL error 28 op?

Werk van boven naar beneden. Test na elke stap in Gereedschap > Site Health of de melding weg is.

1. Beveiligingsplugin tijdelijk uitzetten

Waarom: firewall-regels blokkeren soms legitieme uitgaande verzoeken.
Zo doe je het: Plugins > Geïnstalleerde plugins en zet je securityplugin tijdelijk uit. Gebruik je Wordfence of iThemes, zet dan de firewall op learning of disable.
Wat daarna: vernieuw Site Health. Is de fout weg, pas dan de regels aan of whitelist de betreffende verzoeken en zet de plugin weer aan.

2. Plugin- of themaconflict uitsluiten

Waarom: een plugin of theme kan de REST API verstoren.
Zo doe je het:

  • Deactiveer alle plugins in Plugins en activeer ze daarna één voor één.
  • Twijfel je aan het theme, schakel kort naar Twenty Twenty-Four via Weergave > Thema’s.
    Wat daarna: zodra de fout verdwijnt, heb je de boosdoener gevonden. Zoek een update, alternatief of neem contact op met de maker.

3. Timeout tijdelijk verhogen

Waarom: sommige externe API’s reageren trager dan de standaard 5 seconden.
Zo doe je het: voeg met Code Snippets of in je child-theme functions.php deze regel toe:

add_filter( 'http_request_timeout', function() { return 60; });

Wat daarna: test opnieuw. Blijft het nodig om 60 te gebruiken, onderzoek dan ook de oorzaak bij de externe dienst.

4. DNS controleren

Waarom: trage naamresolutie kan verzoeken laten vastlopen.
Zo doe je het: noteer de doelgroep-URL uit de foutmelding en vraag je hostingpartij om DNS-resolutie te checken en te optimaliseren.
Wat daarna: opnieuw Site Health controleren.

5. SSL-certificaten controleren

Waarom: verlopen of verkeerd geplaatste certificaten blokkeren HTTPS-verkeer.
Zo doe je het: test je domein met een SSL-checker zoals SSL Labs. Controleer ook tussenliggende certificaten.
Wat daarna: herstel of vernieuw het certificaat en test opnieuw.

6. Serverstack en versies nalopen

Waarom: verouderde PHP, cURL of OpenSSL geven vaker verbindingsfouten.
Zo doe je het: ga in Gereedschap > Site Health > Info naar Server en WordPress-constanten. Controleer PHP-versie, cURL-versie en OpenSSL.
Wat daarna: update via je hostingpaneel of vraag je host om een update.

7. Extra inzicht via logging

Waarom: om precies te zien welk verzoek faalt.
Zo doe je het: schakel tijdelijk logging in wp-config.php in:

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

Bekijk daarna /wp-content/debug.log op regels met http_request_failed of cURL error 28. Zet debug daarna weer uit.

Hulp nodig bij cURL error 28?

Een cURL error 28 lijkt in eerste instantie technisch en ingewikkeld, maar meestal is de oorzaak terug te brengen tot een paar logische stappen: beveiliging, plugins, timeouts, DNS, SSL of serverconfiguratie. Door dit systematisch uit te sluiten, heb je het probleem vaak sneller opgelost dan je denkt.

Kom je er toch niet uit, of wil je dat dit soort fouten blijvend worden voorkomen? Bij Surver zorgen we dat je WordPress-omgeving technisch strak staat en optimaal blijft draaien. Met onze WordPress optimalisatie en webmaster-service lossen we problemen niet alleen op, maar zorgen we ook dat je site sneller, stabieler en veiliger wordt.

Foto van David Ladiges
David Ladiges
Technical Lead
Op deze pagina

Deel dit artikel:

Gerelateerde artikelen