Self-Hosted Plugin Updates vs WordPress.org: Which Is Right for Your Plugin?
If you write a WordPress plugin, it has to get updates somehow. The default is the WordPress.org plugin directory, where WordPress checks for updates automatically. The alternative is to self-host: your own server tells sites when a new version exists. They suit very different plugins.
Side by side
| WordPress.org | Self-hosted | |
|---|---|---|
| Discoverability | Huge: search inside every WordPress dashboard | None by default; you bring the users |
| Updates | Automatic, built in | Automatic with an updater in the plugin |
| Review and rules | Code review, guidelines, restrictions | Your rules |
| Privacy | Public code and listing | Private: clients or customers only |
| Selling | Free version only (upsell elsewhere) | Licenses, subscriptions, per-client access |
| Control | WordPress.org can close a listing | Fully yours |
| Stats | Active installs, reviews | Whatever you track |
When WordPress.org is the right home
- Free plugins that you want many people to find.
- Freemium plugins: a free version on WordPress.org as the funnel, a premium add-on sold elsewhere.
- You’re happy with public code, the guidelines, and the review process.
When self-hosting is the right home
- Client plugins: custom functionality for one client or a group of client sites. It doesn’t belong in a public directory, but it still needs one-click updates everywhere.
- Premium plugins: updates only for customers with a valid license.
- Internal tools your agency installs on every site.
- Things WordPress.org doesn’t allow, like loading assets from a CDN, or code that doesn’t fit the directory’s rules.
- Speed of release: ship when you’re ready, without waiting for directory processes.
What self-hosting takes
- An update source that answers “what’s the latest version, and where’s the ZIP?”
- An updater in the plugin that asks the source and plugs the answer into WordPress’s update system, so users see the normal Update now button and changelog.
- Release routine: bump the version, write the changelog, publish the ZIP, ideally from GitHub releases.
The details, including the DIY route, are in how to update private WordPress plugins from GitHub.
Doing it with Hoster
Hoster turns a WordPress site into your update server: create a download per plugin (version, requirements, changelog), add the updater file to the plugin, and optionally connect a GitHub repository so Hoster picks up new releases and versions automatically. Sites running the plugin get normal WordPress update notices.
Many plugins do both
A common setup: the free plugin on WordPress.org for reach, premium add-ons self-hosted for licensing. Our own plugins work this way: Winden’s free compiler is on WordPress.org, while its premium version updates from dplugins.com.
