How to Build an Online Course Website (2026) - Wooninjas - The WooCommerce Ninjas
Image showing How to Build an Online Course Website with LearnDash and Kadence Theme

How to Build an Online Course Website with LearnDash and Kadence Theme

Building an online course website does not require a developer, a design agency, or weeks of setup time. What it requires is the right combination of tools and a clear process for putting them together.

This guide walks you through building a complete LearnDash course website using the Kadence theme, from installing the theme and setting up the LMS to creating your first course, adding quizzes and assignments, issuing certificates, and designing course pages that look professional without writing a line of code.

Kadence and LearnDash are both products under the Liquid Web umbrella, which means their integration is intentional and maintained. Kadence includes dedicated styling controls for LearnDash course pages, lesson layouts, quiz displays, and student profiles. No third-party compatibility patches required.

If you are starting from scratch or rebuilding a course site that has outgrown its current setup, this is the stack worth using.

Part 1: Getting Kadence Theme on Your Site

Installing Kadence

Log in to your WordPress dashboard. Navigate to Appearance -> Themes -> Add New.

Search for “Kadence.” It will be the top result. Click Install, then Activate.

Image showing how to add kadence theme on your site.

Your site is now running Kadence. It is a fast, block-based theme with a clean default layout. The next step is adding two companion plugins that make it genuinely useful for course sites.

The Two Kadence Plugins Worth Installing

Two free plugins extend Kadence into a proper course site toolkit. Navigate to Plugins -> Add New and install both:

Kadence Blocks adds a library of advanced content blocks to the WordPress editor, including row layouts, info boxes, advanced galleries, and icon lists. These are the building blocks you will use to design your course listing and landing pages.

Image showing The Two Kadence Plugins Worth Installing.

Kadence Starter Templates gives you access to pre-designed site layouts, including several built specifically for LearnDash. Import one and you skip hours of layout work.

image showing how to add the three kadence plugins.

Importing a Starter Template

If you are setting up a fresh site, a starter template is the fastest way to get a professional layout in place.

Important: Only import a starter template onto a new, empty WordPress installation. Importing onto an existing site with content will override your current pages and settings.

Navigate to Appearance -> Kadence -> Starter Templates. Browse the library and look for any template tagged as course, e-learning, or coaching. Click Preview to review the layout, then Import when you are ready.

Image showing appearance starter template.

The import loads complete page layouts, header styles, global colors, and typography settings. Swap out the placeholder content with your own, and the site is ready to use.

Customizing Kadence for Your Brand

Navigate to Appearance -> Kadence to access the global design settings. The four areas worth configuring before building any content:

  • Colors: Set two or three brand colors. These populate automatically across all Kadence elements.
  • Typography: Choose one font for headings and a complementary one for body text. Kadence loads from Google Fonts.
  • Header and Footer: Configure your navigation, logo placement, and footer layout using the drag-and-drop builder.
  • Layout: Set your content width and sidebar preferences.
Image showing how to Customize Kadence for Your Brand

All of this is visual and drag-and-drop. No stylesheet editing required.

Part 2: Installing and Configuring LearnDash

Kadence handles your site design. LearnDash is the engine that powers your courses. It adds the full LMS feature set to WordPress: courses, lessons, topics, quizzes, assignments, certificates, student progress tracking, and payment processing.

Image showing how to install learndash plugins.

Installing the Plugin

In WordPress, go to Plugins -> Add New -> Upload Plugin. Select the LearnDash ZIP file you downloaded from your account, click Install Now, then Activate Plugin.

image showing how to verify the license number and email.

Activating Your License Key

Navigate to LearnDash LMS -> Settings. Enter your license key in the field provided. You will find this key in the email you received at purchase, or inside your LearnDash account dashboard. Click Activate License.

This step is required to receive plugin updates and security patches. Do not skip it.

Image showing how to activate your license key.

Core Settings to Configure Before Building

Before creating your first course, take ten minutes to configure these settings. Changing them after launch is possible but disruptive:

  • Payment Settings: Connect PayPal or Stripe if you are selling courses. Set the currency and test the checkout flow with a free or low-cost course before launching.
  • Email Settings: Configure the automated emails students receive when they enroll, complete a lesson, or earn a certificate. These emails are your primary learner communication channel.
  • General Settings: Assign the pages that will serve as your course catalog, student profile page, and group enrollment page.
Image showing the core setting to configure building.
Image showing the core setting to configure building.

Get payment configuration right before you publish anything with a price attached. A misconfigured payment gateway discovered after launch creates refund requests, trust issues, and support overhead.

Part 3: Building Your First Course

LearnDash organizes content in a three-level hierarchy. A course is the top-level container. Inside it sit lessons, each covering a major topic area. Inside lessons sit topics, which break each lesson into focused, digestible segments. Quizzes can be attached at the lesson or topic level, or placed as a final assessment at the course level.

Think of it as a folder structure: the course folder holds lesson folders, and each lesson folder holds topic files. Getting this hierarchy mapped out before you start building saves significant rework later.

Image showing python programming for beginners.

Creating a New Course

Navigate to LearnDash LMS -> Courses -> Add New. Give the course a clear, descriptive title. Write the course description in the main content area: explain what the course covers, who it is for, and what learners will know or be able to do after completing it. Upload a featured image.

Course Settings Worth Configuring

Scroll below the content editor to the settings panel. The most important settings:

Course Access Type:

  • Open: Anyone can view the course without logging in
  • Free: Login required, but no payment
  • Buy Now: Single payment, permanent access
  • Recurring: Subscription access, billed monthly or annually
  • Closed: Admin manually enrolls students
Image showing settings for course enrollment.

Progression Rules:

  • Linear: Students complete lessons in sequence before advancing
  • Free Form: Students navigate in any order
Image showing access settings.

Prerequisites: Completion of another course before enrollment. Use this for beginner-to-advanced learning sequences where foundational knowledge matters.

Image showing access settings.

Certificate: Select a certificate design to award on course completion. Set this up before publishing.

Using the Course Builder

Click the Builder tab inside the course editor. This is where you assemble the course structure.

Click Add New Lesson and type the lesson name. Press Enter. To add a topic under a lesson, drag it slightly to the right to nest it. Drag lessons up and down to reorder the course flow.

Image showing how to Use the Course Builder

Build the complete course outline here before writing any lesson content. A clear structure makes the content-writing phase much faster.

Part 4: Lessons and Topics

Lessons are the primary content units of your course. Each lesson covers a major area of the subject you are teaching. Topics break lessons down into shorter, focused segments that are easier for learners to complete in a single session.

A well-structured course keeps most lessons under 15 minutes of content. If a lesson is running long, split it into two or three topics.

Creating a Lesson

Navigate to LearnDash LMS -> Lessons -> Add New. Give the lesson a clear title. Add your content in the editor: video embeds, text explanations, downloadable PDFs, audio files, or any combination.

Image showing introduction to python and core concepts.

In the settings panel on the right, configure any lesson-specific options: time limits, assignment requirements, or content drip schedules.

Image showing introduction to python and core concepts.

Click Publish when the lesson is ready.

Creating a Topic

Navigate to LearnDash LMS -> Topics -> Add New. Enter a title and add your content.

Image showing python syntax and variables.

Topics follow the same structure as lessons. Keep each topic tightly focused on a single concept or task. Click Publish.

Image showing learndash/kadence python programming for beginners.

Part 5: Quizzes

Quizzes serve two purposes in LearnDash. For learners, they confirm understanding and reinforce retention. For you, they provide data on where learners are struggling and how course content is landing. A course with no assessment is a course without feedback.

Creating a Quiz

Navigate to LearnDash LMS -> Quizzes -> Add New. Give the quiz a title. Add any instructions or context in the content editor.

Quiz Settings

Display Tab:

  • Choose whether to show one question at a time or all at once
  • Show or hide the quiz title and description
  • Set a time limit, or leave blank for untimed
Image showing quiz settings release schedules.

Results Tab:

  • Set the passing percentage. 80% is standard for most courses.
  • Define how many retakes students are allowed
  • Assign a certificate to be awarded for passing scores
Image showing display and content options.
Image showing results page display.

Adding Questions

Click the Questions tab inside the quiz editor, then Add Question.

Available question types:

  • Single Choice: Radio buttons, one correct answer
  • Multiple Choice: Checkboxes, several correct answers
  • Free Text: Written response, graded manually
  • Sortable: Drag items into the correct sequence
  • Matrix Sorting: Match paired items

Enter the question, add answer choices, mark the correct answer, and assign point values. A well-constructed quiz of 8 to 15 questions is enough to test comprehension without fatiguing learners.

Image showing auto draft single choice.
Image showing LearnDash/Kadence python basics assessment.

