How do WordPress plugin developers make money

The WP typeSuccessful online with WordPress

Coders gonna code. Coders love to code. And some of them make a lot of money from their products. The developers behind the popular "Avada" theme, for example, earn around US $ 100,000. Per week.

But it is not only through themes that you can make huge profits. Plugins are also catching up more and more. In the calendar week 36/2017 the Visual Composer - a page builder for WordPress - was sold almost 2000 times. At a price of 38 US dollars, that adds up to 60,000 US dollars per week.

Hand on your heart. Which freelancer is pushing so much revenue? None. Because these high sums cannot be achieved with a mere investment of time. Our working hours per day are limited. Time to finally sell products.

Do not worry. You don't have to go over the plank! Nothing happens to you! Pirate word of honor!

I sail for you through the endless seas of WordPress news and prepare this once a monthfree in an email.

Do not worry. You don't have to fly to WP-Topia to get the latest news about WordPres development.

I fly for you through the endless galaxies of WordPress news and prepare this once a monthfree in an email.

Why actually?

Why should you create and sell a WordPress plugin? The answer to this question can vary. Depending on personal preference. For me there are two main reasons:

Reason 1: For me, plugins are a very good source of income in addition to my classic development work. As a web designer, in 2010 I found myself in a situation that every freelancer has to go through: big customers fell away. At the same time, the economic crisis occurred at the time. That made the situation even worse. There were no new orders or they were immediately canceled.

Suddenly you're left with no income and you don't know how to pay the next rent. Existential fears quickly arise. Seven years later, thanks to my plugin product sales, the world looks a lot better to me. The regular cash flow through passive income (not including support costs) is a great thing. That made me a bit more independent and I didn't have to accept as many WordPress jobs anymore.

It is only in the recent past that almost the same thing happened to a colleague I have been working with recently as it did to me. The only customer fell away. Uff. The memories came back right away. A desperate search for fundraising opportunities began for him. But that is usually difficult in such a situation.

That's why you should take precautions. And when it comes to the topic of pensions, I come to my second reason:

Reason 2: Software has now become a type of investment. At least that's what the Austrian manager, investor and author Gerald Hörhan says in a recently published interview on Youtube1. And in his current book, too, he declares software to be one of the biggest economic trends for digital climbers2. He then appropriately calls the entirety of his online businesses (as well as some investments in this area) “digital assets”.

Seen in this way, you have to consider your own plugin as an investment in the future. After all, it can not only create a good source of income, but also a kind of capital investment.

Personally, I see more of the monetary benefit here, although - as you will learn at the end of the article - there are other good reasons why you should create a plugin.

Who I?

Am I the right one for such a project? Anyone who works more often with WordPress and successfully earns their bread with it is usually predestined for such a task. It is not only for me, but also for many of my customers that it often happens as follows:

  • At some point you come up against the performance limits of existing plugins.
  • A plugin is no longer being developed.
  • Of the around 52,000 plugins in the official directory, there is none that fits a specific task (exactly).
  • There is no plugin for an existing special request.

The world is big and the likelihood that someone will reach exactly the same limits as you are also high. So if you as a developer have a solution to a certain problem, the chances are good that someone else will need the same solution. So you don't have to sit down and spend hours thinking about which plugin to develop. The ideas come almost all by themselves if you deal with WordPress for a long time. The best part is that plugins that are created in this way are simply the best. Because only you yourself know your own problems best and can therefore find the optimal solution.

Is it worth it?

It's like any business: without extensive testing, you don't know beforehand whether a plug-in will work with customers or not. One possibility would be to set up a product website in advance and use AdWords to test whether users would buy at all. This is what Tim Ferriss suggests in his book “The 4 Hours Week” in order to quickly find an answer.

Last but not least, sales success depends on other factors: the degree of problem solving, price and marketing. To name just a few points.

Basically I would say:

Every idea is worth pursuing.

Up to now I didn’t have a plugin that didn’t sell. And this despite the fact that I had made almost no effort to find out whether it was worth developing a plugin for a problem. Of course, the sales figures fluctuated extremely and ultimately also led to the fact that I no longer develop some of them. If a plugin was not created because I needed a solution for something myself, then it mostly came about as a result of a customer request. Often I was rewarded for the development anyway and I only had to prepare the respective plugins for sale. For me, this effort was mostly manageable and acceptable.

