- Docs
- About Troy
About Troy
Troy is an open-source plugin suite that lets WordPress developers distribute their plugins from their own servers—no centralized directory required.
Why Troy Exists
WordPress is self-hosted software—but its plugin ecosystem runs through a single distribution point. Plugin developers have watched their work get blocked, hidden, or removed from WordPress.org—sometimes without warning, often without recourse. Centralized control over plugin distribution leaves developers vulnerable.
Your code is yours. You wrote it. Your users chose it. No directory should hold that relationship hostage.
Troy was built so you don't have to ask permission to distribute your own software.
The Philosophy
Troy is developed by Sybre Waaijer, creator of The SEO Framework. After contributing over 30,000 hours to the WordPress ecosystem—and experiencing firsthand what happens when a centralized directory severs the connection between a developer and their users—he built Troy on the principles that guide all his work:
- Never release with bugs. Your users' sites are not testing facilities.
- Respect every user. Whether free or paid, everyone deserves working software.
- Prevent problems, don't just solve them. Good design eliminates the need for support.
- Fair and honest. No dark patterns, no vendor lock-in.
Troy isn't about competing with WordPress.org—it's about having an alternative when you need one. For the full story behind why Troy exists, read the introductory blog post.
How It Works
Troy has two components:
- Troy Client — a WordPress plugin for site owners. Add it to your WordPress site, and updates from Troy Servers appear in your dashboard like any other plugin update.
- Troy Server — a WordPress plugin for developers. Upload a ZIP, connect a GitHub repository, or auto-import from WordPress.org. Share your installation packages with users—packages bundle Troy Client so your users receive updates through WordPress's native update system.
For installation details, see the Troy Client and Troy Server docs.
Architecture
Troy works within WordPress's existing update system. Troy Client discovers opted-in plugins, fetches updates from each plugin's Troy Server, and surfaces them in the native dashboard. Privacy is built into the architecture—no site URLs or personal data are transmitted.
For the technical details, see How Troy Client Works and the Privacy Policy.
Licensing
Troy uses the MIT license—not GPLv2. Your plugins don't inherit license requirements from Troy. Use it in any project—commercial, proprietary, or open source. For the full rationale, see the Open Source page.
What Troy Is Not
- Not a replacement for WordPress.org. Plugins that don't use Troy still update from WordPress.org as usual. Troy only delivers updates for plugins that opt in.
- Not mutually exclusive. The same plugin can live on both WordPress.org and a Troy Server. Troy headers are inert metadata that WordPress.org ignores.
- Not a blocking tool. Troy doesn't prevent other plugins from communicating with their own servers or WordPress.org.
- Not a core updater. Troy delivers plugin updates only. Theme support is planned. Core updates still come from WordPress.org.
- Not a protest tool. It's practical infrastructure for developers who need independence.
What Troy Does
- Sideloads plugin updates from distributed, developer-hosted Troy Servers.
- Opt-in only. A plugin needs the
Troyheader to receive updates. Troy Client ignores all other plugins. - Coexists with WordPress.org. The same plugin file works on both platforms—Troy Server can even auto-import releases from WordPress.org.
- Privacy-preserving. Troy Client filters Troy-enabled plugins out of WordPress.org requests entirely. WordPress.org never sees them.
Get Involved
Ready to try Troy?
- Site owners: Install Troy Client in about 30 seconds.
- Plugin developers: Set up Troy Server and publish your first plugin in minutes.
Troy is community-driven and open source. Found a bug? Have a feature request?
- GitHub: github.com/sybrew/troy
- Discord: Join the conversation
