Why LearnDash Switched to WooCommerce
Nothing is more important to selling your product than the technology that powers your sales.
Top of the list? Flexibility, stability and ultimately the control needed to mould your shopping cart around what works for your business.
At LearnDash we’ve used various systems over the years, starting out with a platform called DPD back when LearnDash was first launched in 2013.
Following onto using Zoho subscriptions, and what up until recently was our final shopping cart system, Stripe Billing and Zoho Subscriptions.
Now before we get into the why, we have to step back and consider what wasn’t working in our current setup?
See this wasn’t just a whimsical “Oh, hey let’s switch to Woo”.
It was a purposefully thought out business decision to empower LearnDash as a business and to provide a best-in-class experience to our customers.
All that boils down to one thing. Infrastructure.
The Old Infrastructure
LearnDash had never separated out infrastructure for licensing, purchasing, billing, support. All systems ultimately were routed through the same URLs which was obvious to anyone who has ever interacted with our sites.
That also means all licensing checks and assets were downloaded from the same infrastructure.
That meant that redundant systems weren’t a reality, and we wanted those systems to be a reality.
Along with the ability to balance requests between systems and provide full redundancy.
Taking a Fifty-Thousand foot view
Before we got started on building the new system we took a high-level overview of our infrastructure and then planned out what our ideal infrastructure would be.
But that isn’t good enough. If you’ve read my tweets or blog posts before, you’ll know I’m a big fan of problem and outcome led projects from the front. What is the problem we’re trying to fix? What’s the outcome we should have? How do we measure success?
The Problem? Legacy Technical Debt and Lack of Redundancy.
Like any software company, LearnDash’s licensing and billing systems had their fair share of legacy technical debt, namely how the licensing system worked and interacted with the plugin component, along with the inflexibility of the billing system to allow us to sell additional products, bundles, up-sells, downsells and handle taxes.
Coupled with the fact that we didn’t control the checkout experience, Zoho offers a hosted payment page and Stripe Billing is slick but then we were always split between two systems.
We needed one system to power all our account, and billing experience
Solution: Load Balanced Infrastructure — Fully Controlled and Non-Reliant.
What does that mean? A system we can control, before our downloads were handled by BitBucket, now? They’re handled by us.
A system that we can move any piece of to a new server on our Nexcess powered cloud with no downtime thanks to our service separation.
Non-reliant? Before our system relied on a central URL to always be live as every request was routed through it, now? We have multiple pieces that all connect but that can all operate independently, so if the worst does happen the whole system doesn’t go down.
WooCommerce is the most stable and well supported eCommerce platform for WordPress. You can always find a WooCommerce specialist available to work on a project, it’s faster than equivalent systems in raw processing times for transactions. And in our tests it has always proved to be the most reliable.
Nearly every other brand that is part of StellarWP (the WordPress brand inside of Liquid Web) also use WooCommerce for their billing system.
Without a doubt WooCommerce has proved itself time and time again to all our internal teams and after our own tests it was the obvious candidate.
What we Built out?
- A custom WooCommerce setup split between two URLs, throughout this project the most important aspect to us all was infrastructure, no-downtime on switching and last but definitely not least the best customer experience. We took a unique approach where WooCommerce powers our checkout and we make use of the powerful WooCommerce REST API to pull in customer data to our custom checkout area, utilizing single sign on (SSO).
- A custom licensing system that interacts with the checkout, account area, and the LearnDash plugin powered by a new LearnDash hub. Due to our unique setup with some of our legacy licensing. We managed to build a system that combines license keys for new customers and that didn’t require any manual input from existing customers, a seamless transition.
- A custom asset system to serve plugin updates and download requests at scale.
What’s Coming Next?
This release marked the first in a set of improvements we have planned for our support, billing and account areas, and will power the future of some very exciting new projects we have in the works.
Keep an eye out, as we can’t wait to show you all what comes next.