There are currently well over 1.2 billion websites3. According to W3Techs, almost 29% of these sites are operated with WordPress4. So we're talking about 350 million potentially sellable licenses if you count one license per domain. You can already see yourself bathing in the money store like Scrooge McDuck.

That's an almost infinite amount and certainly the reason why almost every plugin finds a buyer. There is also an important statement that a friend repeats over and over again:

We humans regularly underestimate the size of markets.

And it really is! But of course it's always better to crack the toughest of all nuts and appeal to a larger target group. Because that usually promises higher sales. But possibly also more competition.

What are the popular topics?

If you ask yourself why most WordPress users run a website at all, then you inevitably come across the answer of making money. Personally, I always wonder how you can help these WordPress users to make even more or easier money with their websites. And there can be several solutions for this. Plugins for search engine optimization (SEO) are, for example, extensions that are always well received. Because they will hopefully help to get better rankings in search engines. And that in turn helps to make money.

My first plugin did nothing more than embed a Google Plus profile link on the WordPress site. As a result, Google then displayed the author's name and profile picture on the search hit page. Easy and cool at the same time. Because back then, a picture in search hits was the absolute highlight. Rich snippets didn't exist back then.

The colleague I mentioned at the beginning asked me whether this plugin had actually sold. Around 150 euros per month. Almost passive. Until Google decided to remove the pictures again. That at least pays the phone bill. I recommended him to finally sell a plugin himself.

How do i start?

Beware, nerdy: Basically anyone who has basic knowledge of PHP development can get started right away. To run WordPress you need a locally running web server with a MySQL database and PHP. All of this together is called the web service stack. You can install this yourself or use existing tools. The most tried and tested of these is XAMP5, which is available for all operating systems. In addition, there are other derivatives that are limited to certain operating systems. Examples are MAMP6 for MacOS and WAMP7 called for Windows.

These tools have the advantage that the following can be set dynamically:

  • the web server (usually Apache or NGINX),
  • the PHP version (usually from 5.2.x to 7.1.x)
  • as well as the MySQL version (often 5.4 and 5.5 or MariaDB> 10.x).

I will explain in more detail in a moment why the conversion of the web server and / or PHP version is important. But first I would like to mention other interesting tools:

Local by Flywheel8 (Windows, Mac) is my favorite. The program creates its own WordPress environments in virtual Docker containers on the home computer. It was created for WordPress development and installs WordPress with every new page. Likewise the WordPress command line tool (WP-CLI). Incidentally, the program is also interesting for anyone who just wants to try out WordPress quickly.

Chassis.io9 is currently in the beta phase and comes with a desktop app for MacOS. However, it can run on all computers on which Vagrant is also running. The aim is to exactly replicate an external server configuration so that it can be used locally.

There are also other tools and systems such as Laravel Homestead10, ServerPress DesktopServer11 or Laravel Valet12 for all Mac minimalists.

How do you develop a WordPress plugin?

A) The local development environment

The engine chugs. That means the local test environment is running. Now you can get started. However, if you have never worked with WordPress as a developer, you should familiarize yourself with the coding standards13 familiarize. They are available for HTML, CSS, PHP and JavaScript. As a rule, they apply to development on WordPress itself. I recommend using them anyway, as this is the only way that each source code is structured in the same way and that you can find your way around more quickly.

Of course, it is up to everyone how to develop their code. Tom McFarlin, who writes a lot about WordPress development on his blog, recommends14 for example, contact the PSRs15 (PHP Standards Recommendations). And there can be several reasons for this. In his article, for example, he mentioned that he would not be able to use modern tools without PSRs. Others don't want to widen the gap between the WordPress developers and what the rest of the PHP developers do. That is why both standards are used at the same time16. So in the end a question of preference.

B) Code editors for WordPress development

Now it's time to start developing. You need an editor for this. It is best to have one who understands the WordPress coding standards and uses autocomplete to help the developer to find and use known functions that are already included in the core. This makes work easier, especially for inexperienced people. The best known application is PHPStorm17 from the Czech manufacturer JetBrains. It comes with a direct WordPress integration. That is probably also the reason why many developers fall back on the - you can almost call them that - egg-laying woolly milk pig18. PHPStorm can do much more than “just” WordPress. For beginners, the 200 euros that you have to pay for the license in the first year may be an obstacle. But that should definitely not be an exclusion criterion.

