How to Sell a WordPress Plugin: Licences, Updates and Pricing
You can sell a WordPress plugin, but you cannot take away the freedoms the GPL gives buyers. Learn free-plus-paid or premium, licence keys, updates, pricing, quality checks and where to sell.
DEBy DevMarket Editorial·Published: ·8 min read
On this page
How to sell a WordPress plugin starts with one fact: you can. The GPL, the licence WordPress uses, lets you charge for copies. What you cannot do is take away the freedoms the GPL gives your buyers, so you earn from updates, support, convenience and a licence key rather than from locking the code. This guide covers the licence question, free-plus-paid and fully premium models, updates, pricing, quality checks and where to sell.
In short
Selling a GPL plugin is allowed. Stopping buyers from using, changing and sharing it under the GPL is not. Read the official texts, and ask a lawyer if you are unsure.
To list on WordPress.org a plugin must be GPL-compatible, have no locked or trial features, and take its updates from WordPress.org. Premium code belongs in a separate add-on hosted elsewhere.
Premium plugins usually tie a licence key to updates and support, served by an update server.
Run Plugin Check, test on current WordPress and WooCommerce, and declare WooCommerce compatibility, such as high-performance order storage.
Sell on your own site for control, or through a marketplace for audience, checkout and licence keys. Many authors do both.
Can you sell a WordPress plugin under the GPL?
WordPress's licence page says its developers believe plugins and themes are derivative works that inherit the GPL, while admitting some legal grey area about what counts as a derivative work. The first guideline of the Plugin Directory requires GPL compatibility and strongly recommends the same licence as WordPress, GPLv2 or later. Assume your plugin's code must be GPL-compatible.
The GNU project's FAQ says you may sell copies of GPL software, and that recipients may pass copies on without extra restrictions from you. So a buyer may legally share what they bought. That sounds risky, but it shapes your business model rather than ending it: buyers pay for the licence key, the updates, the support, the documentation and the confidence that the plugin is maintained. This is not legal advice, so read the official text for your own case.
Test, release, serve the update: a licence key and an update server connect a sale to every new version.
How to sell a WordPress plugin: free with a paid version, or fully premium?
Free plugin plus paid version
Fully premium
Discovery
Search in the plugin directory
You bring the audience
Rules
The directory guidelines apply
Your own terms, inside the GPL
Features
No locked or trial functionality
You decide
Updates
Free plugin from WordPress.org, paid add-on from your server
From your update server
Trust
A free version lets people try it
Needs demos and reviews
The directory has clear rules. Its guidelines say plugins may not contain functionality that is locked until payment or upgrade, may not be disabled after a trial, and may not serve updates from other servers. Paid services are allowed when the service provides real functionality, but a service that only validates licence keys is not. The guidelines recommend add-on plugins, hosted outside WordPress.org, to keep premium code out of the directory version. The directory review takes between 1 and 10 days, according to the submission page.
A common pattern is therefore a useful free plugin in the directory and a paid add-on from your own site. A fully premium plugin skips the directory, so you need your own demo, documentation and trust.
How do licence keys and automatic updates work?
A licence key links a purchase to a plugin. In general, the premium plugin contains an update checker. It sends the key, the site address and the installed version to your update server. The server checks that the key is valid and the updates are still included, then answers with the newest version and a protected download link. WordPress then shows the update on the Plugins screen as usual.
WordPress supports this with the Update URI plugin header, which stops a third-party plugin from being overwritten by a similarly named plugin in the directory. A filter named update_plugins_{$hostname}, added in WordPress 5.8, lets code supply update details for plugins whose header points to another host. You can build the server yourself, or use ready-made tools: the Easy Digital Downloads plugin lists activatable licence keys as a Pro feature.
Good practice: tell buyers what your plugin sends to your server, and let an expired licence stop updates and support rather than breaking the plugin on their site. On DevMarket, buyers get a licence key after payment and download releases from their account; read the seller terms for what the marketplace handles.
Should you price annually or for life?
An annual licence brings steady income that pays for updates and support, and a buyer who stops renewing keeps the version they have. A lifetime licence is attractive to buyers but commits you to maintenance for years, so consider tying "lifetime" to a defined product version or a support period. Offer tiers by number of sites if usage varies. How to price and license your software covers the options. On DevMarket you can choose lifetime updates or updates while support lasts, set a support period, and price in several currencies.
Documentation and support
Write the installation steps, the requirements, a screen-by-screen guide to your settings, a FAQ and a changelog. If developers might extend the plugin, list your hooks and filters. Decide where support happens, how fast you reply, and what is out of scope. Ask buyers for the WordPress, PHP and WooCommerce versions and active plugins in every request, so you can reproduce problems.
What should you test before every release?
Run Plugin Check. It is published by WordPress.org and tests a plugin against directory standards, plus best practices in internationalisation, accessibility, performance and security. Use Tools, then Plugin Check, or wp plugin check on the command line. It does not replace manual review, and passing it does not make approval certain. The submission page adds that plugins with unescaped output, unsanitised data or forms without a nonce will not be approved.
Then check the declarations. Plugin headers can state Requires at least, Requires PHP, License and Requires Plugins. For WooCommerce, add the WC requires at least and WC tested up to headers, and declare compatibility with high-performance order storage (HPOS) in your main plugin file, as the WooCommerce recipe book shows:
add_action( 'before_woocommerce_init', function () {
if ( class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) {
\Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true );
}
} );
WooCommerce warns shop owners who enable HPOS while an incompatible extension is active. If your plugin touches the cart or checkout, check the cart and checkout blocks too. See shipping releases that pass review for the full routine.
Where should you sell: your own site or a marketplace?
On your own site you keep the customer relationship and the whole margin, and you also run payments, tax, invoices, licence keys, downloads, refunds and support. A marketplace such as DevMarket gives you an audience and a ready checkout. It issues a licence key after payment, checks each release before it is published, and shows a live demo or an automatic product tour. Reviews come only from buyers with an active licence, and you can reply publicly. It keeps a commission, so read the seller terms. Many authors list on a marketplace and also sell from their own site.
Refunds follow the same split: on your own site you write the policy, and a marketplace has its own, such as DevMarket's refund policy. Answer reviews politely and with specifics.
Frequently asked questions
Do I have to make my plugin GPL to sell it?
WordPress's position is that plugins inherit the GPL, and the directory requires GPL compatibility. Read the licence page and ask a lawyer about your case.
Can I sell my plugin on WordPress.org?
The directory hosts a free, fully working plugin. It does not allow locked or trial features, so sell premium features as a separate add-on, or as a service, from outside the directory.
How do I deliver automatic updates for a premium plugin?
Use the Update URI header, a licence check and an update server, which you build or buy. Keep updates tied to the licence, not the features.
Should I offer a lifetime licence?
Only if you can maintain the plugin for years. Many authors limit it to a version or a support period.
Do I need to support HPOS?
If your plugin works with WooCommerce orders, you should. Declare compatibility only after you have tested it.
Learn how to sell digital products online: what counts as one, where to sell, how to price and licence it, protect downloads, handle tax and refunds, and launch with a simple checklist.
A release that fails review costs days. Prepare a clean archive, use clear version numbers, write a honest changelog, state compatibility and test on a fresh install so your release is approved the first time.
A listing is your salesperson. Learn how to structure the opening, screenshots, features, compatibility, FAQ and changelog of a software listing, and how a demo or tour builds trust.
·5 min read
Find the right software for the job
Every item on DevMarket has a human-reviewed release, an instant licence key and clear update and support terms.