---
title: "How to install and update WooCommerce extensions"
url: "https://kestrelwp.com/docs/install-update-woocommerce-extensions/"
description: "Install a KestrelWP plugin, activate its license key, update it, and fix upload errors."
published: "2026-10-06T20:28:02+00:00"
modified: "2026-10-06T20:28:02+00:00"
---

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 `.zip` file** from wherever you bought it: 
    - **Bought on kestrelwp.com:** log in to [your kestrelwp.com account](https://kestrelwp.com/my-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](https://woocommerce.com/document/managing-woocommerce-com-subscriptions/).

## Install the plugin

### Upload it in WordPress (recommended)

1. Keep the `.zip` file as it is. Don’t unzip it.
2. In your WordPress admin, go to **Plugins » Add New Plugin**.
3. Click **Upload Plugin** at the top of the page.
4. Click **Choose File** and select the `.zip` file.
5. Click **Install Now**.
6. 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.

1. Unzip the `.zip` file on your computer. You get one folder named after the plugin.
2. Connect to your server with an FTP client (such as FileZilla or Cyberduck) or your host’s file manager.
3. Open `/wp-content/plugins/` and upload the plugin folder there.
4. 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.

1. Copy the plugin’s key from the **License keys** tab of your kestrelwp.com account.
2. In your WordPress admin, go to **Settings » \<Plugin name\> activation**. For Splash Popup, for example, that’s **Settings » Splash Popup for WooCommerce activation**.
3. On the **License key activation** tab, paste the key into **License key**.
4. Click **Save changes**.

![KestrelWP account, licensing and billing: Activate your license key](https://kestrelwp.com/wp-content/uploads/2026/10/kestrelwp-kwp-01-docs-01.png)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](/docs/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](#upload-a-newer-version).

## 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](/docs/how-to-update-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.

1. Download the latest `.zip` file (for kestrelwp.com purchases, from the **Licensed downloads** tab).
2. Go to **Plugins » Add New Plugin**, click **Upload Plugin**, choose the file and click **Install Now**.
3. 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

1. Download and unzip the latest version.
2. Connect to your server and open `/wp-content/plugins/`.
3. Rename the existing plugin folder, for example by adding `-old` to the end.
4. Upload the new plugin folder.
5. If WordPress deactivated the plugin, activate it again under **Plugins » Installed Plugins**. Check that the plugin works in your WordPress admin, then delete the `-old` folder.

If an update doesn’t appear when you expect one, or you run a multisite network, see [Update KestrelWP plugins](/docs/how-to-update-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](#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](#upload-a-newer-version).

### "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](/docs/using-sites-against-your-activation-limit/#common-issues).

If you’re still stuck, [contact our support team](/contact/) with the error message, your WordPress and WooCommerce versions, and the plugin’s name and version.

## Keep learning

- [Update KestrelWP plugins](/docs/how-to-update-plugins/)
- [Using sites against your activation limit](/docs/using-sites-against-your-activation-limit/)
- [Use KestrelWP plugins on a multisite network](/docs/are-your-plugins-multisite-compatible/)
- [Billing, renewals, and refunds](/docs/billing-subscriptions/)