It's much cheaper with Atom. This program is available free of charge and recently also with upgradeable IDE functions19that were created in collaboration with Facebook. Via so-called packages20 extensions created especially for WordPress development can be retrofitted.

Finally, I would like to mention Sublime. This app is widely used and appreciated by colleagues. There is no direct WordPress integration here either. Various extensions circulating in the network add some functions.

As always, code can be written with almost any editor. It doesn't have to be one of the above. But tools like PHPStorm make the job extremely easy. Coding standards that can be applied to any script with a keyboard shortcut or the built-in debugging are worth their weight in gold.

C) Start development

The idea is in your head, WordPress is running locally and the code editor is open. Time to get to work. But how do you start and how do you structure a plugin? I present one possibility in my book "Creating a WordPress Plugin"21 in front. The first two chapters can be read online for free. This already creates a file structure so that the first custom plugin can be activated from WordPress. You can then really get started with an understanding of the so-called hooks. You can let plugins grow into very powerful constructs. And all without having to intervene in WordPress' own source code.

But that's not all. The many application programming interfaces (APIs) of WordPress can be used to achieve your goal faster. For example, there is a widget API to create your own widgets for sidebars. Or the HTTP API, which makes it extremely easy to access external content. So the wheel doesn't always have to be reinvented.

How to approach it in detail should not be the subject of this article. If you need more input here, the official page "Introduction to Plugin Development" 22 Contact point number 1. An online search for “WordPress Plugin Boilerplate” also brings up many code examples that show what possible foundations can look like.

Are there any standards for a plugin?

How many functions should my plugin have?

As mentioned at the beginning: Coders gonna code. Developers just love to develop. Often for hours, days, months. Then everything is thrown overboard and started all over again. Yes, we love coding and that's a good thing. But in order to get my first own and sellable plugin, I believe that it has to be done quickly. Not in a rush and not without having tested thoroughly beforehand, of course. But the expression “early launch” should be internalized. “Less is more” also applies here. Better a small plugin with fewer functions than an overloaded flagship. For two reasons:

Reason 1: The more code you generate, the more you have to test. Earlier in the article, I recommended using local web service stacks like Local for Flywheel. Among other things, to be able to quickly switch between PHP versions. Because it is not clear which version is actually used by a user. Therefore you have to test with older versions. In the case of support inquiries, one must also be able to reproduce the approximate conditions of a customer in order to be able to understand any errors.

Reason 2: The customers lead the way. Many functions that were initially thought to be absolutely necessary are often not used at all. That is, you often develop them for nothing. If you start small and listen to your customers, you develop exactly what they need. A win-win situation arises and you can save yourself a lot of work.

Just recently someone wrote me a very long e-mail in which it was explained in detail which functions were still missing in my plug-in in order to improve it. This input didn't cost me anything. But I am sure that the author's ideas would help many more customers. Because they partly coincided with my own ideas for future extensions. As already mentioned: you are never alone with your ideas.

In the past, I hung an average of around 75 working hours in a plugin. This includes the initial development, setting up a rudimentary website with FAQ area, support and updates. From time to time I add certain functions to plugins that sell well. Mostly those that are submitted by users as so-called feature requests on the website. With the development of additions, the working hours naturally increase significantly. 250 hours and more are not uncommon. There are also plugins for this (like the Google+ plugin described above) for which I had invested no more than 40 hours.

So that means: there are no specific standards in development. What works is good and it's best to listen to your customers.That has proven itself.

What are the technical requirements?

WordPress can officially still run with PHP 5.2.4 and MySQL 5.0. However, PHP 7.0, MySQL 5.6 or MariaDB 10.0 is recommended23. One would do well to continue to support older versions, because many users cannot update to newer versions due to dependency on old themes and plugins or simply out of ignorance. Since July 2017 there is a PHP meeting group in the WordPress community. The members have made it their goal to gradually stop supporting older PHP versions. This is quite a difficult task, because there are still older WordPress versions circulating on the web that must be updated beforehand. For this purpose, an info page will soon be set up on, which is supposed to gently teach the technically less experienced user how to update PHP. And if that doesn't work, he will receive information on how to pass this on to his web host.

