cURL error 28: Connection timed out

This error can happen when trying to activate your license key, or while trying to update GP Premium.

WordPress uses something called cURL to communicate with other websites, specifically using this function: wp_remote_post()

This is a core WordPress function that we use to verify license keys and perform updates.

It’s necessary for your website to communicate with our website, as we need to know the license key you’ve input so we can validate it in our records, and then send a response back to your website to activate it.

When cURL times out, it typically means one of the two websites is blocking that communication. This can happen via firewalls or other means of server security.

The first thing to do is go through this list. Your hosting support should be able to help you with most of it.

  • Make sure your server is running a recent version of PHP and the cURL library.
  • Try increasing your PHP memory limit.
  • Try increasing your cURL timeout limit.
  • Ask your host if there is some limitation with wp-cron, or if loopback is disabled.
  • Ask your host if there are firewall or security modules (e.g. mod_security) that could block the outgoing cURL requests.
  • Install the Query Monitor plugin and check the status of the HTTP API Calls in the admin page where the error is displayed.

If none of the above fixes the issue, you will need to ask your hosting support to confirm that your server can communicate with our server (generatepress.com) via cURL without any limitations.

If they are sure there are no limitations, you can contact us with your server IP (where the request is coming from), and we’ll make sure it isn’t banned on our server (this is very rarely the case). Our server processes hundreds of these cURL requests successfully every day.

This article also has some great information on this specific error and may help you/your hosting support team debug the issue.