The Best WordPress Plugins and Software Tools For Creating An Online Course

By Last updated on:
tools and plugins for online course creation

I’ve been getting a lot of questions on what tools I used to build my online course. So I decided that I’m going to share that with you here.

Interested in building your first online course?

For me, building an online course for the first time was kind of like setting up my first blog on WordPress.

It was a whole new technical learning curve.

I had never created an online course before, and had no idea behind how much work it was going to take.

Creating the content for it was actually the easy part.

Learning how to set up things like accepting payments, automating user account creation, and learning how to use a course creation plugin was the hard part.

Countless times, I would spend days working on something, discover it was the wrong idea, and go back to the drawing board looking for other solutions.

I made a lot of mistakes.

There are so many different plugins, themes, software options out there.

I’ve tried out most of them (and spent a lot of money) in my search for the perfect combination of tools to build my own course.

I’ve done the gruelling hours of testing and experimenting for you.

And now, I’ll show you what works so you don’t need to.

This is more of a technical guide than a strategy guide.

We can discuss how to sell and market the course in a future blog post.

For now, let’s just learn what goes into setting up a course because there’s a LOT to cover.

NOTE: This guide shows you how to create a self-hosted course (meaning… you host the content and own the entire website). There are other platforms like Teachable and Teachery, which allow you to build courses on their platform (for a fee).

Either way is fine, but for me I prefer self-hosted as it gives you more control over what you can build, add-on, and gives you the comfort in owning the full property of all digital assets.

Why an online course?

Since starting RankXL, I’ve tried various different forms of monetization.

I’ve promoted affiliate products, and even created a few paid ebooks.

But the income was never really significant until I launched my first course.

Deciding to create an online course for RankXL was one of the best decisions I made for the blog.

It created a large, steady revenue stream.

The best part is that you don’t need a large audience to make a significant income.

I launched my first course with only 500 email subscribers, and made just under $10K in sales my first month.

Most new blogs automatically stick with only affiliate marketing.

But to be honest… you won’t make much with affiliate links unless you’re getting a LOT of traffic.

I mean, you could make a couple hundred dollars per month, but that’s nowhere near the level you could be making with selling your own product.

Creating a course is a LOT more work than sticking affiliate links into your blog posts. And that’s probably why most blogs take so long to pull the trigger and create one.

  • First you need to create a separate website to host the content.
  • Then you need to set up a membership plugin so that only paid members have access to it.
  • Then you need to set up payment processors to accept payments.
  • Then you need to use a plugin so that whoever pays gets made a user account automatically.
  • And if you’re going to be accepting affiliates, you need another system for that too.

As you can see, there’s a pretty GINORMOUS learning curve, and that’s all on top of the big investment of your time to create the content for it!

The good thing is, once you’re able to finish it, it’s done.

You can sell your course forever, and pretty much make money for free.

It took me a long time to create my course. But now that I’m done, I can continue to sell it year-round and it makes me money.

It requires no more work, besides offering support and working on improving it with updates.

And with the systems and tools I’m going to show you, it can all be automated so that everything happens behind the scenes without you needing to do a thing except count your earnings.

Sound exciting? Let’s get started!

What goes into a course website? How is it built?

To build a course like Foundr, you only need 3 things:

1. First, you need to set up a new website.

You can register a new domain or build it out on a subdomain like I did.

What’s better?
I would recommend a new domain, separate from your website.

This allows you to differentiate the course as a separate product, and it’s a lot easier to manage multiple courses in the future.

I have my course on a subdomain like this:, so things won’t be as clean as I would like if were to create another course using another subdomain in the future.

2. Next, you need a membership plugin.

What’s a membership plugin?

It’s a WordPress plugin you will use to manage users and content protection. Without it, anybody could access your course’s material even without paying to join.

When someone pays to join your course, a membership plugin will automatically create a user account for them – so that you don’t need to go in and manually create it yourself everytime.

It will also give them access to the premium content that you set for members only.

3. Finally, you need a payment gateway

Membership plugins integrate with payment gateways like PayPal, Stripe, Braintree Payments, and others so that people who pay for your course will automatically be created user logins.