I tend to support the latest versions more. In relation to PHP this would be version 7.0.x. However, you then have to be aware that this categorically excludes some customers. From experience I can say the following:

Customers often buy impulsively, don't read the requirements and then complain afterwards why the plugin isn't working.

Specifically, not long ago I got my Rich Snippets plugin24 updated to version 2.0. It requires PHP 7.0 or higher to run. The plugin cannot be activated without the correct version. Although this is pointed out in the first sentence (!) On the sales page, I regularly receive letters from buyers who complain because it was probably not clearly stated.

If you plan to upload your plugin to the free WordPress directory on, it will soon be a little easier. A minimally supported PHP version can now be stored in the readme.txt file, which must be enclosed with every plugin. It is a matter of time before this feature will also be implemented in the WordPress core. And this means that users can no longer install versions of plugins at all if the web server does not have the right requirements.

After-sales. What happens after the sale?

Bam. Now it's ready, your own plugin. Or not? Coders gonna code. But not only the code is important, but also the layout, the design, the UX design and much more. There are a thousand reasons why customers complain and then rate the plugin poorly. Since reviews ultimately contribute significantly to the purchase decision, they are an important marketing tool. You should try to avoid reviews that are too bad.

Users almost never read code. And they don't want that either. Bad reviews are usually only given because of functionality or difficult handling. If you don't have a designer in your team, you should at least read the basic knowledge. Books that I can recommend here are for example:

  • “The design book for non-designers” by Claudia Korthaus and
  • "Don't make me think!" By Steve Krug

Now you can already imagine that a customer's expectations of a plugin are high. It should:

  1. present yourself well,
  2. work properly,
  3. do exactly what the user imagines,
  4. be as affordable as possible and
  5. to be further developed.

But it doesn't stop there either. The customer is expected to receive the highest level of support. Best at any time of the day or night. This is of course due to the plugins and themes that sell best, push 60,000 USD per week in sales and can assign many employees for this money to keep the support effort away from the actual developers. This can be overwhelming for every beginner. Especially under the aspect that you can never please everyone. For example, you cannot get affordable prices for someone who is in the third world. The same applies to support: we Germans are proud of our weekends. If you do not respond to support requests for two days, this is a reason for most customers a) give a bad rating or b) demand the money back immediately. Everything already happened.

Where can I publish?

Which are the most famous stores?

After a plugin sees the light of day, it has to be sold. The only question is where? CodeCanyon has by far the most traffic25, an offshoot of the Envato marketplaces mentioned at the beginning. WordPress plugins are also listed there.

There is also the Mojo Marketplace26, WP Eden27 and more. In my opinion, no one comes close to CodeCanyon for one simple reason: Coders want to code. Marketing is a block on your leg. CodeCanyon has so many walk-in customers that almost no marketing is necessary to generate a good additional income.

However, this luxury is bought with fees between 12.5% ​​and 50%28. If you want to sell your plugin on your own website in addition to CodeCanyon, you have to deduct 50% by default. If you want to earn more, there is only one option left: to offer plugins exclusively and exclusively at CodeCanyon. Then you start with fees of 37.5% and meander up or down. Because the fees are dependent on sales. Only with a turnover of 75,000 USD you only have to give up 12.5% ​​to the operator.

It is rather negative how Envato deals with newly submitted products. You only get a short e-mail that either signals that the plugin has been added to the marketplace or you receive a rejection that is not very meaningful. The rejection e-mails, which usually only contain one sentence, are even listed online 30. There is something like "Your submission doesn't meet our quality requirements" (in German, for example, "The submitted product does not meet our quality requirements"). Of course you can submit the plugin again. Any improvement measures that you make in this regard, however, are absolutely in the dark. Because Envato is silent about what the requirements look like in detail.

How do you sell yourself?

Marketplace sites like CodeCanyon can help ease entry into the new plugin business. You can quickly get to the first paying customers and slowly get used to the trappings, such as the support. But that doesn't work with every product. For example, if you want to offer Software-as-a-Service (SaaS) and you depend on receiving monthly payments from customers. The latter is not possible in any of the Envato marketplaces.

