cURL Error 28 is a common timeout issue that occurs when a server request takes too long to complete. This error is especially common on WordPress websites, web hosting servers, APIs, plugins, themes, and external service connections. The message usually appears as “Connection timed out after X milliseconds” or “Operation timed out”, indicating that the server failed to receive a response within the allowed time limit.
This issue can disrupt website performance, prevent plugin or theme updates, break payment gateways, stop scheduled tasks, and trigger REST API errors. In WordPress, cURL Error 28 often appears in the Site Health dashboard, warning users that background communication with external services is failing.
The causes can range from slow DNS resolution and firewall restrictions to overloaded servers, low timeout limits, hosting issues, or plugin conflicts. Fortunately, most cases can be resolved through proper troubleshooting.
This guide explains the most effective methods to fix cURL Error 28 on Windows, hosting environments, and WordPress websites, covering both beginner-friendly solutions and advanced server-level fixes.
What Is cURL Error 28?
cURL (Client URL) is a command-line tool and library used for transferring data between servers using various protocols such as HTTP and HTTPS.
Error 28 Means:
The request exceeded the maximum allowed time before receiving a response.
Common Error Messages:
- cURL error 28: Connection timed out
- Operation timed out after X milliseconds
- Resolving timed out
- Failed to connect to host
Why It Matters:
- Breaks website functionality
- Prevents API communication
- Causes WordPress Site Health issues
- Disrupts updates and backups
- Slows remote server communication
Common Causes Of cURL Error 28
Several issues may trigger this timeout error:
- Slow or failing DNS servers
- Weak internet connection
- Firewall or security plugin restrictions
- Web hosting server overload
- Low PHP timeout settings
- Outdated cURL version
- SSL verification issues
- Proxy misconfiguration
- CDN blocking requests
- Plugin or theme conflicts
- REST API communication failures
Signs And Symptoms Of cURL Error 28
- WordPress Site Health warnings
- Plugin installation failures
- Theme update errors
- API integrations failing
- Scheduled cron jobs not working
- Payment processor issues
- Website slowdowns
- Backup plugin errors
- REST API failures
1. Check Your Internet Connection
A poor internet connection can prevent successful server communication.
Steps:
- Restart your modem or router
- Test internet speed
- Switch to another network
- Disable VPN temporarily
- Run basic connectivity tests
Windows Commands:
- Open Command Prompt
- Run:
ping google.comipconfig /flushdns
Why This Helps:
Unstable internet or DNS failures may delay requests beyond timeout limits.
2. Increase cURL Timeout Limit
Sometimes the server simply needs more time.
For WordPress:
Add this to wp-config.php:
define('WP_HTTP_BLOCK_EXTERNAL', false);
define('WP_ACCESSIBLE_HOSTS', '*');
For PHP:
Edit php.ini:
max_execution_time = 300
default_socket_timeout = 300
Why It Helps:
Increasing timeout allows slow servers more time to complete requests.
3. Disable Problematic Plugins
Plugins often cause external request conflicts.
Steps:
- Log in to WordPress dashboard
- Go to Plugins
- Deactivate all plugins
- Check if error disappears
- Reactivate one by one
Common Culprits:
- Security plugins
- Firewall plugins
- Backup tools
- SEO tools
- CDN integrations
4. Switch To Default Theme
Themes with excessive API calls may cause timeout issues.
Steps:
- Go to Appearance > Themes
- Activate a default theme like Twenty Twenty-Four
- Test for errors
Why It Helps:
This isolates theme-related remote connection problems.
5. Flush DNS Cache
DNS delays are a major cause of cURL timeout errors.
Windows DNS Flush:
ipconfig /flushdns
Mac:
sudo dscacheutil -flushcache
Additional Option:
Switch DNS to:
- Google DNS: 8.8.8.8 / 8.8.4.4
- Cloudflare DNS: 1.1.1.1
6. Check Firewall And Security Settings
Firewalls may block outgoing cURL requests.
Steps:
- Disable firewall temporarily
- Review hosting firewall settings
- Whitelist remote domains
- Check security plugins
- Test server connectivity
Hosting Tools To Review:
- Cloudflare
- ModSecurity
- CSF Firewall
- Wordfence
- Sucuri
7. Update PHP And cURL Version
Outdated software can trigger compatibility issues.
Steps:
- Check PHP version
- Update to latest stable release
- Verify cURL library version
- Restart web server
Recommended Versions:
- PHP 8.x
- Latest cURL build
8. Verify SSL Certificates
SSL verification failures may delay or block requests.
Steps:
- Check SSL certificate validity
- Update CA certificates
- Disable SSL verification only for testing
- Renew expired certificates
Important:
Never permanently disable SSL verification for security reasons.
9. Disable Proxy Or VPN Settings
Incorrect proxy configurations can interrupt requests.
Steps:
- Disable proxy settings
- Turn off VPN
- Check hosting proxy configuration
- Restart connection
Why This Helps:
Proxy delays often cause timeout errors.
10. Check Hosting Provider Performance
Shared hosting environments may suffer from server overload.
Steps:
- Review server resource usage
- Check CPU/RAM limits
- Contact hosting support
- Upgrade hosting plan if needed
Hosting Issues Include:
- Resource throttling
- Slow response times
- Limited outbound requests
- Firewall blocks
11. Review WordPress REST API
REST API failures often trigger cURL 28 errors.
Steps:
- Visit:
yourwebsite.com/wp-json/ - Check response
- Disable conflicting plugins
- Reset permalinks
Permalink Reset:
- Go to Settings > Permalinks
- Click Save Changes
12. Disable CDN Temporarily
CDNs can sometimes interfere with server communication.
Examples:
- Cloudflare
- Sucuri CDN
- BunnyCDN
Steps:
- Pause CDN
- Purge cache
- Test request again
13. Check Cron Jobs
Failed scheduled tasks can indicate timeout problems.
Steps:
- Install WP Crontrol plugin
- Review scheduled tasks
- Manually run failed jobs
- Adjust cron timeout
14. Contact Hosting Support
If server restrictions are causing issues:
Ask Hosting Support About:
- Firewall blocks
- cURL limitations
- DNS problems
- Outbound connection restrictions
- PHP timeout settings
15. Advanced Server Fixes
For advanced users:
- Modify
.htaccess - Adjust Apache/Nginx timeout values
- Restart web services
- Check server logs
- Rebuild DNS settings
- Reinstall cURL libraries
Preventing Future cURL Error 28 Problems
Best Practices:
- Keep WordPress updated
- Update plugins/themes regularly
- Use quality hosting
- Monitor DNS performance
- Avoid excessive plugins
- Use reliable CDN settings
- Monitor SSL certificates
- Regularly optimize server performance
Final Thoughts
cURL Error 28 can disrupt websites, APIs, and server communications, but it is usually fixable through proper troubleshooting. Whether the problem stems from slow DNS resolution, firewall interference, hosting restrictions, outdated software, or plugin conflicts, systematically addressing each possible cause can restore normal functionality.
For most users, solutions such as increasing timeout limits, flushing DNS, disabling problematic plugins, updating PHP, or adjusting firewall settings will resolve the issue. More advanced server-level fixes may be required for persistent problems.
By maintaining updated software, strong hosting infrastructure, and proper network configurations, you can significantly reduce the chances of cURL timeout errors in the future.
FAQs
What does cURL Error 28 mean?
It means the server request exceeded the maximum allowed response time.
Is cURL Error 28 a hosting issue?
Often yes, but it can also result from DNS, plugins, firewalls, or SSL problems.
Can WordPress plugins cause cURL Error 28?
Yes, poorly optimized or conflicting plugins are a common cause.
Does changing DNS help fix cURL timeout?
Yes, faster DNS providers can improve server response times.
Should I increase PHP timeout settings?
Yes, increasing timeout limits often helps resolve slow-response issues.