Assigning a Certificate to the Quiz

In the quiz settings under the Certificates section, select the certificate template to award. Students receive it automatically when they reach the passing score.

Part 6: Assignments

Assignments give learners a way to apply what they have learned and give you a way to evaluate their work before they progress. They are particularly valuable in courses that involve practical skills, written work, portfolio tasks, or anything that requires judgment rather than a right-or-wrong answer.

Enabling Assignments on a Lesson

Edit any lesson or topic. In the settings panel, locate Assignment Settings. Set Enable Assignment to Yes.

Configuring Assignment Rules

  • Upload Limit: Set the maximum file size students can submit
  • Allowed File Types: Specify accepted formats. PDF and DOCX cover most cases.
  • Approval Required: Set to Yes if you need to review and manually approve submissions before the student can advance. Set to No for practice-only submissions.
  • Points: Assign a point value if you are connecting assignments to a grading system
Image showing how to upload assignments.

Reviewing Student Submissions

Navigate to LearnDash LMS -> Assignments to see all submitted work. Click any submission to download the file, approve or reject it, and leave written feedback.

If you are running a course with active enrollment, review the assignments queue at least twice a week. Delayed feedback is one of the most consistent reasons learners disengage or abandon a course mid-way.

Part 7: Certificates

Certificates are more than a nice finish to a course. For many learners, they are the primary reason for enrolling. A certificate represents proof of achievement that can go on a resume, a LinkedIn profile, or a professional portfolio. Courses that offer well-designed certificates consistently outperform those that do not on completion rates.

Creating a Certificate

Navigate to LearnDash LMS -> Certificates -> Add New. Give the certificate a descriptive internal name.

Design the certificate in the editor. Keep the layout clean: a border, your logo, a course title, and the student’s name. Avoid clutter. A certificate that looks professional builds trust in your course.

Image showing python programming for beginners.

Using Dynamic Shortcodes

LearnDash populates certificates with student-specific information using shortcodes. Place these anywhere in your certificate design:

  • [user_name]: The student’s full name
  • [course_name]: The course they completed
  • [completed_date]: The date of completion
  • [quiz_score]: Their quiz score as a percentage
Image showing certificate of completeion.

Assigning the Certificate

  • To a course: Edit the course, find the Certificate dropdown in the settings panel, and select your design.
  • To a quiz: Edit the quiz, navigate to the Certificates section, and select your design.

How Students Access Their Certificate

When a student completes the course or passes the quiz, they can download the PDF from the course completion page, receive it by automated email, or find it in their account page under Certificates.

Test this entire flow yourself before launching. Create a test student account, complete the course, and verify that the certificate appears correctly. Discovering a broken certificate shortcode after real students have enrolled is a painful fix.

Part 8: Designing Course Pages with Kadence

The default LearnDash course page is functional but plain. Kadence Blocks gives you the tools to build course listing pages, landing pages, and course detail layouts that convert visitors into enrolled students.

Building a Course Listing Page

Create a new page and title it Courses, All Courses, or whatever reflects your catalog. In the block editor, click the + button and search for Kadence to browse the available blocks:

  • Advanced Gallery: Display course thumbnails in a responsive grid
  • Info Box: Highlight individual courses with a thumbnail, description, and enrollment button
  • Row Layout: Place a course image on the left with a course description and CTA button on the right
  • Icon List: Show course features or learning outcomes cleanly
Image showing software development live sessions and courses.

Styling LearnDash Pages with Kadence

Because Kadence and LearnDash are products from the same company, Kadence includes a dedicated LearnDash customization panel.

Navigate to Appearance -> Customize and look for the LearnDash section. From here, you can configure:

  • Course grid layouts and card styling
  • Lesson and topic page templates
  • Quiz display settings
  • Student profile page layout
Image showing software development course on kadence and learndash.

This styling panel lets you match your LearnDash course pages to your broader site design without writing a single line of CSS. Point, click, and publish.

Want a LearnDash Site Built Right the First Time?

WooNinjas has built 700+ LearnDash websites. From full site builds and LearnDash configuration to custom add-on development, we handle the technical setup so you can focus on your content.

-> See WooNinjas LearnDash Services

Getting the Most Out of LearnDash and Kadence

The technical setup described above is straightforward. What determines whether your course site actually succeeds comes down to a few decisions that are easy to get wrong the first time.

Structure Your Course Before You Build It

