Posted on Leave a comment

How to Create a Free Course With MemberPress

NOTE: This still works, however MemberPress has since released a free Courses add-on that works much better 😀

MemberPress is an awesome WordPress Membership plugin that lets you protect any content on your site quickly and easily.

Recently I was looking to help a buddy find a way to create a super simple course on his site and charge users a monthly fee to access it.

He was using MemberPress to already offer a free membership with access a handful of resources on his site, and he wanted to leverage MemberPress to offer the paid access for this new course as well.

He had very little (I mean basically nothing) budget to work with, so he asked me if I knew of a way to offer a paid course through MemberPress for free. I know LearnDash and WP Courseware integrate with MemberPress, and both work really well and have more than enough features to get the job done beautifully. But they weren’t reasonable for his tiny budget.

I told my friend that by going cheap, he was definitely not going to get any fancy features like a LearnDash or WP Courseware and have it nicely integrate with MemberPress. He didn’t care though – he just wanted a way to put up some short videos along with some text instructions and have it hidden behind a paid paywall provided by MemberPress. And he thought it would be really cool if he could at least track his member’s progress through the course.

Now MemberPress by itself, even without a fancy LMS plugin can protect pages and/or posts easily enough. But I really wanted to find a way to help him also track the member’s progress through the course as MemberPress does not currently have a course progress tracking feature.

So I set up a temporary WordPress membership site on (awesome free service BTW), installed MemberPress, and began trying various free course/LMS plugins. But they were either poorly written, un-functionally buggy, and some of the nicer one’s just would not integrate nicely with MemberPress…ugh!

I was getting pretty close to calling it quits, and just helping him set up pages that were protected by MemberPress Rules without any form of progress tracking… Then, like a ray of sunshine on a rainy day, I stumbled onto this cool little gem called Progress Tracker! Now it’s not perfect, but for free and within my buddy’s scope of requirements it was perfect enough!

With Progress Tracker, you can (for free) create a main course page as a Parent Page on your WordPress website and mark it as Trackable when editing it. Then any Child Pages of that Parent become the “Lessons” so-to-speak of the Course.

Your members can mark each “Lesson” as complete as they move through the course. Progress tracker even automatically shows navigation links on the Pages also. You can even turn on automatic completion which completes each lesson as the member views it. The member will see a progress bar showing them their progress through the course, and best of all, as an Administrative user on the back-end you can view the progress of any members on the site.

Like I said, it’s not perfect, but it’s better than no progress tracking, and it’s free.

For those of you who don’t like to read, and are fairly technically inclined, go download the free plugin and give it a whirl, you’ll probably figure it out pretty quickly.

For those of you less technically inclined, or naturally inept at technology, let’s take a deeper dive and see how I accomplished this step-by-step.

Step 1 – Install Progress Tracker plugin

Head to your website’s Dashboard -> Plugins -> Add New and search for “Progress Tracker”.

Install and activate the plugin.

Step 2 – Create Course Overview Page

Create a new regular WordPress Page on your site called “XXXX Course Overview” replacing “XXXX” with the name of your course.

Be sure to check the “Enable subpage tracking” checkbox when editing the page.

This page will become the Parent page to each of your “Lesson” child pages.

Step 3 – Create a Child-Page for Each Lesson

Add a new page for each lesson in your course, and add the content to each page as well.

Be sure to select your parent course overview page as the parent page.

Before saving the child-page, uncheck the “Enable subpage tracking” option as I’ve found leaving it checked can cause a slight glitch on the admin progress reporting page.

Step 4 – Create Your Membership in MemberPress

Navigate to MemberPress -> Memberships page in your dashboard and add a new Membership.

Set your price and billing interval. For my friend, he wanted to charge $19.97 / month.

Step 5 – MemberPress Rules to Protect Course Pages

You’ll need to create two Rules in MemberPress. One to protect the parent page (our course overview page) and another to protect it’s child pages (our lessons pages).

Rule 1 – Protect Parent Page (Course Overview Page)

Rule 2 – Protect Child Pages of the Course Overview Page

Step 6 – View Your Course Overview Page

View your Course Overview page on the front-end of the website to see what it looks like.

You can head to your Dashboard -> Tools -> Progress Tracker -> Settings to adjust how the tracker looks and behaves to your liking from there.

Step 7 – Bonus (Optional)

As a nice little addition, MemberPress provides a way for you to add a Membership Access URL to each Membership.

Edit your Membership and head to the “Advanced” tab and enter the URL to your Course Overview page in the “Membership Access URL” field.

This gives the member two new ways to get to your course.

If they view the Membership Registration page when logged in they’ll see a message: “You have already subscribed to this item. Click here to access it“. That link will point to the Course Overview page.

The second is from their Account page on the Subscriptions and Payments tabs. The Title of the Membership will also be hyperlinked to the Membership Access URL.

Wrap Up

That’s it, you now have a very rudimentary, but at least free course progress tracker on your MemberPress membership course site.

Leave a Reply

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