In some cases, a license activation can fail unexpectedly without showing any errors.

Typical symptoms:

  • The license activation page refreshes without anything happening.
  • The Activate button gets “stuck,” and nothing happens.

Here are the most common cases in which this happens, including how to work around the issues:

1. ISP Blockage

We noticed that some ISPs, especially in Turkey and Russia, are often blocking websites that utilize Cloudflare, which can block connectivity to our API servers.

Solution

You can activate the license using a proxy by following these simple steps:

  1. Go to us-proxy.org
  2. Get the 1st proxy details available and add the following code to the functions.php of the currently active theme:
    1
    2
    3
    4
    add_action('http_api_curl'function$handle ){
        curl_setopt($handle, CURLOPT_PROXY, "REPLACE_ME_WITH_PROXY_IP");
        curl_setopt($handle, CURLOPT_PROXYPORT, REPLACE_ME_WITH_PROXY_PORT);
    }, 10);
  3. After a successful license-activation, comment out the newly added lines of code to avoid running future cURL requests through a proxy.

2. Caching Layer Issue

For performance reasons, many in-memory caching solutions like Memcached or Redis require setting a Byte-limit to the values they store, and to optimize performance, all Freemius settings are stored in a single record in the wp_options table, which means that if the length of the settings is greater than the configured limit, it may cause one of the following unexpected behaviors:

  • The settings won’t be stored at all
  • The settings will fail to properly load
  • The settings will be stored incompletely, causing data corruption

This will prevent the settings from properly propagating to (or from) the Database.

Solution

Try to temporarily disable the caching layer just for the license activation process.

3. Database Encoding Issue

In some cases, we noticed that misconfigured encoding of the option_value column in the wp_options table could fail to store the required data after license activation. E.g. – Even though the license gets properly activated, WordPress may not “remember” it. Typically this happens when there are any UTF-8 or UTF-16 characters in the license owner’s name or address.

Solution

Try changing the encoding of the option_value column in the wp_options table to UTF-8 (or UTF-16) and then try activating the license again.

4. Security Layer Blockage

Freemius’ license key generator randomly creates 32-char keys using alphanumeric characters and some special characters for enhanced security. We noticed that some security plugins/layers/modules (e.g., ModSecurity) might block a license activation process if the combination of the license’s special characters “look” suspicious.

Solution

Try to temporarily disable any security plugins/layers/modules you have just for the license activation process. After the license is activated, make sure to reactivate the security components you disabled.