In addition, you may not want to use such a marketplace or take over the marketing entirely yourself. Then the following tools are helpful:

  • With the eCommerce plugin WooCommerce31 digital products (downloads) can be sold.
  • EasyDigitalDownloads32 is also a plugin for WordPress, which as a shop system specializes in the sale of digital products. The manufacturer goes one step further than WooCommerce. In turn, the plug-in can be expanded to include additional plug-ins, for example for software licensing.
  • Freemius33 operates a web portal that takes care of payment processing, licensing and automatic updates.

You can see: every expansion or every marketplace has advantages and disadvantages. At CodeCanyon you have almost nothing to do with payment processing. The same applies to Freemius. With WooCommerce and EasyDigitalDownloads you have to register with all possible payment providers yourself, take care of the payment processes and invoicing. The latter can be pretty tricky. In every country there are some tax hurdles that you have to be aware of when doing international trade. In an emergency, only going to the tax advisor helps.

Why not offer it for free?

Of course there is still the possibility to give away plugins completely free of charge. Maybe also in the hope that users will be willing to donate some amount of their own free will. Personally, I would keep my hands off it. Because experience has shown that almost no one donates, and if so, only such small amounts that one cannot safely create additional income. That's why I'm not going to go into it in any more detail.

But one or the other has probably already thought about creating two plugins: a free basic product and a paid full version. It's called freemium. And as you could already see from the name, this is the basis on which the above-mentioned Freemius service is based.

How you ultimately decide is up to you and certainly depends on your own convictions and the business plan. It is very likely that the official WordPress plugin directory has even more "walk-in customers" than all of the above-mentioned sites combined. In addition, you create a high user base right from the start.

The best known freemium plugin is the "Yoast SEO" plugin34. It helps WordPress to expand in the area of ​​search engine optimization. The Yoast team uses the free version as an entry gate for further products. It therefore not only offers a premium version, but also services on the topic of SEO, which then provide the necessary income.

Pippin Williamson, developer of EasyDigitalDownlaods, started something similar. His first plugins were found at CodeCanyon. Later he sold them more and more on his own website. He used the platform as a stepping stone. Similar to how Yoast uses the official plugin directory.

In summary it can be said:

  1. Don't give away plugins for free if you intend to make money from them.
  2. Freemium only if you can quickly build up a high user base and manage to sell the premium version to as many users as possible. Maybe only when you can offer other products or services in addition to the premium version.
  3. Use marketplaces if you do not want to concentrate on marketing for the time being and do not want to offer any extraordinary products (such as SaaS services).

How do I find the right price?

That is a good question and in the end it is probably a commercial decision that everyone has to make for themselves. A few years ago you could not choose the price yourself with CodeCanyon (as with all other platforms of the operator). Your own plugin was then valued at between five and about 50 US dollars. I never really understood how these awards came about. That was probably at the discretion of the currently available employee. Basically, you usually had the feeling that the operators wanted to keep prices as low as possible. That is probably also the reason why most customers now consider a price of up to 30 dollars to be acceptable. Much like a price between one and five euros in Apple's AppStore is okay. Everyone else flips up and certainly has their own reasons for it, which is also fine.

You can now choose the prices yourself. As in any case, the following applies: the price should be set carefully and not set too low if possible.

Pippin Williamson wrote down his thoughts on a price hike in a blog post35. At the end of December 2016, he increased almost all prices in his product range by 50% to 250%. As you can imagine, this didn't go down well with some customers. But of course it wasn't even his intention to annoy customers. The main reason he cited was simply getting tired. The social responsibility towards his employees as well as the high support effort made him and his team to create.

All in all, the price change has more than paid off for him. Not only was there higher income despite falling purchases. The team's morale has also risen.

So you should think about it right from the start:

  • How much time did I invest in my plugin?
  • How much is this time worth?
  • How much support effort do I expect?
  • What are the additional cost drivers (PayPal fees, etc.) and how do I include them in the invoice?

