Why I’m Moving My WooCommerce Plugin Business from CodeCanyon to Direct Sales

Moving My WooCommerce Plugin Business from CodeCanyon to Direct Sales

I’ve sold a WooCommerce plugin on CodeCanyon since 2014. Twelve years, more than 14,000 stores. It’s not a side project. It’s what paid the bills and kept me building.

This year I’m moving the next generation of that plugin off CodeCanyon and onto direct sales at wpmelon.com. The new product is WPMelon Advanced Bulk Edit for WooCommerce, a ground-up rewrite of the original WooCommerce Advanced Bulk Edit I’ve been selling on the marketplace since 2014.

The decision isn’t a reaction to any one thing. It’s a bunch of things that piled up over the years, and I couldn’t keep ignoring them if I wanted to keep building a serious product. This post is the first in a series where I’ll document the whole move as I do it. Pricing, licensing, infrastructure, migration, mistakes.

I want to start with the honest version, including what CodeCanyon did well. The decision to leave is more interesting once you understand why I stayed for twelve years first.

What CodeCanyon got right

The marketplace solved problems I would have struggled to solve on my own in 2014.

Discovery. People search the marketplace already looking to buy. I didn’t need to figure out SEO from scratch, run ads, or build a brand before anyone would trust me with a credit card. The reach was real.

Payments and risk. Envato handles checkout, fraud screening, chargebacks, tax. I never had to think about it. For a single developer launching a first product, that’s not a small thing. It’s the difference between shipping and not shipping.

Borrowed trust. A buyer who has never heard of me trusts the marketplace. That borrowed trust is what let the plugin reach 14,000+ stores. I won’t pretend growth happens the same way on my own site.

This is the unglamorous, real reason to use a marketplace. I’d still tell a new plugin author to seriously consider starting there. The argument in this series isn’t that CodeCanyon is bad. It’s that the marketplace model fits some stages of a product business and stops fitting others.

Where it became limiting

Four things, in roughly increasing order of how much they shaped the decision.

1. The fees compound

The marketplace fee on the product itself is around 25%. On support renewals, it’s higher, around 30%. For a single sale, that’s a tax I could live with in exchange for everything I just credited above.

But it stops being a fair trade when the product matures and the marketplace’s role shrinks. The buyers searching the marketplace today are not the buyers I most want. They’re the ones willing to pay the lowest acceptable price for the broadest acceptable feature set. The customers who care most about a serious WooCommerce tool tend to arrive through search, recommendations, and content. Those are channels I’d be investing in either way. Paying 20-30% on top of that gets harder to justify every year.

2. No subscriptions, ever

This is the one that finally tipped the balance.

CodeCanyon’s model is one-time fee, full stop. You buy the plugin, you own a perpetual license to that version. After the included six or twelve months of support, you can renew support if you want. But the plugin itself keeps working forever.

That sounds customer-friendly, and in the short term it is. In the long term it doesn’t work for any plugin that has to keep up with WooCommerce, PHP, WordPress core, and a constantly shifting set of other plugins around it.

Here’s the story that made the math obvious to me. A customer who bought the plugin seven years ago, at roughly a third of the current price, opened a refund request. A third-party plugin he had installed conflicted with mine and he couldn’t get his store working. Seven years after a one-time payment of less than $20, he was expecting me to either fix it for free or refund the original purchase.

That’s not an entitled customer. That’s the model working exactly as the model trained him. One-time fee, “premium support” attached, no expiration anyone makes obvious. Of course he expected lifetime everything. I can’t blame him.

But I also can’t keep funding seven, ten, fifteen years of work on a single payment made in 2017.

3. I don’t own my customers

Envato owns the customer relationship. I get a username, sometimes an email if the buyer reaches out. The only direct message I can send is the release notification tied to publishing a new version. There’s a “notify all customers about this release” checkbox in the submission form. That’s it.

I can’t survey customers. I can’t warn them when a WooCommerce major version will break their store. I can’t announce a new generation of the plugin. I can’t send a migration offer. The marketplace permits the one message that benefits the marketplace. Everything else, I can’t do.

For twelve years I’ve built a customer base I have no direct line to. When CodeCanyon changes its rules, and over twelve years it has changed many times, the customer base moves with the marketplace, not with me. That’s the deal you sign when you build on someone else’s platform. It’s a fair deal until the day you want to do something the platform won’t let you do.

4. The one-time fee teaches the wrong lesson

Because the product is sold once and effectively never again, customers learn over time that “the plugin” and “the support” are the same purchase. When I tell a customer four years later that the renewable part was support, and they need to renew if they want me to help them with a new WooCommerce conflict, a lot of them get angry. From their side, they already paid. From mine, they paid once, four years ago, for a product I’ve maintained through four major WooCommerce releases.

We’re both right, given the system. The system is the problem.

What I’m building instead

WPMelon Advanced Bulk Edit for WooCommerce is the new product. It’s a ground-up rewrite of the plugin I’ve sold for twelve years, with a different business model behind it.

The shape, briefly:

  • A genuinely useful Free version on WordPress.org. Not a teaser. A real bulk editor that can do everyday catalog work without ever paying.
  • A Pro version sold directly from wpmelon.com, with annual subscriptions, and a lifetime option for buyers who prefer that.
  • My own licensing system, my own update server, my own customer portal. Every piece shaped around how this product is actually sold and supported, not a marketplace’s defaults.
  • A clear migration path for existing customers of the original WooCommerce Advanced Bulk Edit, including a substantial discount kept for life as long as the license stays active.

The point of the subscription model isn’t to charge more. It’s to charge in a way that funds the long-term work the product actually needs. Subscriptions don’t make the plugin more expensive over a decade. They make ten years of serious maintenance possible at all.

The point of direct sales isn’t to escape Envato. It’s to own the relationship with the people who use my product, so I can support them properly and tell them what’s coming.

Why I’m documenting this publicly

Two reasons.

First, I’m doing this in real time, and writing about it forces me to be honest about the decisions I’m making. If I tell a public audience I’m moving to subscriptions because it’s the right model for serious plugin work, I’d better mean it. And the reasoning had better hold up under questioning.

Second, I’m not the only plugin author thinking about this. I’ve talked to a few, and there are many more. The economics of marketplace-only plugin businesses are different in 2026 than they were in 2014. Authors who built their businesses on CodeCanyon are quietly asking the same questions, and I don’t see many people writing the answers down as they work them out.

So I’m going to. Pricing, licensing, the infrastructure stack, the migration plan, the WordPress.org submission, the support model, what works, what doesn’t. About one post a week for the next two months.

If you’re a plugin author thinking about any of this, especially other CodeCanyon authors, follow along. Reply, push back, ask the questions I’m not answering well. The whole point of doing this in public is that the conversation makes the result better.