.png&w=3840&q=75)
Websites & Hosting3 min
Troubleshooting cURL Error 28: Connection Timed Out
NS
NameSilo Staff9/10/2026
Share
The "cURL error 28: Connection timed out" error occurs when your web server takes too long to receive a response from a third-party external server. This is typically caused by aggressive server firewalls blocking outbound requests, an outdated PHP/cURL library version, or restrictive DNS settings on your hosting account.
What Is the PHP cURL Library?
cURL is the tool WordPress and most web applications use to make outbound HTTP requests, checking for plugin updates, verifying a theme license, syncing with a payment gateway, or calling any external API. Every time your site needs data from somewhere else on the internet, cURL is what fetches it.
Error 28 specifically means the request was sent, but no response arrived before the configured timeout expired. It's a waiting-too-long error, not a "destination doesn't exist" error.
Why It Matters: Breaking Critical Integrations Instantly
A failed cURL request doesn't just show an ugly error message. It silently breaks whatever depended on that connection: a payment gateway that never confirms a transaction, a premium theme that won't validate its license, a plugin update that stalls indefinitely. These failures often surface as vague, unrelated symptoms rather than an obvious "cURL error" banner, making them frustrating to trace back to the real cause.
Root Cause 1: Firewalls Blocking Outbound Requests
Both server-level firewalls (like ModSecurity) and WordPress security plugins (Wordfence, Sucuri) can intercept outbound cURL calls, sometimes flagging a legitimate API request as suspicious traffic and silently dropping it.
A special case worth knowing: "loopback" errors happen when WordPress tries to contact its own site, often for cron jobs or REST API checks, and a security plugin blocks that self-request, mistaking it for an external threat.
Root Cause 2: Outdated cURL and OpenSSL Libraries
The cURL library's version is bundled with your server's PHP version, not independently upgradable on its own. An older PHP version running an outdated cURL/OpenSSL combination can fail to negotiate modern TLS connections that current external APIs require.
Implementation Steps: Isolating Destination vs Origin
Step 1: Check WordPress Site Health. Go to Tools → Site Health in your dashboard. It will show whether the error relates to REST API/loopback requests or an external service specifically.
Step 2: Test the destination independently. Try reaching the third-party API or service from a different device or network entirely. If it's unreachable there too, the problem is on their end, not yours.
Step 3: Isolate WordPress-side causes. Temporarily deactivate security and caching plugins one at a time, rechecking Site Health after each, to identify whether a plugin's firewall is the source.
Step 4: Increase PHP timeout limits. In cPanel, go to Software → MultiPHP INI Editor and raise max_execution_time. While there, confirm you're running a current PHP version, since that also determines your cURL/OpenSSL versions.
Step 5: If the origin server is the cause, contact support. Server-level firewall rules on shared hosting aren't self-manageable; NameSilo support can check whether a specific destination IP is being blocked and whitelist it if needed.
What This Means for You
NameSilo Hosting runs current PHP versions with up-to-date cURL and OpenSSL libraries, and support can investigate server-side firewall blocks when the destination server itself checks out fine.
Frequently Asked Questions
What does cURL error 28 mean?
A request timed out waiting for a response from an external server.
How do I fix connection timed out in WordPress?
Check Site Health, isolate plugins, raise PHP timeout limits, then contact support if needed.
Can a firewall cause a cURL error?
Yes, both server-level firewalls and WordPress security plugins commonly cause this.
How do I update my cURL version in cPanel?
Upgrade your PHP version via MultiPHP Manager; cURL is bundled with it.
Why are my WordPress plugins failing to update?
Often a blocked or timed-out cURL request to the plugin update server.
Does increasing PHP timeout fix cURL 28?
Sometimes, if the destination is simply slow rather than actively blocked.
How do I check if a third-party API is down?
Test the connection from a different network to rule out your own server.
Does NameSilo hosting restrict outbound cURL requests?
Not by default; contact support if a specific destination appears blocked.
.png&w=2048&q=75)
NameSilo StaffThe NameSilo staff of writers worked together on this post. It was a combination of efforts from our passionate writers that produce content to educate and provide insights for all our readers.
More articleswritten by NameSilo

.png&w=3840&q=75)
.png&w=3840&q=75)