Spend time mapping your course outline on paper or in a document before touching LearnDash. Define every lesson title and topic title in advance. The Course Builder is much faster to use when you are filling in a pre-planned structure rather than inventing it as you go.

Set Your Access Model Early

Whether your courses are free, one-time purchases, or subscription-based determines your payment settings, your email sequences, and your student management approach. Changing the access model after students have enrolled creates complications with existing enrollments. Decide this before publishing anything.

Test Before You Launch

Create a dedicated test student account with a different email address. Complete the entire course flow: enroll, work through every lesson and topic, take the quiz, submit an assignment, and confirm the certificate arrives. Every broken link, missing image, or misconfigured setting that you find this way is a support ticket you will not have to handle after launch.

Use Kadence Templates as a Starting Point, Not a Final Destination

Starter templates remove the blank-canvas paralysis of building from scratch, but your course site should not look like everyone else using the same template. Once you have imported a template, change the primary color to your brand color, swap in your logo and real photography, and rewrite every placeholder text block. Twenty minutes of customization creates a site that feels like yours.

Final Thoughts

LearnDash and Kadence make a capable and well-integrated foundation for any online course site. Kadence handles the design layer cleanly and without friction. LearnDash handles the full LMS layer: structured courses, progressive lessons, quizzes, assignments, and certificates. The two products share ownership, share styling controls, and are actively maintained together.

If you are building a course site from scratch, the stack described in this guide gets you to a launch-ready site in a fraction of the time you would spend assembling incompatible tools. If you are migrating from another platform, the same applies: LearnDash supports imports from Moodle, Teachable, LifterLMS, and others, so you are not starting from zero.

For course creators who want the site built and configured by people who have done it hundreds of times, WooNinjas LearnDash website development handles everything from initial setup to custom feature development. Once your site is live, eLearning SEO services help the right students find it.

Need Expert Help With Your LearnDash and Kadence Site?

WooNinjas specializes in LearnDash website builds, LMS migrations, custom add-ons, and ongoing maintenance. 700+ sites built. 80+ add-ons developed. 10+ years of LearnDash experience.

-> Explore WooNinjas LearnDash Services

Frequently Asked Questions

Is the Kadence theme free for LearnDash sites?

Yes. The Kadence theme is free and available from the WordPress theme repository. The two companion plugins you need for course sites, Kadence Blocks and Kadence Starter Templates, are also free. A Kadence Pro upgrade adds additional features and templates, but is not required to run a fully functional LearnDash site. Many course creators launch with the free stack and upgrade selectively later.

Can I use LearnDash with a theme other than Kadence?

Yes. LearnDash works with most well-built WordPress themes. However, Kadence offers the deepest native integration because both products come from the same company. Using a different theme often requires additional CSS work to make LearnDash course pages match your site design. If Kadence is not a fit for your brand, Astra and GeneratePress are widely used alternatives with solid LearnDash compatibility.

How do I sell courses with LearnDash?

LearnDash supports course sales natively through PayPal and Stripe. Set the course access type to Buy Now for a one-time payment, or Recurring for a subscription model. For more advanced e-commerce, WooCommerce integrates with LearnDash and adds features like coupons, order management, and upsells. Configure your payment gateway in LearnDash LMS -> Settings -> Payment Settings before publishing any paid course.

Can I migrate my existing courses to LearnDash?

Yes. LearnDash supports imports from platforms including Moodle, Teachable, LifterLMS, and TalentLMS. A migration moves your courses, lessons, quizzes, user accounts, and progress data to your new LearnDash site. For complex migrations where data integrity matters, a managed migration service removes the risk of data loss or broken enrollments. WooNinjas handles LearnDash migrations with a supervised process and zero downtime.

How do I make my LearnDash course site rank on Google?

LearnDash course pages are standard WordPress pages and respond to standard SEO practices. Start with descriptive, keyword-rich course titles and descriptions. Install a WordPress SEO plugin such as Yoast or Rank Math. Ensure your site loads quickly (Kadence is lightweight and helps significantly here). Build a content strategy around blog posts targeting the questions your prospective students are searching for. For sites that need systematic visibility growth, WooNinjas’ eLearning SEO service provides ongoing keyword research, content strategy, and technical SEO specifically for LearnDash sites.

Share This Story, Choose Your Platform!

Our products are trusted by 3000+ happy customers!

Latest Posts

Leave a Comment

Your email address will not be published. Required fields are marked *

Need help with your wordpress site?

Scroll to Top