A WooCommerce extension is a WordPress plugin, delivered as a .zip file, so you install it the same way as any other plugin. This article covers installing a KestrelWP plugin, activating its license key, keeping it updated, and fixing the errors WordPress shows when an upload fails. The upload steps work for extensions from any vendor.
When you’d use this
- You’ve bought a plugin and want to install it on your store.
- You want to activate a license key so the plugin gets updates.
- An automatic update isn’t available and you want to update by hand.
- WordPress showed an error while you uploaded a plugin.
Before you start
- Check the plugin’s requirements. Each plugin lists its WordPress, WooCommerce and PHP minimums on its own Get started page, in the plugin’s docs category.
- Back up your site. If your host offers a staging site, try the install there first.
- Download the plugin’s
.zipfile from wherever you bought it:- Bought on kestrelwp.com: log in to your kestrelwp.com account and open the Licensed downloads tab. Your license key is on the License keys tab.
- Bought on WooCommerce.com: download it from your WooCommerce.com account, or connect your store to WooCommerce.com and install it from there. WooCommerce.com explains both in Managing WooCommerce.com subscriptions.
Install the plugin
Upload it in WordPress (recommended)
- Keep the
.zipfile as it is. Don’t unzip it. - In your WordPress admin, go to Plugins » Add New Plugin.
- Click Upload Plugin at the top of the page.
- Click Choose File and select the
.zipfile. - Click Install Now.
- When the install finishes, click Activate Plugin.
The plugin now appears under Plugins » Installed Plugins.
Upload it with FTP or your host’s file manager
Use this when the WordPress upload fails because of a file size limit or a server restriction.
- Unzip the
.zipfile on your computer. You get one folder named after the plugin. - Connect to your server with an FTP client (such as FileZilla or Cyberduck) or your host’s file manager.
- Open
/wp-content/plugins/and upload the plugin folder there. - In your WordPress admin, go to Plugins » Installed Plugins and click Activate under the plugin.
Install it with WP-CLI
If you have SSH access to your server, install and activate the plugin in one command:
wp plugin install /path/to/plugin.zip --activate
Activate your license key
This applies to plugins bought on kestrelwp.com that add an activation screen under Settings once they’re active. An activated key is what lets WordPress download updates for the plugin from kestrelwp.com.
- Copy the plugin’s key from the License keys tab of your kestrelwp.com account.
- In your WordPress admin, go to Settings » <Plugin name> activation. For Splash Popup, for example, that’s Settings » Splash Popup for WooCommerce activation.
- On the License key activation tab, paste the key into License key.
- Click Save changes.

WordPress confirms with "<Plugin name> activated." followed by how many activations you have left, and License key status shows Activated. Activation info on the same screen shows how many activations were left when you activated, for example "4 out of 5 activations remaining".
Until a key is activated, administrators see this notice on admin screens:
The <Plugin name> license key has not been activated, so plugin is inactive! Click here to activate <Plugin name>.
The plugin keeps working while the notice shows; it just can’t download updates yet. The notice doesn’t appear on local and staging sites the plugin recognizes (see using sites against your activation limit).
Not every plugin has an activation screen:
- Bought on WooCommerce.com: there’s no license key to enter. Updates come through your store’s WooCommerce.com connection.
- No activation screen under Settings: there’s no key to activate; download newer versions from the Licensed downloads tab of your kestrelwp.com account and upload them.
Update the plugin
Update with one click
When an update is ready, WordPress shows it on Dashboard » Updates and under the plugin on Plugins » Installed Plugins. Click Update Now (or update now under the plugin).
For a plugin bought on kestrelwp.com, one-click updates work only when its license key is activated on this site and your subscription is active; otherwise WordPress may list the update with "Automatic update is unavailable for this plugin." (see Update KestrelWP plugins). For a plugin bought on WooCommerce.com, updates come through your WooCommerce.com connection.
WordPress checks for updates on a schedule, not the moment a version is released. To check now, go to Dashboard » Updates and click Check again.
Upload a newer version
Use this when one-click updates aren’t available, or to install a version you’ve downloaded.
- Download the latest
.zipfile (for kestrelwp.com purchases, from the Licensed downloads tab). - Go to Plugins » Add New Plugin, click Upload Plugin, choose the file and click Install Now.
- WordPress says the plugin is already installed and compares the two versions. Click Replace current with uploaded.
Your settings and data stay in place. Don’t delete the old version first to make room: deleting a plugin from the Plugins screen runs its uninstall routine, and some plugins remove their settings when that happens.
Update with FTP
- Download and unzip the latest version.
- Connect to your server and open
/wp-content/plugins/. - Rename the existing plugin folder, for example by adding
-oldto the end. - Upload the new plugin folder.
- If WordPress deactivated the plugin, activate it again under Plugins » Installed Plugins. Check that the plugin works in your WordPress admin, then delete the
-oldfolder.
If an update doesn’t appear when you expect one, or you run a multisite network, see Update KestrelWP plugins.
Common issues
"The package could not be installed. PCLZIP_ERR_BAD_FORMAT"
The file is corrupted, incomplete or not a plugin archive. Download the .zip again, check that the download finished, and make sure you’re uploading the plugin’s .zip rather than a documentation or theme file.
"Destination folder already exists."
A folder with the plugin’s name is already in /wp-content/plugins/, usually from an earlier install that didn’t finish. Delete that leftover folder with FTP or your host’s file manager, then upload again. To update a plugin that’s installed and working, use Upload a newer version instead.
"The uploaded file exceeds the upload_max_filesize directive in php.ini."
Your server limits uploads to less than the plugin’s size. Install it with FTP instead, or ask your host to raise upload_max_filesize and post_max_size above the plugin’s file size.
"No valid plugins were found."
WordPress didn’t find a plugin in the file you uploaded. This happens when you upload an unzipped folder, a .zip that contains another .zip, or a file that isn’t the plugin. Download the plugin’s .zip again and upload that file as it is. (If the error mentions a missing stylesheet, the file is a theme, not a plugin.)
"Plugin could not be activated because it triggered a fatal error."
The usual causes are a PHP, WordPress or WooCommerce version below the plugin’s requirements, or a conflict with another plugin or the theme. Check the requirements on the plugin’s Get started page first. To see the exact error, turn on WordPress debug logging by adding these lines to wp-config.php:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
Then try again and check /wp-content/debug.log.
The plugin doesn’t appear after an FTP upload
WordPress expects the plugin’s main file directly inside its folder: /wp-content/plugins/plugin-name/plugin-name.php. If you see a nested folder (/plugin-name/plugin-name/), move the inner folder’s contents up one level.
There’s no activation screen under Settings
Plugins installed from WooCommerce.com don’t have one, because they get updates through WooCommerce.com. Some plugins bought on kestrelwp.com don’t have one either. For those, download newer versions from the Licensed downloads tab of your kestrelwp.com account and upload them.
"Connection failed to the licensing server."
Your server couldn’t reach kestrelwp.com to activate the key. Ask your host whether outgoing requests are blocked. If your site blocks external requests in wp-config.php, the plugin also shows "Warning! You’re blocking external requests which means you won’t be able to get <Plugin name> updates." Add kestrelwp.com to WP_ACCESSIBLE_HOSTS as that notice describes.
The key won’t activate
If the error says no licensing resources are available or exist, the key may be mistyped, or all its activations may be in use. See using sites against your activation limit.
If you’re still stuck, contact our support team with the error message, your WordPress and WooCommerce versions, and the plugin’s name and version.
