It’s no secret, I’m a fan of WordPress.
You will often find me in heated discussions with other creatives about the superiority of WordPress as both a publishing and application platform. The flexibility of the WordPress plugin API has enabled developers to create some amazing things on top of the WordPress core, and the ecosystem is ever expanding. Developers have created entirely new publishing experiences such as Barley, Aesop Story Engine and Semplice. While others have constructed entirely new platforms on top of WordPress with their own plugin ecosystem like WooCommerce, Easy Digital Downloads and Ninja Forms. This is exactly why I love WordPress, but also why I fear it’s imminent implosion.
This is exactly why I love WordPress, but also why I fear it’s imminent implosion.
In recent years WordPress plugins have matured to the point where many employ generous teams of developers and customer service agents around them. Teams that offer top notch customer service and products that greatly enhance the broader appeal of WordPress as a whole. Most give back to the community, contribute to the WordPress core, and push the platform forward. There is no doubt that the WordPress market is booming, but sustaining a team of employees requires a large infusion of revenue on an ongoing basis. Some have solved this issue by adapting their licensing structure to reflect the true costs, but in doing so have created a number of other problems for developers and end users alike.
Developers deserve to be paid and often more than we offer them for their work.
Enter Subscription Based Licensing
Gone are the golden days where you could pick up a revolutionary plugin for $50-$75 with lifetime updates & support. For years we got away with paying peanuts for a plugin, deploying it on unlimited websites and never looking back. Developers deserve to be paid and often much more than we offer them for their work. Today most developers have adopted a subscription based licensing model where you are granted use on x number of sites, with updates/support provided for a limited period of time. Typically, one year.
After the licensing period has expired, you will have to purchase the plugin again to continue to receive updates/support. Most developers offer a renewal window where you can purchase your new licence for a discount, but I can say I am guilty of letting licences lapse on my personal projects. I have put a lot of thought into this model over the past two years, and although I don’t necessarily agree with their prices; I believe its the best way to ensure that plugins retain their high standards.
So if teams, support, and licensing are good… where’s the beef?
Plugin Lifecycle Management
Lets say we are building a new website for a trendy new salon in town and they want to:
Enable customers to book & prepay for appointments online.
For online booking I will most likely use WooCommerce (a free eCommerce plugin with paid extensions) as they have a sweet Bookings plugin. Ouch, $249/year? I’m going to have to work that into the project budget. I already own the Stripe payment plugin so we should be good to go on appointment bookings.
Showcase their teams skills
I will most likely build a custom team profile plugin that will allow the client to construct a bio for each stylist and attach photos of their work. I will also hook into the Bookings plugin to add custom “Book Me” buttons to each stylists’ pages.
Collect customer feedback
Let’s be robust in our solution for customer feedback. I will use the Ninja Forms plugin to build a robust feedback form and use the Layout & Styles extension ($39/year) so it blends well with the site design.
We will also use WooCommerce Follow Up Emails extension ($99/year) to automatically send the customer an email 48 hours after booking, thanking them for their service and requesting their feedback.
Who is responsible for the bill?
As a one man design & development team I build between 15 and 20 handcrafted websites per year on WordPress. So as you can imagine I have built quite a plugin library, but most of them are single site licences. I could upgrade them to multiple site licenses but if a client does not pay next year I could be stuck with their portion of the bill.
Lets take a look at the costs: Dedicated WordPress Host: $36o/year + Plugin Licensing: $466/year + SSL Certificate: $249/year = $1075/year
Personally, I try not to do site maintenance fees and pass things like hosting onto the customer so I don’t have issues collecting all of the costs. In an ideal world the client would pay for everything directly, but in the case of this site what would mean at least three different accounts (hosting, WooThemes & Ninja Forms), I would need access to just to get started.
With a project like this to ensure a great client experience I would likely take on licence management myself. With the current model, I will have to charge a minimum $90/mo (more likely $110/mo with foreign conversion) base maintenance fee to the client with zero man hours in return. Always a hard sell to a small business, and since these plugins are purchased yearly it means keeping the payments in escrow until the big bill comes up.
This often makes me uneasy, and if anyone has a great method for managing bulk licencing from multiple sources… I would love to hear them.
Installation & Updating
We have purchased our required plugins and we are ready to install them. So we download the package from the developer and upload it to WordPress. Upon activation we receive a notice that we must install another plugin to manage the developers licensing and to receive plugin updates. Ok, lets install that too. (This is a good time to grab a beverage of your choice)
Now we have to go back to our purchase email or the developers custom dashboard, locate the licence keys for our plugins and individually copy and paste them into the updater plugin. Then repeat the process for our other plugin vendors. Not exactly a smooth user experience, but we got a (beverage of your choice) in the process, so its not too bad.
What if we want the plugin on our development server too?
- This is where things get tricky. If you purchased a licence for more than one site you can repeat the process above and your development environment will receive updates too, but it will take up one of your licences.
- Most expired or unlicensed plugins will still function but will not receive updates. If you can live with multiple “enter your licence key” notifications in the admin, and don’t mind logging into the vendors website to manually download & re-install the plugin every time there is an update. This may also be an option.
Licence Expiry Management
Managing licences for one site is easy, managing this for 20 sites is a cumbersome task. What site owns which plugins? Which licence keys belong to each site? When do the plugins need to be renewed?
If you’re like me you have licences from 4–5 different vendors, with multiple licenses per vendor, that all expire at different times. This means constant emails letting you know licences are expiring. You go back to the spreadsheet (hopefully you have one) to find who is due and either pay it in faith that it will be covered by the client or start hounding the client for payment.
Another difficult task.
Effect on the overall User Experience
The number one resistance I get from clients when pitching them a WordPress based site is “We had a WordPress website, and it got hacked all the time.” After some brief education on choosing a responsible host, we move to a lecture on the importance of up to date software. Eventually they understand that their two man painting business in rural Saskatchewan, is not in fact under siege and they can safely return their recently purchased GAZ Tigr.
You can’t protect yourself from vulnerability if you don’t have the latest software in front of you. This takes vigilant updating of plugins across all managed sites, which with the current ecosystem is not easy.
The truth is managing premium plugins is becoming an increasingly difficult, and as the business around WordPress evolves; the overall experience of site managers is degrading.
There has to be a better way.
Solve for X
The solution is simple in nature, yet extremely difficult to execute. WordPress needs unified premium plugin management support. Brad Touesnard was on to something back in 2011 with the creation of (the now pivoted) WP App Store. A plugin that offered a curated marketplace of themes & plugins from top developers inside the WordPress dashboard, with one click purchases and unified updates. Genius, but before its time.
WP App Store failed because I failed to get it into people’s WordPress dashboards, it didn’t really solve any painful problem, and there aren’t enough quality commercial plugins yet. — Brad Touesnard WP App Store Developer
I’m not talking a full app store, as I don’t feel you can accurately depict the merit of a plugin within the WordPress dashboard. I believe we need a unified system for managing plugin payments and licensing within WordPress.
Plugins should be initially purchased from the vendors website, allowing them to truly sell their product. Developers should be free to deliver their product however they choose, as the user onboarding process is essential to overall plugin proficiency. A key factor in reducing support requests.
Through an API developers could add a “Purchase with [fancy name here]” button to their products, that would then hook into the plugin system allow you to select your intended site, and install the plugin. Similar to purchasing Android apps from the Google Play web store.
Inside the WordPress dashboard the user would see a list of premium plugins that have been purchased for their site, as well as a monthly payment total.
I feel it’s important that we give clients the ability to differentiate between the cost of software, and cost of service. Many clients feel they are being ripped off on a monthly basis as we roll the cost of software into soaring maintenance fees. Transparency is the key to trust.
The Achilles’ heel
Learning from WP App Store, the only way for this system can be truly revolutionary is for it to be included in WordPress core. Something I don’t see happening anytime soon.
We have no plans to have paid products hosted or sold on WordPress.org — Matt Mullenweg (in a Smashing Magizine interview Febuary 2014)
Plan B (The Hard Way)
There is another way, build private enterprise system and find another way to get it to the masses. As Brad Touesnard has proved with WP App Store, building a robust system for managing premium plugins is entirely possible. The question is how do you get it in front of enough eyeballs to make it worthwhile?
Heck, in an ideal world you would also include hosting in the dashboards monthly fee. One payment to rule them all!
What do you think?
Ludacris? So crazy it just might work? Feel free to troll me on Twitter with your thoughts. — @twittem