Software I used to build my first online course

Before I recommend the best software services and plugins to use, I’ll go through what I used first.

The backend behind my course isn’t the best way to do things, and it isn’t what I would recommend.

But I think it will be good to know why I use what I use, and what it allows me to do.

It takes a lot of custom coding, multiple plugins, and a LOT of custom design to make it look professional.

I personally would like to move away from the platform but choose not to solely because I have too many affiliates on my existing platform, and trying to move them all over will be a BIG pain in the behind (not only for me, but for the affiliates as well).

This is why I recommend doing your research and making sure you choose the right platform the first time… because it’s hard to switch in the future.

Membership plugin

For my own course, I decided to use WP Courseware.

This is a course creation plugin AND it gives you membership functionality so that only paying members can access the content.

The good thing about WP Courseware over just a standard membership style plugin is that it makes it very easy to organize and layout your course into a traditional course format.

You’re able to organize your content in modules and lessons rather than just going page by page.

Kind of like this:

modules and lessons

It’s organized and laid out nicely without me having to custom code the design this way.

It also has other neat built-in features such as being able to mark units as completed, which helps students keep track of their progress.

unit completed

Payment gateway

For payment gateways, you have a lot of options.

I chose to go with Paypal, but I have another integration with JVZoo, which is a platform similar to Clickbank.

That means that I’m being paid by Paypal, but it goes through JVZoo first so that I can sell using their marketplace.

The main reason that I use JVZoo is because they have a good affiliate system.

It’s easy for people to sell my course as an affiliate, and JVZoo offers great features like Instant Commissions.

Instant commissions is probably the best feature that they offer.

It means that when a sale is made, affiliates get paid INSTANTLY right then and there rather than having to wait until the product creator pays them.

And it all happens automatically. JVZoo’s processor takes the commission amount and pays the affiliate at the point of the sale.

Affiliates love that!

And finally, I have one last big integration

I have the entire backend on WordPress set up with EasyDigitalDownloads.

I am in love their plugin, and use it for several of my other blogs where I sell ebooks.

It’s free to use and has integrations for just about every software/plugin out there.

In fact, EasyDigitalDownloads is what makes it possible for me to integrate a course set up with JVZoo.

By using EasyDigitalDownloads, I’m able to sell my course through JVZoo (and use their affiliate program), AND also use the digital asset delivery and sales reporting system that EasyDigitalDownloads provides in the backend.

Confused yet?


This might all seem a little confusing right now.

And if you’re not able to understand clearly, don’t worry.

Because this isn’t the setup that I would recommend, and the set up that I’m about to show you is a LOT simpler.

There are a ton of moving parts to my course.

I haven’t even mentioned all the other plugins I use for customizing the login screen, changing the destination URL of the logo depending on if the user is logged in or not, customizing redirect destinations, and restricting bonus materials and downloads to members only.

If anything were to break, a lot of other things would fall apart with it.

= messy and nerve-wrecking
(especially when there’s a lot of money on the line during your product launches).

So for the past few months, I’ve been testing a whole bunch of different tools and software in search for the perfect combination.

And this is the setup that I’ll be using for future courses…

The setup I wish I could change to, and what I will be using for future courses

This is the setup that I recommend if you’re creating a course online.

Again, there’s nothing against JVZoo or the other tools I’m using.

But after extensive testing with these other tools, I feel this is hands down the cleanest setup, with the lowest fees.

For membership software, use Wishlist Member.

For membership sites, it doesn’t get much better than Wishlist Member.

It’s just a WordPress plugin that you install, and you instantly can turn any ordinary WordPress website into a full-blown membership site.

The good thing is… no monthly fees!

You would build the course the same as any other WordPress site.

But with the plugin, you can control which pages are for members only…

member settings

That’s it! All you need to do is check a box.

You can create different membership levels (if you’re selling different level packages) and then decide which level gets access to what.

If anyone who isn’t a member were to try and access the page, this is what they’d see.

Screen Shot 2016-08-02 at 7.47.29 AM

