How to Fix WordPress’ cURL Error 28

One of the unsung ‘water carriers’ of the internet is the Client URL (cURL) library. In fact, almost every ‘thing’ that uses the internet will use cURL. It even has fans beyond our atmosphere. It’s a collection of software that lets you transfer data with URLs, and WordPress uses it when it makes Application Programming Interface (API) request. If this connection between cURL and WordPress REST API times out, you’ll see a cURL error.

While there are lots of different cURL errors, our focus is with error 28 here. Fortunately, there are a number of fixes:

  1. Deactivate your firewall and security plugins on a temporary basis.
  2. Make sure your host uses the most current version of the cURL library and associated software.
  3. Check over and reconfigure your Secure Sockets Layers (SSL) settings.
  4. Ensure your other WordPress plugins don’t contribute to your issues.
  5. Contact your host if you can’t find a fix.

While there are lots of different cURL errors, we’re going to talk more about error 28 here. However, where necessary, we’ll also discuss if another cURL error might pop up to surprise you.

1. Disable Your Firewalls and Security Plugins

One way to find out if you have a cURL error is to check the Tools > Site Health page within WordPress. This type of error will often be critical, and WordPress will give error 28 an explicit name.

The WordPress Site Health screen.

One of the first fixes you can try is to disable any firewall or security plugin on your site. Of course, you’ll do this through the Plugins > Installed Plugins screen:

WordPress' Installed Plugins screen.

Once you do this, carry out the following steps:

  • Check the Site Health page again for the error.
  • Access the logs for your security or firewall plugin to see which API request caused the problem.
  • Alter the settings for your plugin, and reactivate it to ensure the error disappears.

This is often the primary reason for a cURL error, so you’ll want to make sure this isn’t the problem before you look into other solutions.

2. Ensure Your Hosting Provider Uses a Current Version of cURL

There are a number of interconnected libraries and software that makes sure WordPress runs as you’d expect. While cURL is one, your PHP and OpenSSL versions all need to be current.

The good news is you can check this within WordPress. Once again, you can head to the Tools > Site Health screen and check out the Info tab:

The Info tab on the Site Health screen.

You’ll find a number of metrics under the Server section. This will tell you the PHP version, cURL version, and many more details about your site:

The PHP version and cURL version within the Site Health screen.

The most current version of these pieces of software will change over the course of their existence. As such, if you aren’t sure about whether they are current, contact your host. They can check this for you, and will update older versions if necessary.

3. Reconfigure Your SSL Settings

Misconfigured SSL or HTTP settings can be another cause of a cURL error. However, depending on the exact nature of the timeout or API call, you’ll see different errors.

One common issue is a cURL error that arises through mismatched encryption settings. For example, if WordPress makes an API call using HTTPS but your site doesn’t use it, you’ll see a cURL error.

The most straightforward fix here is to delete and re-establish your SSL certificate. If this doesn’t resolve the problem, you should once again contact your host. They will be able to dig into your server and take a look at the issue in depth.

4. Check Your Other WordPress Plugins for Errors

One typical way to fix a whole host of WordPress errors is to deactivate and reactivate your plugins. In many cases, it might be overkill. However, if you suffer from a cURL error, one of your plugins could be the cause.

The process here is almost a reverse of the installation process. First, head to the Plugins > Installed Plugins screen in WordPress, and use the checkbox to bulk select all of your plugins:

Using the bulk select checkbox within WordPress.

From here, select Deactivate from the Bulk actions drop-down menu:

Selecting Deactivate from the Bulk actions menu within WordPress.

Once you click the Apply button, you’ll disable all of your plugins. Next, check for the cURL error, then reactivate each plugin in turn.

Once you find the plugin that relates to the error, you can either find a new plugin that achieves the same functionality, remove it altogether, or ask the developer for a fix. From there, you shouldn’t see the cURL error 28.

At some point, you might hit a brick wall and exhaust all of the fixes you know for cURL error 28. Our advice is to contact your host and ask them to investigate your issue. In most cases they should be able to do this without fuss.

In fact, there could be an issue with your hosting environment they need to look into, such as issues with Domain Name System (DNS) servers. There could also be a performance issue that needs their input.

Regardless, your host’s support will be the best path to follow here. With their help, you should be able to fix your error and get your site ship shape again.

Conclusion

Much like how a company looks after its best workers, you also need to take care of the essential software libraries WordPress uses. The cURL library is arguably the Most Valuable Player (MVP) on the web. It ensures WordPress can talk to the REST API, but when it goes down, it will throw an error.

The cURL error 28 is basically a time-out problem. As such, you’ll want to check different connection paths, through tasks such as disabling your firewall and other plugins. You will also want to check your SSL settings. Your host might not use the most current library either, which can cause an issue. However, if you struggle to fix the error, they will be the best option to put things right again.

Do you have any questions about cURL error 28, or any other cURL error? Ask away in the comments section below!

Posted by WordPress Guru