In addition, the question arises whether a one-off price is profitable or whether one has to introduce monthly or annual prices in order to be able to finance further development. Pippin has an answer for this on his blog too36. At the beginning of 2016, he switched his system to automatically debiting the annual plugin price. And again this change was more than profitable for him. Probably the most positive effect of this is that the income increases the more customers you win and can keep for several years.

But I can think of another positive point: Customers can update to the latest versions earlier and faster. So you have less to do with old plugin versions. The support effort is reduced and a win-win situation arises again for everyone involved.

What else do I have to prepare for?

As mentioned above, support is probably the biggest cost driver. However, I can say that this is very limited if you initially see that all problems are resolved as quickly as possible. If the worst blunders have been removed after a few weeks, the plugin - in the case of CodeCanyon - almost sells itself.

You will learn a lot during this time. You have to be prepared for the wildest web server configurations and the confusing WordPress installation with a wide variety of plugin and theme constellations.

Analytical thinking, debugging using tools such as XDebug and suitable software, such as the PHPStorm mentioned at the beginning, help at this point to quickly present the customer with a solution and to keep one's own stress level low.

However, you shouldn't forget to regularly ask customers for positive feedback, i.e. ratings. I never did that, but in retrospect I see that it was a mistake. Because mostly only customers complain for whom something doesn't work. Everyone else is usually very quiet. As mentioned earlier, this can have a negative impact on ratings and therefore sales. And that would be a shame if you invested a lot of time in development.

And now?

Developing a plugin from scratch is one thing. Dealing with design, marketing, pricing and the like is another. Those who are already a freelancer are used to doing a lot of things on their own. Therefore, I think the first custom plugin is a challenge, but not an impossible goal. The moment you hit the publish button is indescribable. Just like the moment of the first sale and customer support. One can only benefit from the way there. You learn things that you didn't know before. Be it of a technical nature (peculiarities of PHP, a web server or totally crazy WordPress configurations), on the human level (from the small start-up to the Italian porn site operator, everything was included with me) or simply more about yourself (when customers insult you wildly and you can't freak out yourself).

You don't always have to develop something completely new. There are many plugins whose basic idea can be implemented better. After all, competition is good for business. It's not for nothing that there are several form plugins today: ContactForm7, WPForms, NinjaForms, weForms, TorroForms, GravityForms, PirateForms, Formidable and so on. And everyone does their business. Nowadays these plugins don't differ in functionality, but in other things like design. And that starts with the sales page, goes beyond handling the plugin and beyond customer support.

In the end you will notice that you have the feeling that WordPress is bringing the world closer together. And that's a great feeling.

On that note: Coders gonna code. Good luck with your first own WordPress plugin!

  1. YouTube “Conversation with the investment punk about Tesla, education, books and investment strategies”↩︎
  2. Book: Der Stille Raub: How the Internet is destroying the middle class and what winners of the digital revolution are doing differently. Kindle eBook. Item 1807. ↩︎
  3. Source:; As of Sept. 14, 2017 ↩︎
  4. Source:, as of Sept. 14, 2017 ↩︎
  5. XAMP:↩︎
  6. MAMP:↩︎
  7. WAMP:↩︎
  8. Local by Flywheel:↩︎
  10. Laravel Homestead:↩︎
  11. DesktopServer:↩︎
  12. Laravel Valet:↩︎
  13. WordPress Coding Standards:↩︎
  14. Source:, as of September 16, 2017 ↩︎
  15. http: //↩︎
  16. Commentary by Alain Schlesser;; As of Sept. 16, 2017 ↩︎
  17. PHPStorm:↩︎
  18. Source: https: //, as of September 16, 2017 ↩︎
  19. Atom IDE:↩︎
  20. Atom Packages:↩︎
  21. https: //↩︎
  23. WordPress Requirements;; As of September 17, 2016 ↩︎
  24. Rich Snippets Plugin: ↩︎
  25. CodeCanyon:↩︎
  26. Mojo Marketplace:↩︎
  27. WP Eden:↩︎
  28. Source:; As of Sept. 17, 2017 ↩︎
  29. Source:; Status: Sept. 17, 2017 ↩︎
  31. WooCommerce plugin:↩︎
  32. EasyDigitalDownloads:↩︎
  33. Freemius:↩︎
  34. Yoast SEO plugin:↩︎