And of course, you’re allowed to change that message to whatever you like.

With this plugin, you’re able to use any WordPress theme you like, and have full control over the design, layout, format of the site.

For payment gateway, use Paypal and/or Stripe

Going with Stripe and Paypal would be the best combo so that people with a Paypal account can pay through Paypal, and those who want to use credit card can pay with Stripe.

This is also the most common combination that most people use.

Which payment gateway you choose is really up to you, though.

There are a lot of options to choose from, and all you need to do is set up the integration in your Wishlist Member dashboard.

Can I just use one of them?

Yup. Going with one or the other is fine, too.

I like offering Stripe for credit card payments because it makes for a smoother checkout process than Paypal’s credit card system.

And I like offering Paypal because a lot of people like paying with their Paypal accounts.

One more important integration (my favorite one)

Realistically, you can go with just Wishlist Member and your payment gateway and you would be good to go.

But there’s one piece of software that I am in love with and can’t wait to use.

And that is SamCart.

SamCart is a SASS tool that lets you build beautiful, high-conversion checkout pages almost instantly.

With it, you can setup your checkout pages to look something like this with just a minute or two of setup.

samcart checkout

That only took me 5-10 minutes to set up.

If I weren’t using SamCart, I would have to design and code it from scratch.

Design would be fairly easy for me to do. But coding it without bugs would be a nightmare to do.

That’s way better than JVZoo’s checkout page.

jvzoo checkout

I’ve even contacted the JVZoo team on several occasions to improve their checkout page, or even to just let me play around with the code for my own page to improve conversions.

But so far the only response I’ve received is “Thank you for the feedback.”


But checkout pages aren’t the only thing that SamCart does…

SamCart is more of a sales command centre.

It integrates with all the different email marketing tools (like the one I’m using, ConvertKit) and any CRM.

You can view all your stats and sales reports within the dashboard.

Screen Shot 2016-08-02 at 7.59.55 AM

You can process refunds, see customer data, view checkout page conversion rates, run AB tests, and even set up things like one-click up-sells.

And they continuously add features like one of my favorites: Automatically notifying customers of failed payments.

When you’re offering a higher-priced item and offer a monthly payment plan, then this is such a great thing to have.

Failed monthly payments are very common… much more than I expected when I first offered a monthly payment plan for my course.

With JVZoo, I’m having to email each customer one by one notifying them of the failed payment and asking them to update their PayPal credit card.

It is very annoying to do, takes a long time, and it doesn’t feel great to contact people asking them to pay you.

With SamCart, it’ll all be automated πŸ™‚


The affiliate program through SamCart is miles ahead of JVZoo, in my opinion.

You can manage your affiliates a lot better, and SamCart tracks everything for you so you have access to all the stats and metrics you need.

Affiliates also get a slick dashboard page when they login to check their stats.

Screen Shot 2016-08-02 at 7.55.22 AM

That’s a really important thing to offer as a vendor since affiliates are extremely cautious about proper and correct reporting of their commissions.

Finally, price…

With SamCart, I only have to pay $99/month. That reduces to $66/month if I pay for the full year.

When I first saw the pricing, I thought to myself that’s pretty expensive. And I had to mull over it to decide if it’s worth it or not.

But after going through the numbers, I realized that that’s less than $800/year.

With JVZoo, I’m paying 5% off the top of every single sale.

My total fees since last year add up close to $10,000!!

Again, not to put down JVZoo or anything. Their commission fees are completely standard for what they offer.

But SamCart’s pricing just makes a lot more sense for me, and will save me a ton of money.

Setting It All Up

So let’s break this all down.

Here’s how you would create an online course using the tools I showed you above.

It really doesn’t get much simpler than this…

1. Create a new WordPress site.

First, all you need to do is create a WordPress site as you would any other.

Register a new domain, and build out the course using any WordPress theme you like.

2. Install Wishlist Member

Next, install the Wishlist Member plugin.

Set up is easy, and a lot of the options will vary depending on your own preferences so I won’t go through that here.

3. Set up SamCart

Register with SamCart, add your product, then design your checkout page.

