Key takeaways

  • The proven way to sell a WordPress plugin is a fully working free version on WordPress.org plus a paid Pro add-on, a SaaS service or support, sold from your own site with yearly license renewals.
  • The WordPress.org guidelines ban locked or time-limited features in the free plugin, contacting external servers without opt-in, front-end links or credits without opt-in, and constant upsell nags.
  • An offerwall belongs on your own site or service, or in a rewards plugin that site owners deliberately set up with their own publisher account; a plugin must never put offers or affiliate links on other people's sites without their opt-in.

How do you monetize a WordPress plugin?

You monetize a WordPress plugin by giving away a complete free version and selling something around it: a Pro add-on, yearly licenses with updates and support, a paid service the plugin connects to, or custom work. Because WordPress plugins are licensed under the GPL, you are really selling access, updates, support and convenience, not exclusive rights to the code. If the free version lives in the WordPress.org directory, it must follow the directory guidelines, which rule out locked features, tracking without consent, and front-end links or upsells that site owners did not opt into.

This guide is for plugin and theme developers: each business model, the WordPress.org rules that shape it, what the GPL means for selling, and where an offerwall fits (and where it never does).

WordPress plugin business models compared

Most commercial plugins combine two or three of these: the free plugin brings installs and trust, and a paid model turns a small share of those users into revenue.

ModelWhat you sellRecurring?WordPress.org fitMain risk
Freemium with a Pro add-onA separate paid plugin that adds features to the free oneYes, with yearly licensesGood, if the free plugin has no locked codeUpsell nags that break guideline 11
Paid plugin onlyThe whole plugin, sold from your site or a marketplaceYes, with yearly licensesNot listed in the directoryNo free discovery channel
Add-onsSeveral small paid extensions, often bundledYes, with yearly licensesGood, add-ons are hosted outsideToo many products to maintain
SaaS connectorAn external service the plugin talks to, billed by plan or usageYes, monthly or yearlyAllowed under guideline 6 if the service does real workRunning servers and support at scale
ServicesSetup, custom development, priority support, auditsSometimes (retainers)Fine, sold on your own siteIncome stops when you stop working
Donations and sponsorsNothing in return, or a sponsor mention on your siteRarely dependableThe readme has an optional Donate linkRarely covers real costs

The Donate link is an optional readme header described in WordPress’s How your readme.txt works page.

What the WordPress.org plugin guidelines allow

The Detailed Plugin Guidelines are 18 rules every plugin in the directory must follow. Six of them decide how you can make money. Checked on October 29, 2026; the page itself says the team may update the guidelines at any time, so read the live version before each release.

GuidelineWhat it saysWhat it means for monetization
5. Trialware is not permittedNo functionality locked until payment or upgrade, and nothing disabled after a trial period or quotaNo license checks that switch on code already in the free plugin. The guideline recommends add-ons hosted outside WordPress.org for premium code
6. Software as a Service is permittedPlugins may connect to paid external services that provide functionality of substance, documented in the readmeA real service is fine. A service that only validates license keys, or code moved off the plugin just to look like a service, is not
7. No tracking without consentPlugins may not contact external servers without explicit and authorized consent, usually an opt-inNo silent “phoning home”, usage stats, or ad mechanisms that track views. Registering and configuring a service counts as consent for it
8. No executable code via third partiesNo updates, add-ons or premium versions installed from servers other than WordPress.orgThe free plugin may not download or install your Pro code. The user installs the Pro add-on
10. No external links or credits without permission“Powered by” credits and links must be optional and off by default on the public siteNothing on visitors’ pages that the site owner did not switch on, including affiliate links and promotions
11. Do not hijack the admin dashboardUpgrade prompts limited and used sparingly, site-wide notices dismissible; avoid dashboard ads, and tracking referrals through them is not permittedUpsell on your settings page or in context, not with banners across wp-admin

Two more rules catch commercial plugins. Guideline 9 calls it dishonest to imply users must pay for features already included, or to use a site’s server without permission. Guideline 12 says affiliate links in readmes must be disclosed and link directly to the affiliate service, not through a redirect or cloaked URL. For disclosure wording, see Affiliate disclosure rules: what the FTC requires.

Naming matters too: guideline 17 does not allow a slug that begins with another project’s trademark, and notes that “wordpress” in a domain name is a trademark violation.

GPL licensing: what you are really selling

WordPress is licensed GPLv2 or later, and the WordPress license page states that the project considers plugins and themes derivative works that inherit the GPL, while admitting there is some legal grey area. Guideline 1 makes it concrete for the directory: everything in your plugin, code, data and images, must be GPL or GPL-compatible, and “GPLv2 or later” is strongly recommended.

The GPL does not stop you from charging. The GNU project’s GPL FAQ says the right to sell copies is part of the definition of free software and, with one narrow exception, sets no limit on the price. The same FAQ is just as clear about the other side: you cannot require people to pay you when they get a copy from someone else, and anyone who buys your plugin is free to share it, with or without a fee.

  • Sell what a copy cannot give: automatic updates, security fixes, support, and a trustworthy source.
  • A license key controls service, not rights. It decides who gets updates and support from your server; it cannot forbid redistribution of GPL code.
  • Your brand and hosted service are not the code. A SaaS connector keeps its value on your servers.

For themes, the Theme Review requirements say that if you distribute themes, they must be 100% GPL-compatible to be listed, and your site must state, in an easy-to-find place, that the products you sell or distribute are GPL-compatible.

Freemium done right: a free plugin and a Pro add-on

The pattern that fits every rule above is two plugins. The free one, on WordPress.org, is complete and useful on its own. The Pro one, sold from your site, adds features through hooks the free plugin exposes. A forms plugin might give away unlimited forms and sell conditional logic, payment fields and CRM integrations.

Wire the add-on to the free plugin

WordPress’s plugin header requirements include two headers built for this. Requires Plugins lists the WordPress.org slugs your add-on depends on, and Update URI stops WordPress from overwriting your add-on with an update for a directory plugin of a similar name.

/*
Plugin Name: Example Forms Pro
Requires Plugins: example-forms
Update URI: https://example.com/updates/example-forms-pro
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

Upsell without nagging

  • A short “Pro features” panel on your settings page, or a quiet note in context (“Conditional logic is part of Pro”), is fine.
  • Site-wide notices must be dismissible and rare: a welcome message once, not a sale banner every week.
  • Never say a feature “requires Pro” when its code is in the free plugin. Guidelines 5 and 9 both point at that.

Freemium patterns that get plugins closed

A free plugin that stops working after 14 days or 100 entries, Pro code shipped in the free zip behind a license check, a free plugin that downloads the Pro version for you, usage stats sent home before the user opts in, and upgrade banners on every admin screen. Each one breaks guideline 5, 7, 8 or 11.

Licensing and renewals

The common model is a yearly license: the price covers one year of updates and support for a set number of sites, and a renewal extends it. Let the plugin keep working when a license expires and simply stop updates and support; that respects the GPL and still gives you recurring revenue.

  • Tiers by site count (one, five, unlimited) suit agencies and freelancers.
  • Deliver Pro updates from your own server through a licensing plugin on your store or a hosted licensing service. The directory rules cover the free plugin, not the add-on you distribute yourself.
  • Make renewal terms obvious at checkout (price, auto-renewal, how to cancel) and send a reminder before a renewal charge.
  • Be careful with lifetime deals: cash now, support costs forever.

Illustrative example: why renewals matter

Sample figures only. Say you sell 300 single-site Pro licenses in year one at $49, which is $14,700. If 55% renew at the same price, year two starts with $8,085 before a single new sale. Renewals are revenue you do not have to win again, which is why updates and support deserve investment.

SaaS connectors and services

SaaS connectors

If your plugin does heavy work, such as AI text generation, image optimization, backups, email delivery or search, the work can run on your servers and the plugin becomes a connector. Guideline 6 allows this even for paid services, as long as the service provides functionality of substance and is documented in the readme, preferably with a link to its Terms of Use. Registering and configuring the service counts as consent under guideline 7.

The common model is a free monthly quota, paid plans for more, and usage packs on top. The directory will not accept a fake service: a server that only checks keys while the work happens locally, code moved off the plugin to look like a service, or a plugin that is only a storefront.

Services

Your users already trust you, so paid setup, migrations, custom add-ons, priority support and agency retainers sell well from your own site. They do not scale, but they often fund the early years and show what to build into Pro.

Notes for theme developers

Theme authors face stricter rules than plugin authors. The Theme Review requirements, last updated in June 2026 and checked on October 29, 2026, say:

  • Themes must not display obtrusive upselling, and must not display upselling on the front end.
  • Themes may include one front-facing credit link to the Theme URI or Author URI, plus one to WordPress.org, and must disclose all affiliates.
  • Tracking must be off by default and opt-in, and themes may not fetch data from a remote resource, including your own site, without explicit consent.
  • Admin menus and onboarding may not include external calls or tracking and affiliate links.
  • Plugin functionality does not belong in a theme.

So themes usually earn from a premium version, child themes, patterns, starter sites and support. Site functionality, such as a rewards program, ships as a companion plugin under the plugin rules.

Where an offerwall fits, and where it never does

An offerwall lets users earn a site’s or app’s own currency or credits by completing offers from advertisers, and pays the publisher per completed offer. What is an offerwall? explains the model. For a plugin developer there are exactly two honest places for one.

1. On your own site or service

If you run a SaaS connector with credits, the offerwall can sit in your customer dashboard on your own domain, so free-plan users can earn extra credits by completing offers while paid plans stay the main path. Your server credits the account from a signed postback and takes credits back on a reversal. The plugin’s settings page may show a plain “Get more credits” link to that dashboard; the offers themselves never render inside anyone’s wp-admin. The plugin must keep working without offers, because a plugin that only works after the user completes an offer is trialware and a content locker. How to monetize a tool website and how to monetize a browser extension use the same pattern, and Content lockers vs offerwalls explains the line you must not cross.

2. In a rewards plugin site owners install on purpose

Some plugins exist to run a points program for a membership site, a community, or a rewards site like those in How to start a rewards website. The site owner installs it deliberately, and an offerwall can be one earning option. In that case the site owner is the Sharklio publisher, not you:

  • The site owner applies for their own publisher account, creates an app for their own website, and pastes their own App ID, link hash salt and postback secret into your plugin’s settings.
  • Your plugin signs the offerwall link on the server for the logged-in user and receives postbacks on a REST route of that site. How to add an offerwall to WordPress shows the code, and Sharklio does not ship its own WordPress plugin.
  • Nothing appears on the front end until the owner configures it and places the shortcode or block. Ship no default App ID, and never fall back to yours.
  • Your readme documents the service and what data the link carries, as guidelines 6 and 7 expect, and the owner’s privacy policy covers it. See Offerwall GDPR.

You earn from the plugin itself: Pro features such as more reward types or reports, support and setup services. If you also invite site owners to Sharklio through the Sharklio referral program, keep that link on your own website, disclose it, and follow the Referral Program Terms. Do not put it in admin notices or dashboard ads, which guideline 11 rules out for referral tracking.

What a plugin must never do

Inject offers, an offerwall, ads or affiliate links into sites that installed your plugin for something else; swap or add affiliate IDs in a site’s links; preload your own publisher or affiliate ID so you earn from other people’s visitors; or track visitors for advertising without opt-in. That breaks guidelines 7, 9 and 10, and it is not allowed with Sharklio either. Offers must only reach users of a property the publisher controls and chose to monetize.

How to add Sharklio to your plugin’s own service

This is the setup for the first case, a credits-based service on your own domain; in a rewards plugin, each site owner follows the same steps with their own account.

  1. Apply as a publisher at sharklio.com. Every application is reviewed by hand, and once you are approved, apps you add are live right away.
  2. Add your service’s website as an app in the dashboard and set your credit name, icon, conversion rate, and wall design.
  3. Show the wall in your customer dashboard as a signed link or iframe your server builds for the signed-in account, or list offers in your own design with the Offers API. If that dashboard runs on WordPress, How to add an offerwall to WordPress has the code.
  4. Credit the account only on your server from the signed postback, and remove credits on a reversal.
  5. Run Test your app before launch, then add the plain “Get more credits” link to your plugin’s settings page. The offers stay on your domain.

How Sharklio fits a plugin business

Sharklio is a pay-per-result affiliate network. Offers depend on each user’s country and device, users must be 16 or older, and VPN, proxy, Tor and data center traffic is blocked from the wall. See how the wall works, or get in touch before you build.

Frequently asked questions

Can you sell a WordPress plugin?

Yes. The GPL allows you to charge any price for copies, updates and support. What it does not allow is stopping buyers from sharing the code, so you sell updates, support and service rather than exclusive rights.

Is a freemium plugin allowed on WordPress.org?

Yes, if the free plugin is fully functional and contains no locked or time-limited features. Premium features go in a separate add-on that you host and sell outside WordPress.org.

Can my plugin add affiliate links or ads to a site?

Not on the public site unless the site owner explicitly opts in, and anything like it must be off by default. Dashboard ads should be avoided, referral tracking through them is not permitted, and any affiliate link in your readme must be disclosed and direct.

Can I add an offerwall to my WordPress plugin?

Only in two honest ways: on your own site or service where your users earn credits, or as a feature of a rewards plugin that site owners set up with their own publisher account. A plugin must never show offers on someone else’s site without that owner’s deliberate opt-in.