Terug naar Blog
Verkopen

WordPress-plug-ins verkopen met licentiesleutels

Publiceer, licentieer, activeer, update en lever een betaalde WordPress-plug-in met een herhaalbare test op een schone site.

27 augustus 202611 min lezen
P
PayRequest Team
Digital Product Editors

Sell a WordPress plug-in only after the paid ZIP installs on a clean site, the issued license activates within its stated limit, and an update can move that exact installation to the next version without deleting settings. Checkout is only one part of the product: buyers also need an honest compatibility statement, a recoverable license record and a safe update path.

This guide is for independent WordPress developers selling a plug-in from their own page. Its original asset is a release-to-renewal matrix that joins the downloadable build, license state, activation count and update result.

Define the Commercial Package

DecisionRecord before launchBuyer-facing promise
ReleaseZIP checksum, plug-in version and build dateExact version delivered after payment
CompatibilityWordPress, PHP and tested dependency versionsMinimum and tested versions, not “works everywhere”
License tierActivation limit and termNumber of sites and renewal boundary
UpdatesUpdate source and entitlement stateWhich updates arrive and for how long
SupportChannel, response window and exclusionsWhat support covers

WordPress reads metadata such as Version, Requires at least, Requires PHP, License and Update URI from the main plug-in header. The current WordPress header requirements explain these fields and note that Update URI can prevent a privately distributed plug-in from being overwritten by a similarly named WordPress.org plug-in.

Do not confuse a license key with copyright ownership or code secrecy. WordPress recommends a GPL-compatible license for plug-ins, and anything submitted to the WordPress.org directory must comply with its detailed plug-in guidelines. Get qualified advice for the license and commercial terms that apply to your distribution model.

Build the Release-to-Renewal Matrix

Create two clean test sites and one expired test customer. Run this record for every retail build:

StateSite ASite BPass condition
Fresh installSupported minimum versionsCurrent versionsBoth activate without warnings you failed to disclose
Valid keyFirst activationLast allowed activationCount and site identity are correct
Limit reachedAttempt one extra siteClear refusal; paid sites keep working
UpdatePrevious retail buildCurrent retail buildSettings and data survive
Expired entitlementInstalled and activeUpdate checkPublished expiry behavior matches the offer
DeactivationRemove Site AActivate replacementSeat becomes available once, with an audit record

Use disposable domains or local environments, but make the license service see the same actions a buyer performs. Record the order ID, key ID, build checksum, site URL hash, activation event, update response and final version. Never put a production signing secret or private API credential in the downloadable PHP or JavaScript.

Package a Buyer-Testable ZIP

Start from the exact archive you will deliver, not your development directory. Remove tests, local configuration, source maps that expose secrets, unused vendor files and customer data. Keep required notices and source material where the applicable licenses require them.

Install through Plugins > Add New > Upload Plugin on the minimum and current WordPress versions you advertise. Test activation, deactivation, uninstall and reinstall separately. An uninstall routine should remove only data your plug-in owns and only when the documented user choice calls for deletion.

Include a START-HERE file with installation, activation, update, rollback and support instructions. Publish the plug-in version, ZIP size, WordPress/PHP requirements, required extensions or companion plug-ins, activation limit, renewal behavior and changelog before checkout.

Connect Payment, Key and Delivery

Create one product tier per meaningful entitlement. A one-site and five-site tier can share the same ZIP while issuing different activation limits; do not create fake code differences merely to make pricing look complex.

PayRequest's WordPress plug-in product workflow can deliver the ZIP after confirmed payment and issue a unique license key with the configured activation limit. Keep the order, delivered release and key ID linked. If payment is refunded, decide and disclose whether updates/support stop, activations are revoked, or the installed version continues without future entitlement.

Complete one provider-backed buyer order, download the archive from the receipt flow, activate it on a clean site, consume the final allowed seat, update it and test the documented deactivation path. Publish only when the delivered build—not a developer copy—passes the matrix.

Plan Renewals Without Locking Buyers Out by Surprise

Separate the right to run an installed version from entitlement to updates and support. State the renewal date and what happens after it. Avoid silently disabling a functioning site unless that behavior is essential, lawful and unmistakably disclosed before purchase.

For each new release, keep a rollback ZIP, database-migration notes and a support path for failed updates. The sale is complete when the buyer can identify their version, license state and next safe action without opening a ticket.

Frequently Asked Questions

What should a WordPress plug-in download include?

Include the tested ZIP, installation and activation instructions, requirements, changelog, license notices, support terms and a clear explanation of updates, renewals and activation limits.

Can I sell a GPL-licensed WordPress plug-in?

GPL licensing does not by itself prevent charging for distribution, updates or support. WordPress.org has additional directory rules; use qualified advice for your exact licensing model.

How should I test license keys before launch?

Use clean sites to test the first and final allowed activation, a rejected extra activation, deactivation and replacement, an update from the previous retail ZIP and the disclosed expired-entitlement behavior.

Deel dit artikel

Klaar om te beginnen?

Sluit je aan bij duizenden bedrijven die PayRequest gebruiken om sneller betaald te worden.

Aan de slag