Connect your SamCart with your payment processors – Paypal and/or Stripe.

Connect your SamCart account with your email marketing tool of choice. I have mine connected with ConvertKit.

Then connect your SamCart account with Wishlist Member plugin.

This is really simple to do and you can get all the steps on SamCart’s dedicated page here.

And that’s it!

Create a sales page for people to sign up, and make the buy button link to your SamCart checkout page.

When people checkout and purchase through SamCart, they’ll be given a receipt, user name and login password for your online course.

Nothing else to do on your end πŸ™‚

And if you have connected your email marketing tool with SamCart, the buyer will also be automatically added as a subscriber (along with any other automation rules you have set up).


As you can see, the set up I just laid out is clean, simple, and easy to manage.

I’ve tested out a lot of different plugins and software over the last year, and I wanted to create this guide to give you a heads up on what I believe are the best options.

Hopefully, this will save you a TON of time and headaches on unnecessary bugs and issues.

And it’s tough to move over later, so really think hard about the tools you use to build your course.


  • Reply
    August 8, 2016 at 4:21 am

    This is the perfect combination of plugins and services according to me.

    I use Wishlist Member with FastSpring (as payment gateway) and Convertkit for email management. I would love to use Samcart, but I am in India and Stripe is not available here. However, I am perfectly happy with Fastspring.

    • Reply
      Chris Lee
      August 8, 2016 at 1:34 pm

      Hey Sumit, thanks for reading and sharing your own tools πŸ™‚ You could still use SamCart without needing to use Stripe.

  • Reply
    Bhuboy Villanueva
    August 8, 2016 at 5:47 am

    Hi Chris,

    I noticed upon reading your blog post, that you haven’t mentioned your niche site url or name here. May I know the idea or concept why you are not revealing it. Thanks

    • Reply
      Chris Lee
      August 8, 2016 at 1:36 pm

      Hi Bhuboy, good to see you here!

      These tools are used for the RankXL blog/course and not for my niche sites (except for Easy Digital Downloads).

      • Reply
        Bhuboy Villanueva
        August 9, 2016 at 7:16 am

        Hi Chris,

        Sorry not meant this post, I mean in this blog, im sure I almost read all your post here, but never I seen you mention the site thats earning you more than $10000/ month, and wondering why? which makes me thinking of not mentioning my niche site in my main blog. That’s why im wondering why you are not mentioning it here, or in the course

        • Reply
          Chris Lee
          August 9, 2016 at 3:01 pm

          Hey Bhuboy,

          That’s a decision you’ll have to make for your blog. I didn’t mention it since the beginning of RankXL because my main business, and majority of my income source, came from my niche sites.

          Revealing them would definitely have helped RankXL, but at the same time would have put my niche sites at vulnerable to competition, click-bombing, negative SEO, etc.

          If you’re contemplating revealing your own sites on your IM blog, then take these things into consideration. I personally would advise not to reveal them and instead do something like a case study where you share from start to finish.

          • Bhuboy Villanueva
            August 10, 2016 at 6:03 am

            Thanks Chris, will follow your advice and what you are doing

          • Chris Lee
            August 10, 2016 at 4:00 pm

            No problem, Bhuboy. Feel free to shoot me an email anytime if you have any questions with growing your blog πŸ™‚

  • Reply
    Todd Connelly
    August 8, 2016 at 6:00 am

    Hey Chris…

    First, let me say what a post! Some insane detail with the why behind it. I’ve been thinking of how to create a course that ties into one of my sites, specifically the backend portion. Perfect timing as you show me how to do it from someone who actually did it!

    Second, I love your course! I’ve used what you teach and the results are outstanding so far. Started a site from scratch and the initial results are very promising with a ton more potential. Thanks!

    Third, interesting to see about the monetization of this site and what makes more money. I’ve taken a course – Create Awesome Online Courses by David Garland (no commissions nor paid advertisement on my part, although I wish I had πŸ˜‰ ). He goes into some ridiculous depth on how to create the content for a course and some bonus material.

    Again Chris, thanks for sharing and keep grinding!

    • Reply
      Chris Lee
      August 8, 2016 at 1:37 pm

      Hey Todd! Great to hear that πŸ˜€

      I haven’t taken David’s Create Awesome Online Courses yet, but I’ve heard great things and plan to check it out very soon. Thanks for the reminder πŸ™‚

  • Reply
    Abdul Rehman
    August 8, 2016 at 6:44 am

    Chris, this is really an awesome topic, Thank you for sharing with us. And with the help of you, i am going to start my niche site again, very soon.

    • Reply
      Chris Lee
      August 8, 2016 at 1:38 pm

      Nice! Thanks Abdul.

  • Reply
    August 8, 2016 at 7:46 am

    Hey Chris,

    I have subscribed to your blog and get the newsletter for this awesome post. I would say that you have nailed the topic. It’s a complete guide for the ones who wanna bring their courses on the web.

    WordPress is an amazing platform that let us build the great learning sites as there exists a lot of helpful plugins and attractive themes to integrate.

    Good to know that you have used WP Courseware, Easy digital downloads, and Wishlist plugins to create your online courses. I have recently crafted a blog post on the topic “Why WordPress for e-learning” where I have mentioned some valid reasons for using WP for LMS sites.

    Thanks for crafting such a great blog post, keep your good work.

    • Reply
      Chris Lee
      August 8, 2016 at 1:39 pm

      Thanks a lot, Nirmala!

      Sounds really cool. Share the URL to your blogpost with us here πŸ™‚

  • Reply
    August 8, 2016 at 8:43 am

    Will this setup work for Video courses sites as well ? why dont you use Zaxaa instead of samcart ?

    • Reply
      Chris Lee
      August 8, 2016 at 1:44 pm

      Yup, this will work for video courses. You just need to embed them into your pages. I recommend using Wistia or Vimeo for highest quality/professionalism.

      I haven’t tried Zaxaa, but saw that a lot of bloggers and content creators were using SamCart. They seem to be constantly improving their software and coming out with new features which is something I really value in any tool I use.

  • Reply
    Tung Tran
    August 8, 2016 at 11:00 am

    Great post Chris!

    Totally agreed that selling online course is the fastest way to profit from your blog with very minimal traffic.

    I should have done this way way earlier.

    My setup is a bit different.

    I’m using MemberMouse for membership management. Stripe and Paypal for Payment. IdevAffiliate for affiliate tracking. And ThriveTheme’s Focus Blog to create the members area. Also I use InvisionPower to create the forum. My dev spent 2 hours to integrate WordPress + IPB so member can do single sign on.

    This setup has been working great so far for me!

    • Reply
      Chris Lee
      August 8, 2016 at 4:54 pm

      Thanks Tung!

      Your course is awesome btw. I’ll leave a link here for people to check out.

      Yeah, your course set up was really good. I really liked it.

      Thanks for sharing the tools you use.

  • Reply
    August 9, 2016 at 12:48 am

    Thank you for sharing, Chris. Have you tried OptimizePress? I think they have everything in one single product.

    • Reply
      Chris Lee
      August 9, 2016 at 2:26 am

      Hey Artur!

      Yeah, not recently, but I’ve tried them a few years ago.

      I didn’t really like it personally. But I know some people who love it.

  • Reply
    Anh Nguyen
    August 12, 2016 at 3:15 am


    Loving how detailed your post is! I plan to create an online course in the near future so your guide was very informational.

    It’s great how you link us to all the services we need to setup our course. I’ve bookmarked it for later reference.

    Thanks for sharing!


    • Reply
      Chris Lee
      August 13, 2016 at 5:29 pm

      Hey Anh, great to see you here! Thanks a lot. I’m glad it was helpful!

  • Reply
    Joely Gotobed
    August 24, 2016 at 9:19 am

    like so many others who have commented….this post is very timely for me. We’ve been using siminars for the online course we offer but I’d like to look at other options for a few reasons.
    1. I’d like people to stay on our site (or at least have the same branding – if we do something like
    2. it is $500 a month, which is really expensive!
    3. we really want to do a tiered level – not gold, platinum, silver – but more based on need of course participants (parents of preschoolers, parents of teenagers, etc). I know that zippy courses offers tiered levels. Do you know if other plugins do as well?
    4. the comment moderation tool is terrible in siminars. It lumps all the comments together rather than by question. It also truncates each comment so you have to click through to read it. From what I understand, if we do a WP plugin for the course we’d need to use WP comments or a comment moderation plug in like disqus. Is that right? Or do you know of a course platform that has fantastic comment moderation tools?

    I’m leaning towards zippycourses, but wondering from your research what else you think might feed our needs based on this search criteria.

    Thanks so much,

    • Reply
      Chris Lee
      August 24, 2016 at 6:09 pm

      Hey Joely,

      Thanks for sharing your experience and insights.

      Wow, $500/month is a lot.

      At $6000/year you could even just hire a coder and get a custom plugin developed exactly for your needs… if you require a lot of customization that other plugins don’t offer.

      Wishlist Member does offer a tiered system. You don’t need to call them gold, platinum, silver. You can name them whatever you like.
      Of course, the challenge will be organizing the front end of the course so that the appropriate tier sees the content their supposed to see and not others that aren’t relevant to them. That may take some custom coding.

      I’m not sure about the comments since instead of comments, I lean toward having a member’s forum or facebook group for people to ask comments.

      But that seems like a pretty simple solution that a commenting plugin would solve. Even just implementing the standard WordPress comments feature would work well.

  • Reply
    August 26, 2016 at 5:44 am

    I was waiting for this from so long. Thank you, Chris!

    maybe next time provide us your mailing list πŸ˜‰

    • Reply
      Chris Lee
      August 27, 2016 at 3:24 pm

      No problem, Aniket. Thanks for reading.

      I did email it out to my list πŸ™‚

  • Reply
    August 27, 2016 at 11:25 pm

    Great stuff Chris.

    I’ve been looking for a quality membership plugin for quite some time now. Haven’t made up my mind because, quite honestly, I didn’t trust any of the reviews I read (most marketers publish BS reviews just to get a commission).

    Since you’ve actually USED the product and made a lot of money from it, I find this review much more credible than the others.

    Thanks! πŸ™‚

    • Reply
      Chris Lee
      August 31, 2016 at 6:12 pm

      Thanks David! Glad it was helpful πŸ™‚

  • Reply
    Niharika Singh
    August 31, 2016 at 12:36 pm

    Wow! amazing list of plugins. I can’t wait anymore to start my first online course website. Thanks for sharing in detail.

    • Reply
      Chris Lee
      August 31, 2016 at 6:13 pm

      No problem πŸ™‚ Thanks for reading.

  • Reply
    October 4, 2016 at 3:16 pm

    I cannot thank you more Chris, your Adsense Course has helped me generate passive income already and this post again is PURE VALUE. Thumbs up for you.

    • Reply
      Chris Lee
      October 4, 2016 at 5:22 pm

      Awesome!! Thanks Samuel. Thumbs up to you as well πŸ™‚

  • Reply
    digital marketing agent
    November 25, 2016 at 5:39 am

    Great article I must say. you just force me to convert site into wordpress from blogger. Currently, it is on blogger. Should I migrate it to WordPress? Please suggest.

    • Reply
      Chris Lee
      December 4, 2016 at 7:42 pm

      Yes, definitely. You don’t technically own your Blogger site since it’s on Google’s hosting. That means it can be shut down anytime Google feels like, and you can’t sell it for a big profit down the road.

  • Reply
    January 6, 2017 at 1:09 am

    Hi Chris,

    I really enjoyed reading this post. Thank you for sharing this useful information πŸ™‚

    • Reply
      Chris Lee
      January 6, 2017 at 1:11 am

      Thank you, Coral πŸ™‚

Leave a Reply

Zero To 100K With SEO

A FREE 5-part SEO email course that will show you step-by-step how to grow traffic from zero to 100,000 visitors per month (with search).


Zero To 100K With SEO

Enter your email to get Lesson #1.


Enter your email below to get the Zero To 100K Mini-course