Thinking of creating your online course on WordPress?
Making and selling an online course from your own WordPress website offers a lot of control and customization, which other online course platforms can't compete with.
However, there are many steps to get it all set up and ready to launch.
You'll need to buy a domain, get web hosting, set up WordPress, pick a theme, install and configure a WordPress LMS plugin, and of course create and upload all of your content.
This in-depth step by step guide will walk you through all these steps and help you build your online course in WordPress from scratch.
Why Create Your Online Course Using WordPress?
First up, let's consider why you might want to create your online course using WordPress.
These days it's not the only option, and there are online course platforms like Teachable or Kajabi that make the process of setting up and running an online course easier than it is with WordPress.
So why would you choose to make your course on WordPress then?
There are several great reasons:
Using WordPress gives you more ability to customize your website and course area than if you were using an online course platform.
Most online course platforms only allow a certain degree of customization to the design and look of your course.
You can usually choose from a selection of templates and then alter elements like brand colors, logo, images and text, but that's it.
With WordPress there are thousands of themes, plugins, and widgets available to create a website exactly the way you want it.
Learn how to start, create and scale your online course with Parker Walbeck (a regular guy earning $250k per month teaching online courses)
For anyone who is particular about the way they want their online course to look or particular features you want to offer, this could be a deal breaker.
It’s usually cheaper
To get your online course set up in WordPress you'll need to buy a domain for around $10, get a web host for about $100 per year, and buy a license for an LMS plugin like LearnDash for around $150 per year.
So in total, you can get a new WordPress course set up for around $260 per year.
If you wanted to host your online course on a platform like
Most likely, you'd actually need the professional plan which costs $948 per year.
The caveat though is that although it is cheaper, it will likely take more time to get it all set up and running.
To read more about online course set up costs, check out my article on how much it costs to create an online course.
WordPress is made for blogging
Using SEO (search engine optimization) to drive extra free traffic to your online course website is a strategy that you'll definitely want to use.
WordPress is specifically made for blogging. Right now about 75 million websites are running on WordPress, with the majority of them hosting blogs.
Some online course platforms offer minimal blogging capabilities, while others don't allow you to run a blog alongside your course at all.
If attracting leads via organic SEO traffic is important to you, then at the very least you should have a WordPress blog for that purpose.
Then you may wish to keep it all together under one roof and create your course there as well. Alternatively you could decide to blog on WordPress and host your course on an nline course platform.
You retain full control over your course
When you run a WordPress site, you own the domain and you're in control of the web hosting.
Although most online course platforms give you pretty much full autonomy over your business, it's not always that easy to migrate your course elsewhere and you'll have to work within the set of features on offer.
When you host a course yourself on WordPress, you own it 100%. You can migrate it to another hosting company, sell it, or do whatever you want with it.
It's also easier to add additional features exactly as you want because there is basically a plugin for everything so you have full control of creating your course exactly as you wish.
-> for more info on this topic check out my article: Teachable vs WordPress for a deep dive into the differences between hosting your course on WordPress vs Online Course Platforms.
WordPress.org vs WordPress.com
When I talk about creating a WordPress website, it's important to understand which type of WordPress site I'm reffering to.
You might have seen some WordPress sites that look like this for example:
This isn't what I'm referring to when I talk about WordPress. The confusion here is that there are actually two separate versions of WordPress.
- WordPress.org is what we want to use, and is what is referred to as self-hosted WordPress. This version of WordPress is hosted on your own website or blog. You have your own domain and have your own web hosting in this case.
- WordPress.org is just the behind-the-scenes framework that holds everything together. It's an open-source software that is totally free. Most web hosts offer a one-click installation to automatically install WordPress.org on your website for you.
- WordPress.com is more of an all-in-one, 'hosted for you' solution. You don't need your own web server, you don't need to pay for hosting, or even download any software. They take care of everything for you. You can run a basic WordPress blog or site for free, but to get advanced features you'll need to pay to upgrade your WordPress.com site.
- WordPress.com websites don't allow plugins, back end code, or the ability to upload your own custom themes. All of which we will probably want to use when creating our own online site.
For the sake of this article, I will always be exclusively speaking about using WordPress.org for your website.
So now we've got that clear, let's move on and I'll walk you through the steps you need to take to create and sell an online course from your own website:
Step 1: Choose & Buy A Domain Name
The first step is to decide on an available domain name and buy it.
You'll want to do this before making your course content since some of your content will likely refer back to your domain name or reference it.
I'd very strongly recommend registering your own domain, as opposed to creating your site as a subdomain of another site such as onlinecoursehow.wix.com or onlinecoursehow.blogspot.com.
Having a dedicated URL makes your website look much more professional, and many visitors could get turned off by non-premium domains. Sponsors and advertisers likely won't be willing to work with you unless you've got your own domain name either.
Your domain name is independent of your web hosting.
If you ever want to change the company that physically stores your website on a server (i.e. your website host), you can take your domain name and branding with you.
That way your regular visitors will still be able to find you and likely won't even notice a difference if you ever need to migrate your website to a new host.
You may need to do this if your site starts to get a lot of traffic for example and you need better hosting to handle it.
Can I Use My Existing WordPress Site To Host My Course On?
Technically yes, but I'd strongly recommend setting up a second domain specifically to host your course on. Here's why:
- It keeps both sites cleaner: you won't be mixing up blog posts with course lesson posts, and you won't need to slow down your blog with a load of plugins used for your course
- You can brand the domain to match your course: for example if your course is called Paleo In 7 Days, you could host your course on https://PaleoIn7days.com which adds value and distinguishes it from your free content on your blog
Buying Your Domain
One non-profit organization called ICANN (Internet Corporation for Assigned Names and Numbers) controls all domain name registration.
However, you can't register with ICANN directly. You'll need to go through a domain name registrar to do that.
Personally I'd recommend using NameCheap. In the past I've used them to register most of my domains, and I've never had a problem with them.
You can get most basic domains from them for less than $15 per year.
Plus they provide you with free whois protection, something that prevents people from seeing your personal information like your address and phone number as the owner of a website. That's something many other registrars charge $10 or more per year for.
To buy your desired domain name, start by searching on your registrar to see if it's available.
If it is, all you need to do is add it to your cart. It's the same process as checking out on Amazon or any other website that you've bought something from.
Most registrars will present you with a bunch of extras. You don't need to buy any of these. Just check out with the default options and get your domain name for 1 year.
You'll be asked to create a username and password and enter your payment information to complete your checkout.
Be sure to keep your username and password written down in a safe place. You can reset your password if you forget it, but it would be a shame to build up an amazing website only to lose access to your email and forget what your password was.
Once you've checked out, congratulations, you're now a website owner! Well, sort of. There's nothing actually there yet.
Choosing A Domain Name Tips
- Brainstorm for a bit before you settle on a domain name. Don't pick the first name that you think of. Take some time to make a whole list of domain names and choose your favorite. Ask family and friends for their input if needed.
- Make it catchy and memorable. You want a domain name that rolls off a person's tongue and that they're going to remember.
- Make it easy to type. Don't use domain names with slang, words with multiple possible spellings, or words that are spelled differently than they sound.
- Don't make your domain too long. The longer it is, the more likely it is that someone will mistype it.
- Only use .com domains. If you live in the UK it might seem cool to get a .co.uk domain instead, but that can isolate customers from you. A .com is the most recognized URL suffix in the world and gives your website more credibility and professionalism compared to using a .me, .info, .io or any similar domains.
- Use keywords. Your domain should ideally contain keywords that describe what your course is all about. If your course is about playing guitar, put the word guitar somewhere in your domain name. If you make a very generic sounding name like epicdash.com or with a brand name no one has heard of, it makes it unclear what your site is about.
- Avoid hyphens and symbols. Keep it looking clean and avoid confusion on where the hypen goes or which symbol it is.
- Research it. Do a quick search to make sure nobody else has copywrited or trademarked the name or phrase you want to use in your domain name. For example, if you registered justdoit.com you might get in trouble with Nike.
- Check other social media channels. Ideally you want a domain that you can also register the same name on Twitter, Youtube, Facebook, Instagram, and other platforms so that all of your social media accounts are consistent.
- Make sure your domain hasn't been used for shady stuff in the past. Use web.archive.org to search for past versions of the domain you're thinking about buying. You don't know if a website was previously used by a spammer and then allowed to expire.
- Having trouble coming up with a name? Use domain name generator websites or get out a thesaurus.
- Set your domain to auto-renew so that you don't forget about it and accidentally allow your site to expire.
Step 2: Get Web Hosting
After you have a domain, you'll need to get web hosting. This is the company that will store the files and information that comprise your website on a server so that people can access it.
There are many different web hosting companies to choose from. Personally I've had a great experience using Siteground. They're cheap, they have great support, they offer a 1 click WordPress install and their hosting has been seamless with no website downtime at all.
When you're just starting off with your website, you can get by with just the cheapest shared hosting plan that allows you to host multiple domains.
You can always upgrade to a better web host when your traffic gets to the point that your shared hosting plan can't support you any more.
As you go to sign up for web hosting, your host might try to sell you a domain. But since you've already bought your domain in the previous step, look for an option like "I already own a domain" and just enter your existing domain there.
If you're serious about your course and are in it for the long-term I'd pay for a year of hosting up front. You usually get a significant discount for paying annually instead of month to month.
When you go to check out and pay for your web hosting, you don't need any of the additional services and extras they'll try to sell you. Just complete the transaction.
Once you're done, you'll get an email with all of your important information including:
- a link to your Cpanel
- your username, password
The first thing you need to do is take the nameservers that your host gave you in your welcome email and set them up on Namecheap (or wherever you bought your domain from.)
Log in to Namecheap or your domain registrar, go into your site settings and look for "update nameservers."
Then choose custom, and copy and paste in your nameservers from your email.
This will redirect your domain to the site you're going to set up on your hosting account.
Both your hosting provider and your domain registrar will have in depth support pages that walk you through this process, so check out their articles on this process to help guide you through it as well.
Don't freak out if your website doesn't show up right away.
When you visit your URL it might just look like a bunch of text ads at first, called a "parking page."
This is normal. It can take up to 24 hours for everything to transfer over from the host to the domain registrar. (A process called propagation.) Although most of the time it only takes 30 minutes to an hour.
Step 3: Set Up WordPress On Your New Site
Now your domain and your web hosting should be linked up and communicating properly. It's time to install WordPress on your site.
Go to your Cpanel (a link to it will be in your welcome email along with your username and password from your host.)
Look for a section called Quick Install and then click Install WordPress. In the past you had to manually install WordPress on each of your websites, but now the majority of hosting companies allow you to automatically install WordPress in just one click.
You'll be presented with a page to set up the important details of WordPress. Pick your domain from the dropdown list, create an admin email, user, and password and then click Install WordPress.
Teachable is one of our favorite all-round platforms for creating & selling beautiful online courses. Transform your experience and know-how into a thriving knowledge business.
When you do this, you'll get another email with a link to your WordPress admin area along with your username and password to log in to WordPress. The WordPress login is typically located at the URL (yourdomain.com)/wp-admin.
WordPress should now be successfully installed onto your website and you can go ahead and log in. From there you'll pick a theme, install plugins, and start putting your course together.
Step 4: Choose Your Theme
In the next step after this one, we're going to be setting up an LMS (learning management system) on your website.
Some LMS plugins come with their own themes, while others can work with most existing WordPress themes.
For simplicity's sake, we're going to set up a basic free theme just in case your LMS doesn't come with its own theme.
Your theme is largely a personal choice depending on your own aesthetic preferences and the kind of site look that you're going for. You can choose whatever WordPress theme you'd like for your site by taking the following steps.
When you're logged in to your WordPress admin panel, go to Appearance > Themes from the left-hand menu and then click on Add New.
You can either browse the selection of themes that WordPress has available or use the upload option to upload a copy of your own theme if you've got one.
Here are a few key things to keep in mind when you're picking your theme.
1) Keep it simple
A common mistake that new website creators make is to create a website that is too complicated. Resist the urge to cover your website with complicated layouts, fancy animations, and too much color. It might feel cool to experiment with all of the features at your disposal, but a simple website often performs the best.
A theme doesn't need to be overly complicated to look good. Find one that balances visual appeal with simplicity and usability. Remember, the whole purpose of your site is just to provide people with information they need, not to put on a show and "wow" them with the latest digital technology.
A theme can look great, but if people who view your website find it confusing and unhelpful, then it's not a great theme. People need to be able to navigate around your website easily.
2) It needs to be responsive
A responsive theme is one that can adjust to different devices and screen sizes. A huge percentage of web traffic nowadays is people browsing the internet on their cell phones or tablets. So your website needs to look great even on those smaller displays.
Most of the top WordPress themes are now responsive by default. But it's a wise idea to make sure your theme is mobile friendly.
Your theme should also be compatible with different browsers.
3) Does it support plugins?
A huge part of what makes WordPress so versatile is that it allows for plugins that allow you to customize your website.
Plugins do everything from providing contact forms, giving you analytics about your site's traffic, blocking spam, making your website load faster, and just about every other cool feature you've seen on a website.
So it's critical that you pick a theme that supports all the popular plugins that you might want and need to use.
4) Loading speed
One of the problems with complicated themes that are full of features and extras is that they tend to be slow. How fast your website can load is one of the main factors that Google considers when ranking your website, and it affects how well your page will convert into course sales.
Most people expect a website to load within 3 seconds and will click away if it doesn't load within that amount of time. So it's best to avoid any theme that could slow down your site's loading and performance.
5) Page builders
If you don't know how to code or program, then a page builder is an extremely useful feature to have in a theme. Page builders allow you to simply drag and drop text, videos, and images to create a wonderful looking website.
While page builders can make your life easy while you're making a website, it's worth pointing out that they can cause headaches down the road if you ever plan to switch themes. Page builders use a lot of custom coding that will take time to clean up if you ever want to switch.
6) Good ratings
If a theme has lots of positive reviews and ratings, that's a good indicator that it's of high quality. For free themes, you can see the ratings underneath the download button.
It's worth taking some time to read the reviews of users to see what they liked or perhaps didn't like about a particular theme.
Step 5: Install & Configure A WordPress LMS Plugin
If you want to create your online course using WordPress, then an LMS (Learning Management System) plugin is the way to go.
These types of plugins allow you to easily set up your course structure and add content.
They may as well be called an online course plugin, because that is what they are specifically designed for!
You could technically make an online course using just the standard version of WordPress and a membership plugin, but you wouldn't be doing yourself any favors.
-> Check out my article LMS vs Membership plugins for more info on this
A good LMS plugin will also offer a course style layout with module and lessons that your students can navigate easily between, and help you to accept payments and other aspects of course selling.
Some LMS plugins will help you to protect your content, while others may require you to have an additional membership plugin to restrict access to your lessons.
There's lots of different online course plugins to choose from.
My favorite is LearnDash, and I can highly recommend it.
It's reasonably priced but easy to use, and has all of the features you need to launch your first online course.
It offers features like:
- a course builder that makes it simple to create modules and lessons
- drip feed content (if you wish)
- badges and completion certificates
- payment collection, recurring payments, bundling courses
- detailed reporting
- and much more (see a full list of features here)
LearnDash is used by everyone from personal instructors and small business websites all the way up to full-scale educational institutions.
Its drag and drop course builder is easy to use yet offers a huge amount of customization.
-> If you're interested in some other LMS alternatives to LearnDash, check out my article on the Top 8 Best WordPress LMS plugins, or see my WpCourseware review where I take a look at another top WordPress LMS plugin.
1) Configuring LearnDash
Installing LearnDash is just like any other WordPress plugin.
Go to Plugins, and then Add New. Then simply upload the .zip folder containing your plugin and activate it.
This should create a LearnDash LMS menu item in WordPress. The menu is where you'll create all of your course lessons, quizzes, and everything else.
But before you can start using your plugin, you'll need to go to LearnDash LMS > settings > LMS license to enter your support license.
You might as well also set up your Paypal ID right now under Paypal Settings as well if you intend to take payments through LearnDash.
LearnDash also supports 2Checkout and Stripe payment gateways if you'd prefer to use those instead of Paypal.
2) Creating A Course
Making a lesson, topic, or even a whole new course in LearnDash is basically the same as creating a new page or post in WordPress, if you've ever used the platform to create a blog or website before.
Check out this video tutorial which walks you through the process nicely:
To make a new course, click LearnDash LMS > Courses > Add New.
From there you can name your course, add a description, and set a category.
There are some important settings you'll want to configure including your course price type, prerequisites, lesson progression, expire access, etc. Most of these are pretty intuitive.
3) Creating A Lesson
Making a lesson in LearnDash is basically the same as making a course.
But to change your lesson settings, you'll need to go to LearnDash > Lesson > Settings.
Here you can set an associated course, which is the course that the lesson is a part of.
Forced lesson timer sets a minimum amount of time that a student needs to spend on a lesson.
Make lesson available X days after signup / on a specific date allows you to drip feed course content on a schedule to new students.
To change around the order of your lessons, simply use the Order attribute.
4) Creating A Topic
Topics are contained within lessons.
You can access topic settings by clicking LearnDash > Topic > Settings.
The settings are the same as the ones you have for a lesson.
5) Making Paid Courses
LearnDash allows you to create your courses and sell them using Paypal.
If you just have one course to sell, then you can just use LearnDash to take payments, protect your course material and enable access to your students.
However, if you have more than one course or you want to offer multiple membership levels then you'll need to integrate it with a membership plugin like MemberPress.
This will enable a high degree of flexibility where LearnDash will take care of delivering your course lessons and functionality and MemberPress will take care of payments, protecting the content and managing membership access levels.
6) Making A Sales Page
Once your course is all set up and you've started to add lesson content, it's time to make a sales page.
Sales pages are also sometimes referred to as landing pages. This is how customers will learn about all the benefits and features of your course and hopefully be persuaded into buying.
You can create your sales page by adding a regular new page in WordPress and then either using your default theme layout or a page builder plugin like Thrive Architect.
Your sales page should tell potential buyers what end result they'll get if they take the course. It should also include a detailed breakdown of your course outline and what exactly they're going to be getting.
You want to make your sales page as persuasive as possible by including testimonials and lots of social proof. Try to predict every possible objection someone could have to buying your course, and then offer a solution to those objections.
I've gone over how to create your sales page in more detail inside my how to create an online course article and as part of my how to create a sales funnel article, so I won't go in to too much more detail here.
Free feel to give those a read if you want to learn more about creating your sales page.
In addition to a sales page, you should also create an opt-in form on your website that will allow people who might be interested in your course but not quite ready to buy to sign up to your email list.
Then you should design an email sequence that will nurture these leads, build trust, and help them get to know and understand how you can help them in more detail in your course.
For more info on the marketing of your course, check out my other articles on this topic.
So, we've seen now all the steps to take if you want to create an online course with WordPress.
As you can see, it's not the easiest or quickest of processes as there are lots of different tasks involved.
If you feel:
- daunted by the prospect of doing all of this
- simply don't have time
- would rather focus your time on course creation or marketing
... then you may be better off choosing an online course platform like Teachable or Kajabi instead.
Both these options will be much easier and quicker to get set up and run - they were specifically created to simplify the process of online course creation.
However, if you are familiar with WordPress, and have the time or budget to pay someone to help you, then setting up your own course on WordPress will offer you complete flexibility and control.
Best of luck with your course creation. If this is your first time making an online course you may find my free guide useful to help you along the way: