Lessons Learned from My First Commercial WordPress Plugin

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:

  1. They keep functionality modular
  2. 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.

Flywheel has been perfect for me.

Flywheel has been perfect for me.

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?

Formalities, shormalities.

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.

WordPress Plugin Directory

WP Social Media Slider Lite on the WordPress 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?

  • Published on:
  • Last Updated on:
  • Posted Under: WordPress Tips
Post Author: Pete Molinero

Pete operates a one-man web development and animation studio called Laterna Studio. He enjoys both front-end and back-end development, and his work primarily consists of custom web application development using either WordPress or Laravel.

Disclosure: This page contains external affiliate links that may result in us receiving a comission if you choose to purchase said product. The opinions on this page are our own. We do not receive payment for positive reviews.
Got something to say? Join the discussion.
  1. Robert DeVore says:
    Having a free version of the plugin in the repository is definitely a nice marketing tool. I also agree with setting a fair price for the work you're putting in to creating a solution that companies will benefit from (both freelance developers building websites with your tool, plus the companies who are having your product used on their website). Its been a little under a year since I launched the WP Dispensary plugin and have been building add-on's and have a theme that compliments the main open source plugin. A learning process for sure. Posts like these let me know I'm headed in the right direction though, so thanks for writing it :)
  2. Luke Cavanagh says:
    The issue with having a plugin on the repo, is time you would have to dedicate to support.
    • Pete Molinero says:
      Yep, definitely something to consider! In my observation, however, the marketing outweighs the support time--which is (I suspect) why many of the premium plugin leaders out there continue have free versions on the repo.
  3. Ann says:
    great and honest story, thanks! by the way, do you manage everything (support, marketing, development) by yourself or have somebody to help you?
    • Pete Molinero says:
      Glad you liked the article! At this point I do manage everything myself, but if the plugin became so popular that I needed to hire help, I wouldn't be disappointed!
  4. Ben says:
    Nice write up. I'm curious to know more about what you have done to market the plugin, and if it has earnt you enough income to justify the time spent (not worried about exact amounts - just if it's been worthwhile).
    • Pete Molinero says:
      Hi Ben, Sure! To be honest, marketing/advertising is still something that I have a lot to learn about. So far I've done (1) standard SEO optimization (2) submitted to the WordPress plugin directory (3) paid for advertising (4) done some social media marketing--both paid and free posts--on Twitter and Facebook (5) written blog posts (6) looked around the web looking for people looking for a plugin like mine, and answered their questions with a link to my plugin. Submitting to the free plugin directory was one of the *very* first things I did, though, and after that I almost immediately started receiving sales. In terms of revenue, the plugin has definitely paid for itself. It hasn't replaced my day job, but it's great having the steady trickle every month from the plugin (and it's a steady trickle of both cash and knowledge--which is great!).
  5. Jan Koch says:
    Thanks for sharing your experiences Pete! I'm just in the process of launching my first WordPress plugin. It's going to have a free version and a paid version as well, just like you recommended. Do you have a tip on how to name the plugin and write the description, so that people find it in the plugin repository? Is there something like SEO for the WP repository? Best, Jan
    • Pete Molinero says:
      Hi Jan, unfortunately I haven't done much research on that, so I can't really give you any advice that's backed up by facts. :-) You might try Google's keyword planner, though, to see if you can find some ideas there. Best of luck with your plugin!
  6. barn2media says:
    Some really interesting points thanks. We launched our first two premium WordPress plugins this year - Posts Table Pro and WooCommerce Password Protected Categories. They're selling well without much marketing, but we're spending a huge amount of time on support which means that so far they're not much more profitable than doing direct work for clients. How do you minimise the time you spend on support without sacrificing on the level of service? To add to your list of lessons learned, I would say that you have the best chance of success by developing smallish plugins that meet a specific need which isn't being met by another plugin. By doing this and having an existing website and blog that was already ranking well for WordPress-related keywords, we were easily able to appear on Google for keywords relating to the problems that our plugins solve. We use Google AdWords conversion tracking to see where our sales come from and have learned that as well as wordpress.org which you mentioned, Google organic and YouTube tutorials are also a great free way to increase your plugin sales.
    • Pete Molinero says:
      Great info! Thanks for sharing! Regarding support, I think there are a few things you can do to help limit support time--and actually now that I think about it one of them I really *should have* put in the article. The main thing is this: build at least some simple diagnostic tools into your plugin. For example, my plugin relies on CURL. If the user doesn't know what they're doing it could take a few e-mails of back and forth to establish whether or not they have that installed on their server. With that in mind, I built a "System Status" panel (inspired by WooCommerce's approach) that gives the important details of the person's server environment (PHP version, CURL, etc.). You could take that concept a bit further and build diagnostic tools for whatever particular issue people seem to have. That way you could narrow down the problem really fast. And if there are steps required to fix, you could have a docs page outlining those steps. Along those lines, simply having thorough, detailed information in your docs helps a bit. Even if people e-mail you before reading it, you can still use it by sending a friendly reply to their e-mail with a link to the section in the docs. Anyways, just some ideas! Hope that helps!
      • katiekeith says:
        Thanks for the suggestion Pete. We have been wondering whether to introduce a system status report like Woo's. We had some concerns that it's not fair to make people jump through hoops when it's possible they are reporting a bug with our plugin, but of course that means we're having to spend extra time helping people who are using outdated versions of PHP etc.
  7. DeBAAT says:
    Thanks for sharing these ideas. Especially the returning customer was an eye opener for me. Furthermore I would like to know your thoughts on recurring revenues. Sometimes I see plugins which sell support and updates for a year and have the customers renew the subscription. Was this something you consiedere at all? Best, Jan.
    • Pete Molinero says:
      Hi Jan, I'm 100% in favor of recurring revenues like you mentioned. My license & update server wasn't easily up to the task so I just went with free-updates-forever, but I wouldn't do that again. Plugin updates--and certainly support--offer continued value and (I think) are worth paying for. In any case, even if people don't renew the subscription they still have a working version of the plugin. What are your thoughts on it?
  8. Robert says:
    RE:"It makes a big difference to have a free version of the plugin in the official WordPress plugin directory." It is very important to understand from a marketing perspective the concept that "if you have a high level of credibility, it has a monetary value". Providing a free version of your plugin builds your authority status and credibility. This enhanced stature leads to sales. So, it is ALWAYS critical to provide a free version with substantial value. Your emphasis on QUALITY support is extremely well placed, because this practice increases your credibility for sure. Best of success.

Leave a Reply