Sell a WordPress plugin with Sell License
Oct 25, 2026
What you get
Sell License can sell WordPress plugins as well as other software. Turn on the Bulk license style on a product and you get what WordPress plugin sellers need:
- plans that allow 1 site, 5 sites or unlimited sites per key (or any number you choose);
- staging and local sites that do not count toward the limit;
- "Update now" in wp-admin, and WordPress auto-updates, for licensed sites;
- customers who see their key and the sites it is active on, and can deactivate a site to move the license.
Everything points at your own site and your own plugin. There is no separate plugin to install: this is part of Sell License.
Set it up
- Install and activate Sell License from Plugins > Add New.
- Create the plugin under License > Software. Its slug is what the client file uses to ask for updates. Add an add-on under License > Plugins if you sell add-ons of your plugin.
- Create plans in Products & Pricing as Software License products. In each product's License Settings, under License Style, tick Bulk license: one key for several sites and choose Sites Allowed (1, 5, unlimited, or another number). Leave Staging and local sites don't count ticked if you want free staging. Then tick the products on the software's Pricing tab.
- Open License > Licensing Manager > Help and tick I sell WordPress plugin licenses. This shows License > WordPress Client and opens the endpoints below; leave it off if you do not sell WordPress plugins. Then open License > WordPress Client, choose the plugin (or add-on) and click Download Client File.
- Add the client file to your plugin code. The downloaded file has the exact class name and the lines to paste at the top of your main plugin file. It adds a license key setting to WordPress and handles activation and updates.
- Release updates: add a version with the plugin zip on the software's Versions tab. Fill in WordPress requirements (requires WordPress, tested up to, requires PHP) if you want them shown in wp-admin.
What customers do
They buy a plan, enter their key in your plugin's settings and the site is activated. In the client area they see the key and every active site, and can deactivate a site to free a slot. Sites named like localhost, *.local, *.test, staging.*, dev.* and the usual WP Engine and Kinsta staging addresses are free when the product allows it.
The endpoints your plugin talks to
All are on your own site:
| Call | Address | What it sends |
|---|---|---|
| Activate a site | POST /api/wp/activate |
license_key, url, item |
| Free a site | POST /api/wp/deactivate |
license_key, url |
| Status and site usage | POST /api/wp/check |
license_key, url, item |
| Update information | GET or POST /api/wp/info |
license_key, url, item, version |
| The newest package | GET /api/wp/download |
license_key, url, item |
item is the software slug, or software/addon for an add-on. The client file does all of this for you.