The other day I got a question that I'm pretty sure every LMS plugin or platform provider has gotten. “Should I run my courses on a subdomain?” But there was a twist to the version of the question I got. So let's jump in and I'll not only answer the question, but show you how to do it yourself.
First, what's a subdomain?
When you're on this blog, reading this post, you're on chrislema.co. But imagine I wanted a separate place to share my courses. I could do that at theschoolof.chrislema.co. That “the school of” before the period is a subdomain.
It's a great way to structure your site and the benefits extend beyond housekeeping.
Second, why use a subdomain for courses?
- You want to use a different theme than your main site. Putting your courses on a subdomain means it's a different instance of WordPress and you can pick just the right theme for your user experience.
- You want to optimize the plugins you're using for your course site. Not every plugin on your main site is required. And some strategies you want to use on your course site may require plugins that don't need to be on your main site.
- You want to optimize performance on either or both sites. Performance tuning is hard when the interaction models are different on each site. So when you put your courses, membership site, or store on one site, and your blog on another, you can optimize performance for each in their own ways.
So running courses on a subdomain isn't crazy. It can be quite powerful. But it does raise the next question…
Third, where do people pay for the course?
When you get ready to build your course site, you may be starting from scratch. Solutions like LearnDash, LifterLMS and AccessAlly each have ways to collect payment from customers.
They also can integrate with solutions like WooCommerce to collect payment (if you have a reason to not use their own intrinsic solutions).
But what if you're not starting from scratch?
What if you have an existing site, may already be selling things using WooCommerce, and now you simply want to add courses to the mix?
This is where the twist came in…
That's exactly the nuanced version of the question that came to me. The details were listed as such:
- We already have a WooCommerce store
- Our WooCommerce store is selling physical and digital products
- Our WooCommerce store is also connected (deeply) to an external CRM
- We want to add courses to our offerings using LearnDash
- We don't want our customers to use another system to pay for courses
- We want to keep using our external CRM
Now, when you get that kind of question, you realize this isn't a “starting from scratch” situation. Adding courses on a subdomain makes perfect sense but they'll need to do some additional work to pull this off.
So that's what I set out building as a quick sample so I could write this article and show them, and you, how you could pull this off.
To do it, I'm going to use one plugin, called Uncanny Automator Pro.
How might you pull this off?
I created two websites and you'll notice they're both running on two different subdomains. You could add your courses on the subdomain while WooCommerce remains on the main site, but for this example I was using two sites that would soon be eliminated.
I added WooCommerce on the first site and adding a single digital product called Course One. I put a price tag on the product.
I then added LearnDash on the second site and added a course called Sample Course. I made the course closed, so you couldn't enroll in it from the site.
Notice the product and course are not the same name. They don't need to be.
At the completion of an order (as you see below), the purchase information is moved to the second site (by magic) and enrolled in the closed course.
So I go on the WooCommerce site and I order the course.
When that completes, the user, the order, the purchase and the integration with whatever external CRM is configured all works like normal.
But then, when you head to where you've placed your course, you see that a new user has been created and enrolled in the course.
You'll see that the username is the email, that they've been created as a subscriber, and they're enrolled in the Sample Course.
So how did this magic happen? The good news is that it's easy, fast, and doesn't require any coding.
On both sites I installed the plugin I told you about, Uncanny Automator Pro. The pro version is required (and worth it) because it supports the use of Webhooks. While that's a technical term, ignore it. It simply means you're sending data from one url to another.
And you don't have to do anything except create a recipe on each site.
I like to work backwards. So I started at the end.
I start by picking Automator as the trigger and looking for “Receive data from a webhook.” This automatically gives me a URL that I will use on the other site.
Then I decide what information I expect to get (first name, last name, email and the course name).
Then I tell Automator that I want them to create a new user (unless they find the email in our system already) and then add them to a course (and I pick the course).
Once that's in place, I can easily go back to the other site and create a recipe that pushes the order info out (using the same four fields).
I tell Automator that the trigger is when a person buys a specific product (in this case the course), and I want it to send the data to the special URL that I got from the other recipe.
I then map the four fields to the WooCommerce order and hit save.
Running Courses on a Subdomain
You don't always have to do it this way. But when you've already invested in integrations and a specific payment platform, when you have a dedicated CRM that is centralizing all your customer data, this strategy can make a lot of sense.
Running courses on a different subdomain than your cart doesn't have to be complicated if you have Uncanny Automator Pro.
Sign up for free content. People still do that.
Thousands of folks (7000+) regularly get my posts in their inbox. For free.