Lessons Learned from My First Commercial WordPress Pluginadmin
I launched my first commercial WordPress plugin, WP Social Media Slider, about a year and a half ago. I’d never released a commercial plugin before, so there was a lot of trial and error. Throughout the process I learned (and am still learning) some extremely valuable lessons that will affect my future WordPress plugin development.
If you’ve already traveled this journey you may feel like a lot of these lessons are no-brainers; I certainly feel that way as I look back at them. Hopefully, however, there are a few of you who are considering getting into premium WordPress plugin development and are wondering what to expect and how to proceed. Hopefully the following lessons will save you some time and stress, just as they’ve done for me.
1. Releasing a commercial plugin is a lot easier than I expected.
I’ve been writing plugins for my clients’ sites here and there ever since I began working within WordPress. I love using plugins for two main reasons:
- They keep functionality modular
- They make functionality shareable (at least between your own sites)
As I prepared to delve into the world of commercial WordPress plugins, I had a bit of uncertainty regarding how big of an undertaking this would actually be. Would my new plugin consume my life? Would I need to invest my life savings into advertising in order to get a single sale?
With these concerns in mind, I dove in headfirst…and was very pleasantly surprised by what I found. It turns out that writing a commercial plugin is only slightly harder than writing one of those free plugins that I’d been doing all along. It didn’t consume my life at all. And as for advertising, I was able to get my first sales even without advertising. Dead simple, right?
So I’d say that if you already know PHP, there’s no reason you shouldn’t be writing WordPress plugins—even commercial ones. It’s the easiest time-to-ROI that I’ve found in the PHP world.
2. Eliminate secondary work, even if you have to pay.
One of the most difficult lessons for me to learn was that even if I can do everything myself, sometimes I shouldn’t.
Example 1: The license and update system
The first example of this was with my license and update server. I briefly considered using the WooCommerce API Manager, but after looking at its price tag I decided that I’d rather use the free solution: the ever popular WP Update Server by Jānis Elsts.
So I completed it and worked it into my plugin and site, and it’s worked out pretty well. In the end, though, it took a lot of time, and there’s less functionality than something like the WooCommerce API Manager provides. And suddenly that $129 (or whatever it cost at the time) price tag on the WooCommerce API Manager seemed like a low price to pay for great functionality and less work time. In the end I invested more money (because time is money, right?) in the “cheaper” solution.
While I’m sure that WP Update Server is great in some scenarios, I’ve learned that for me it’s cheaper and easier to simply fork out the money and use WooCommerce API Manager.
Example 2: Hosting
I’ve loved Digital Ocean ever since I discovered them. They have clean design, great prices, and everything is in my control. While my heart wants to go with Digital Ocean, I’ve come to the realization that I probably shouldn’t be worrying about server management when my plate is already so full.
So I switched over to Flywheel for most of my WordPress sites. They provide fully managed hosting, which is just what I needed. I haven’t regretted the decision for a moment. The time that they’ve saved me is well worth the ever-so-slightly higher price.
3. With good support you can use bugs to your advantage.
No matter how much you bug-test your plugin, you’re going to have customers who run into bugs. The diverse WordPress-world will make sure of that. If you handle your support requests well, you can actually use bugs to your advantage.
Here’s what I mean. When most people think of support they think of slow replies, stubborn support staff, and only maybe–if they’re lucky–a solution at the end. Defy that norm. Provide quick, quality support. If you do, there’s a good chance your customer will think better of you than if the bug had never happened.
Anyways, that’s often worked for me. In one instance I had a customer who contacted me about a bug, and I quickly helped her resolve it. After helping her she raved about my “amazing support” and asked if she could compliment me to my supervisor. I don’t have a supervisor, but I was thankful for the gratitude nonetheless. And here’s the thing: the bug and support actually made her more enthused about the plugin. Pretty neat, right?
In terms of support, here’s what I’ve found works best: I don’t try to be too formal about things. In other words, I try to just be friendly and helpful. One of the things that many people hate about support calls is that it feels like the support tech is simply reciting pre-written questions and answers without listening to your problem. So I don’t do that. Instead, I attempt to always:
- Respond quickly; if possible, same business day
- Be attentive; I try to listen and work with the customer as if with a friend
- I don’t sign my support responses with my company’s name. Instead, I use my own name (with my company signature underneath, though)
- If the support request requires additional follow-up, I try to take care of that quickly as well
- I like occasionally using idioms (e.g. barking up the wrong tree) and informal contractions (e.g. Whatcha think?)
- Aside from the point above, I try to have impeccable capitalization, punctuation, and grammar
Of course, sometimes the craziness of life prevents me from offering the perfect support I’d like to give, but I think it’s still important to have the right goals.
So just keep all that in mind. Bugs are bad, but if you offer great support you’ll be turning what could have been a terrible situation into a potential returning customer. And even if they don’t return, at least you made someone’s day a bit brighter.
4. Plugins are great for networking.
Surprisingly (to me), I’ve met new friends and business connections simply because they found and used my plugin. Crazy! It turns out that releasing a plugin will give you the opportunity to meet terrific new people in the WordPress world.
Here’s a tip that I’m trying to be better about: make the most of every opportunity by following up with the people you meet. Follow them on Twitter. Check out their website and let them know if you liked what you found. If you’re an introvert like me you may feel weird about this at times, but I’ve found that people almost always enjoy having someone check out and (sincerely) compliment them on their work.
5. Every development struggle is a plugin idea.
In my case, the idea for WP Social Media Slider was born when I saw that there wasn’t any plugin online that allowed me to nicely display my Facebook, Twitter, AND Instagram posts directly on my site. I really needed this for a project I was working on, and after long hours of searching I concluded that the solution was to build it myself. Since it was so useful to me, it was an easy decision to release it to the public.
Ever since successfully releasing it, I’ve thought differently about plugins. Every time I can’t find a plugin that meets my needs, an alarm goes off in my head that says “You’re probably not the only person that wants a plugin like this.”
A recent example of that is this: I’ve done a few sites lately that required lots of CSV management (exporting custom data, importing custom data to create CPTs, you name it). There are some plugins out there that kind of did what I wanted, but nothing fit the bill completely. So off went the “great plugin idea” alarm in my head, and I developed my own solution which I dubbed CSV Ace. It simplifies importing and exporting CSV files of just about anything into (or out of) posts, CPTs, and users. (Incidentally, if that sounds like something you might be interested in, feel free to sign up on csvace.com for notifications about its release.)
If, like that, you always think about your struggles as great plugin ideas, you’ll never be short of ideas and you’ll always have at least one person (you) who’d benefit from them!
6. It makes a big difference to have a free version of the plugin in the official WordPress plugin directory.
Marketing is hard. At least, it’s hard if you don’t know a lot about marketing. That’s why you absolutely must take advantage of the WordPress plugin directory–probably the easiest and cheapest (free) marketing there is for WordPress plugins. It may end up being your biggest source of traffic. I know in my case I’ve been surprised at how many people find WP Social Media Slider through the plugin directory.
On top of simply being a marketing opportunity, having a free version of the plugin is also a great way to let prospective customers try out your plugin. I know that a lot of people want to make sure the plugin fits their needs before forking out cash, and a free version is just what they need.
7. Returning customers are a real thing–even if you only have one plugin up for sale.
I only have one released plugin right now, so at first I didn’t think about returning customers. I mean, in most of the software industry a customer only needs to purchase the software once.
I’ve come to learn that the premium WordPress plugin industry is different. In the WordPress plugin industry, many (probably most) of your customers will be purchasing your plugin on behalf of a client of theirs. If they like your plugin, they may consider purchasing your plugin again for future clients.
Keep that in mind when you’re providing support for a client. If you leave a good impression on them you may get more than that single first sale to them.
8. Don’t undersell yourself; set a fair price. Developers are probably charging it to their client anyway.
When I first launched the plugin I decided that I’d increase my chances of selling by setting a lower price than I usually saw plugins sell for. With that in mind I launched with a price tag of $15 for WP Social Media Slider.
After a few months of sales I realized that I was selling myself short. This was much cheaper than most WordPress plugins sold for, and my plugin was just as valuable as many of them. So I upped the price to $29 and didn’t see any change in sales; just as many people were buying it. This led me to an important realization: to many WordPress developers there’s not a significant difference between $15 and $29…or even higher than that. They’re purchasing the plugin and are just going to charge it as an expense to their client. At least for me, setting a super low price wasn’t enticing any more people to buy it.
I certainly don’t mean this as a recommendation to rip people off. I just mean that you should honestly evaluate what you think your plugin is worth and sell it for that price. Do you offer something unique? Does the nature of your plugin mean that you’ll be spending a lot of time on support? How much time are you saving your customers?
Set a fair price, and as long as it’s truly fair, your customers will probably be happy to pay it.
So much to learn, and plenty of time.
So that’s what I’ve learned so far. I’m confident that there are many, many more lessons to be learned as I continue to explore the premium WordPress plugin world. To me, that’s pretty exciting.
How about you? Have you developed WordPress plugins? Have you learned any lessons that you’d like to share about in the comments below?