WooCommerce memberships: how to create a membership site

jason briscoe n4ymhyyFY7A unsplash

In this tutorial I’m going to guide you, step by step, through the process of creating a simple WooCommerce memberships site.

There’s a fully functional WooCommerce memberships demo site here so you can see exactly what we’re building with this tutorial. The demo site even has different user accounts so that you can experience the site from the point of view of different membership levels.

WooCommerce memberships: the complete tutorial to creating a membership site

This tutorial will take you from start to finish through setting up a WordPress membership site, using WooCommerce and WooCommerce Members Only (a WooCommerce membership site plugin).

You can use the menu below to navigate around the article, or just read it from start to end. And you can follow along with the WooCommerce memberships demo site to see how the tutorial turns out.

WooCommerce memberships demo site

Our memberships site’s requirements and settings

Let’s start at the beginning.

The scenario

In our imaginary scenario, we’re a well-known food blogger and we’d like to expand our WordPress website into a membership site.

We’ve got a large online following and we’d like to starting monetising that. So we’ve decided that we’ll starting creating members-only content, e.g. recipes, blog content, and products.

We’d also like to offer certain benefits, like exclusive products and tickets to events, to our membership. This is a way of rewarding our members for purchasing their membership, and of incentivising non-members to join up.

This scenario is just an example: the features and functionality we’re discussing in this tutorial can be applied to any WooCommerce memberships site.

Themes and plugins

We’re keeping this really simple so we’ll start with a fresh WordPress install. Of course, this will also work perfectly if you have an existing site that you want to convert into a membership site.

In our case, we’re going to use the WooCommerce Storefront theme but, again, this tutorial will work for any WordPress theme that is compatible with WooCommerce.

We need two plugins:

  • WooCommerce: in case you’re new to it, WooCommerce is the leading ecommerce plugin for WordPress. We’re using it for this tutorial so that we can sell goods through our membership site and, crucially, sell different membership packages to our followers
  • WooCommerce Members Only: this is a premium WooCommerce membership plugin that will add all the functionality that you’ll need for your site
WooCommerce Members Only featured image

WooCommerce Members Only

Protect your content and sell members-only products

Find Out More

There are instructions below for installing and setting up both plugins.

Our WooCommerce membership site features

Let’s look at the main features of our WooCommerce membership site:

  • Some content, i.e. blog posts and products, will be available to everyone
  • Certain content, blog posts and products, will be restricted to members only
  • We’ll have different levels of membership, allowing different members access to different content
  • Users will need to pay for their membership
  • Members will be able to pay in order to upgrade their membership plan
  • We’ll create a dedicated landing page for users to join or upgrade

Installing our plugins

I mentioned above that we only need two plugins to create our membership site.

Installing WooCommerce

The first plugin is WooCommerce. This will give us the ecommerce functionality we need to be able to sell membership levels to our users.

To install WooCommerce:

  1. In your WordPress dashboard, go to Plugins > Add New
  2. Search for ‘WooCommerce’
  3. Click the ‘Install Now’ button in the top right of the panel
  4. When the installation has completed, the ‘Install Now’ button will be replaced by an ‘Activate’ button. Click this to launch the WooCommerce setup wizard
Installing WooCommerce

The WooCommerce setup wizard

Once you’ve activated WooCommerce, it will launch a setup wizard that will help you configure all the basic elements you need to sell your membership and other products.

WooCommerce setup wizard

The wizard will then walk you through several aspects of your ecommerce settings, including payment methods, shipping and tax.

Installing WooCommerce Members Only

With WooCommerce configured, it’s time to install WooCommerce Members Only. This is the plugin that will add all the membership features to our site.

To install WooCommerce Members Only:

  1. Purchase your copy of Members Only
  2. You’ll receive an email with a link to a zip file
  3. Download this file and save it to a convenient place on your computer
  4. In your WordPress dashboard, go to Plugins > Add New > Upload Plugin
  5. Drag the zip file from your computer to the file upload area
  6. Click the ‘Install Now’ button
  7. Then click the ‘Activate Plugin’ button when it appears
wordpress upload plugin

Once you’ve activated Members Only, you’ll need to enter your licence key. This can be found on the same email as the download link. To enter your licence key:

  1. In your dashboard, go to WooCommerce > Settings > Members Only
  2. Click on the ‘Licence’ sub menu item
  3. Enter your key and click ‘Save changes’
WooCommerce Members Only - activate licence key

Defining our membership levels

Now we’ve got our plugins installed, let’s take a step back and think about the content on our site.

In our scenario, we’re going to have two membership levels: Gold Members and Silver Members. As you might expect, Gold Members have more privileges than Silver Members; and both have more privileges than standard users.

Defining membership levels through user roles

We’ll use the standard WordPress concept of user roles to define our membership levels. Roles are the method used by WordPress to define or control what each user can do. For instance, users with the role of ‘Administrator’ can do far more on the site than users with the role of ‘Customer’.

We’ll create two new user roles: Gold Member and Silver Member. These roles will define what content a user can access.

When a user purchases Gold Membership or Silver Membership, they’ll automatically be assigned the relevant user role.

If all this sound complicated, don’t worry: WooCommerce Members Only allows us to achieve this very easily.

Creating new user roles

The process to create a new user role is very simple in WooCommerce Members Only:

  1. In your dashboard, go to WooCommerce > Settings > Members Only
  2. Click the ‘User Roles’ submenu
  3. Choose the ‘Customer’ role from ‘User roles’
  4. Enter the name of your new user role, e.g. ‘Gold Member’
  5. Click ‘Duplicate role’
WooCommerce memberships - duplicate user role

This will create a new user role called ‘Gold Member’. You can repeat for ‘Silver Member’, or any other user role you wish to create.

Allowing our users to purchase membership

Now we’ve got our new membership roles set up, we want to be able to let our users become members of the site – by purchasing membership.

We’ll do this by creating products to buy membership, then assigning one or more of our user roles to any customers who buy those products.

Let’s create two new WooCommerce products: one called Gold Membership and one called Silver Membership.

Creating a new product in WooCommerce

To create a new product in WooCommerce:

  1. In your WordPress dashboard, go to Products > Add New
  2. Give your product a title, e.g. ‘Gold Membership’
  3. In the Product Data section, give your product a price
  4. In the Product Description section, write a short summary about the product

This is all the basic information you need to add.

Automatically assigning user roles after purchasing a product

Now, we’ve created our product we can decide what user role to assign when someone purchases the product. Because we’ve got a tiered membership plan, meaning there’s more than one membership level with different privileges, we want to assign different roles to different products.

What does this mean? It means that for our Gold Membership, users will be able to access all content that is available to Gold and Silver members. If a user only purchases Silver Membership, they’ll only be able to access content available to Silver members.

So, to assign user roles to our Gold Membership product:

  1. In the Product Data section, click the Members Only tab
  2. Then in the ‘Assign user roles’ field, enter the user roles that will automatically be assigned to a user when they purchase the product. In this case, that’s going to be the ‘Gold Member’ and ‘Silver Member’ roles
WooCommerce automatically assign user role after purchase

Repeat as necessary for as many membership levels as you want. In our scenario, we’d add another product for Silver Membership then assign just the Silver Member role. This is because we don’t want our Silver Members to be able to view Gold Member content.

Set an expiry date for the membership product

If you would like to set an expiry for the membership product, just enter a period in the ‘Expires after’ field:

WooCommerce membership expiry period

Enable ‘Sold individually’

There is one additional setting you might want to enable for your product. Because the user is buying membership, they should only be able to buy it in a single quantity.

To ensure they can’t add multiple membership products to their cart, click the ‘Inventory’ tab in the Product Data section and enable the ‘Sold individually’ setting.

WooCommerce memberships product - sold individually

WooCommerce account settings

Finally, you have to ensure that user accounts are created during checkout. This ensures that anyone buying a membership to your site will have their account created. Otherwise they won’t be able to log in with their new membership privileges.

To ensure that user accounts are automatically created during checkout:

  1. Go to WooCommerce > Settings > Accounts & Privacy
  2. Ensure that the ‘Allow customers to place orders without an account’ is unchecked
  3. Check the options in ‘Account creation’ as in the image below
WooCommerce memberships - account creation

There’s a more detailed look at automatically updating user roles after a purchase here.

WooCommerce user approval and registration

If you don’t plan to sell membership, or you want to approve new registrations, take a look at this article on WooCommerce user approval.

You can also take a look at this article for a detailed guide on adding custom registration fields to WooCommerce.

Hiding / restricting our membership products

Now, we could just leave our products as above. But it would be good to improve the user experience in a couple of ways.

  • If I am a Silver member then I shouldn’t be able to purchase the Silver membership again
  • Likewise, if I’m a Gold member then I shouldn’t be able to purchase Gold or Silver membership
  • If I’m a Silver member, I should be able to upgrade to Gold membership without paying full price

There are some specific features in Members Only that will let us do this.

Hiding membership levels from existing members

Let’s look at our Silver Membership product. This should be available to anyone who isn’t already a Silver or Gold member.

So we’re going to hide this product from the Gold Member and Silver Member user roles. To hide a specific product by user role:

  1. Edit the product – in this case, the ‘Silver Membership’ product
  2. Click the ‘Members Only’ tab in the Product Data section
  3. Select ‘By User Role’ from the ‘Restriction method’ field
  4. In the ‘Hide from User Roles’ field, enter the user roles you’d like to hide the product from
  5. Check the ‘Hide in Archives’ field so that these products don’t appear in any archive pages, shortcodes, or other places where products are listed
WooCommerce hide products from user roles

Now, when a Silver or Gold member views the site, they don’t see the Silver Membership product.

We can repeat this for the Gold Membership product:

Gold membership product hide from user roles

Why are we hiding Gold Membership from Silver members?

Good question. We want our Silver members to be able to upgrade to Gold so surely we want them to be able to see the Gold Membership product?

No. Because the Gold Membership product is for users without any membership yet. We need to create a Gold Membership Upgrade product specifically for our Silver Members.

Create a membership upgrade product

For any membership site with different membership levels, there needs to be the opportunity for users to upgrade. They don’t want to pay full price for the higher level, so we need to create a differential product that is only available to users with a certain, lower membership level.

In our case, we’re going to create a Gold Membership Upgrade product:

  1. In your dashboard, go to Products > Add New
  2. Enter your product title, e.g. ‘Gold Membership Upgrade’
  3. In the Product Data section, give your product a price, e.g. the difference between the prices of Gold and Silver Memberships
  4. In the Product Description section, write a short summary about the product

Restrict access to our upgrade product

To ensure that this product is only available to certain users, we’re going to restrict access to the product by user role:

  1. In the Product Data section, click the ‘Members Only’ tab
  2. Choose ‘By User Role’ in ‘Restriction method’
  3. In ‘Permitted User Roles’, choose ‘Silver Member’. This means that this product will only be visible and available to users with the Silver Member user role
  4. Select ‘Hide in Archives’ to hide the product on archive pages and in the loop
  5. Enter ‘Gold Member’ in ‘Assign user roles’ so that anyone purchases this product will be assigned the ‘Gold Member’ user role – therefore upgrading them to Gold Membership
WooCommerce membership upgrade product

If you’re following along on the demo site, you can log in as the ‘Silver’ user. You’ll see that the products available on the Join page have changed.

Restricting blog categories to certain membership levels

Let’s look at where we are in our WooCommerce memberships site tutorial so far:

  • We’ve installed and configured our two key plugins, WooCommerce and WooCommerce Members Only
  • We’ve created some products to allow users to become members of our site
  • And we’ve ensured that the user experience is smooth by only hiding or displaying membership products to certain user roles

Now let’s look at restricting some of our other content so that it’s only available to certain membership levels.

Creating protected categories for members

One of the ways we’re going to encourage users to become members of our site is to offer members-only content. In our scenario, we might be offering exclusive access to new recipes or cooking tips.

Because we’ve got two levels of membership, we’re going to create two levels of exclusive content: Gold Content and Silver Content. As you might expect, Gold Content is only available to Gold Members; Silver Content is only available to Silver and Gold Members. If you’re not a member, you can’t read the content.

Defining our protected blog categories

To define our protected blog categories:

  1. Ensure you’ve created your post categories, e.g. ‘Gold Content’, ‘Silver Content’
  2. In your dashboard, go to WooCommerce > Settings > Members Only
  3. In ‘Restriction Method’, choose ‘User Role’
  4. Choose ‘Specified Categories’ in ‘Restricted Content’
  5. In ‘Restricted Categories’, choose one of your restricted categories, e.g. ‘Silver Content’
  6. In ‘Permitted User Roles’, choose the user role that has permission to view the content specified in the restricted categories above
WooCommerce memberships - protected categories

Save your settings. Now, any blog post in the ‘Silver Content’ category is only viewable by users who have the ‘Silver Member’ user role.

Defining different membership rules for different categories

You will have noticed that we’ve only created a restriction for one category. But because our WooCommerce memberships site has different membership levels, we want to create different rules for different categories.

So, to create a different rule for blog posts in the ‘Gold Content’ category, we’ll edit the category itself:

  1. In your dashboard, go to Posts > Categories
  2. Select the Category you want to edit – in this case, ‘Gold Content’
  3. Check the ‘Override Global Restrictions’ option
  4. Enter the user roles you want to permit to view this category in the ‘User Roles’ field
Protect WordPress categories by user role

Now when anyone is not a Gold Member user will be prevented from accessing a blog post in the Gold Content category.

You can check this out in the demo by logging in with the ‘Silver’ user demo account, then logging in with the ‘Gold’ account.

Hiding protected blog posts

With our current settings, all blog posts are visible in archive pages to all users. But if a user without the correct membership level tries to access a post in a protected category, they’ll be redirected.

We can fine-tune this in a couple of ways. Firstly, we can hide any protected posts from users without the correct membership level.

Hiding posts in protected categories

We can stop protected posts from being displayed in archive pages by using the ‘Hide in Archives’ setting we used above:

  1. Go to WooCommerce > Settings > Members Only
  2. Ensure the ‘Hide in Archives’ field is checked
WordPress hide protected posts

Posts just won’t be displayed to any user who doesn’t have the right membership level. (Posts will also be hidden from Google and other search engines, so they won’t suddenly show up in search results).

Displaying different content for protected posts

However, you may prefer to let people see what they’re missing. So instead of hiding protected posts, we just display alternative content to any users who don’t have the membership level:

  1. Go to WooCommerce > Settings > Members Only
  2. In the ‘Excerpt’ field, enter alternative content that will be displayed to users who do not have the correct membership level
  3. Ensure the ‘Hide in Archives’ field is not checked
Members only excerpt

Users will still be able to see post titles but the post content will show the alternative message. It’ll look something like this on the front end:

WooCommerce membership site protected blog posts

But, you may ask, what happens when the user tries to access a post that they’re not allowed to read?

This leads us on nicely to our next topic: redirecting blocked users to a landing page.

Creating a dedicated landing page for our WooCommerce memberships site

Up till now, whenever a user tries to access a restricted product or post, they’d be redirected to the home page.

But we can do better than that. Any decent WooCommerce memberships site should have the ability to create a dedicated landing page that will sell the benefits of membership.

We’re going to create a landing page to redirect any users without the correct membership to:

  1. Go to Pages > Add New and create a page
  2. Enter a title, e.g. ‘Join, and any content you want
  3. Publish the page
  4. Go to WooCommerce > Settings > Members Only
  5. Select the page you’ve just created in the
Redirection page

Any user who tries to access content they don’t have permissions for will now get redirected to our ‘Join’ page.

If you like, you can use a simple shortcode to add your membership products to the landing page, e.g. [products ids="12,13,14"], where 12, 13 and 14 are the IDs of your membership products.

Offering members only products in our shop

Let’s pretend that in our imaginary food blogger world, we already sell a number of cookware items on our site. This is fine – we’re happy to sell these to as many users as we can.

But we’d also like to start selling some products exclusively to our members. This might include limited edition items or perhaps advanced booking for events. Having members-only products is a great way of encouraging more users to become members.

Creating protected WooCommerce categories in a membership site

By now, you should be pretty familiar with how we might restrict access to certain WooCommerce categories.

Let’s make a couple of new WooCommerce product categories: ‘Gold Products’ and ‘Silver Products’. To protect these categories according to specific user roles:

  1. Go to Products > Categories and click on the ‘Gold Products’ category
  2. Check the ‘Override Global Restrictions’ option
  3. Enter the permitted user roles, e.g. ‘Gold Member’
WooCommerce protected product category

Now, only Gold Members will be able to purchase this product.

(There’s another article specifically on WooCommerce protected categories here, including how to protect categories by password instead of user role.)

Defining different shipping methods for members

It may be that you want to offer other incentives to your members. It’s very common, for instance, to offer free shipping as a benefit to being a member.

To find out how to create role-based shipping methods in WooCommerce, check out this article.

Onboarding your new members

Here’s a quick tip that might help to improve the process of becoming a member of your site: use the WooCommerce Thank You Pages plugin to provide the new member with dedicated information.

The Thank You page is an overlooked opportunity in WooCommerce for catching new customers at their most receptive moment, namely just after they’ve bought from you.

Check out this article on how to create a custom WooCommerce Thank You page.

Examples of membership sites

By now you know how to set up a WooCommerce membership website using WooCommerce and WooCommerce Members Only. The next step is to decide which sort of membership site you want to launch and how you’ll use it to grow your business.

Different types of membership sites

As you might have already guessed, there are many different types of membership sites. Here, we’ll take a look at some of the most popular membership site models to give you inspiration for your membership site:

  • Online courses and training program membership site. With an online course or training program membership site, you can keep course content behind a membership wall. You can create membership levels and set up courses as membership products.
  • Community-centered membership site. Community-centered membership sites give members access to private forums and discussion boards where they can connect with each other. This is great for businesses that want to set up mastermind groups.
  • Evergreen membership site. This membership model leverages content dripping features. It’s great for anyone who’s looking to sell their knowledge while keeping members engaged. You can decide how frequently you’d like to drip content to members.

Real-world examples of membership sites

Let’s take a look at some real-world examples of membership sites and how they benefit from their memberships.

#1: Youprenuer Academy

Youpreneur membership website

Chris Ducker’s Youpreneur Academy is a training program membership site for aspiring business owners, freelancers, and solopreneurs. For those unfamiliar, Youpreneur (the main site) is essentially a resource for personal brand entrepreneurs. Site visitors can check out the blog, listen to podcasts, purchase the Youpreneur book, and learn about upcoming events.

Youpreneur Academy’s main value offering is that it keeps members accountable and provides them a roadmap to build, market, and ultimately monetise their business. The membership site is separate from the main Youpreneur site and offers two membership plans:

  • Youpreneur Monthly $59 per month
  • Youpreneur Annual $549 per year

The site offers prospective members a variety of bonuses with each membership plan. This is a great way to (1) captivate the visitor’s attention and (2) make the offer look more appealing.

Instead of simply saying what’s included in the membership, you might consider offering it as a Bonus. The annual membership plan also offers members discounted tickets to Youpreneur events which is a great way to increase profits and boost event registrations.

Youpreneur Academy uses a Most Popular badge to encourage members to sign up for the higher tier annual plan.

#2: The Gordon Ramsay Masterclass

Gordon Ramsay homepage

GordonRamsay.com is essentially a web presence for multi-Michelin starred chef Gordon Ramsay that lets users:

  • Book tables at Gordon Ramsay’s various restaurants.
  • Purchase gift vouchers and experiences.
  • View all sorts of recipes.
  • Check out the blog.

From a business owner’s standpoint, creating a membership site around teaching people how to cook restaurant-inspired dishes is a great way to generate a recurring revenue stream.

In addition to this, it encourages members to check out the different on-site experiences sold in the shop which have a higher price tag.

Gordon Ramsay website membership page

The Gordon Ramsay Masterclass is a wonderful online course-style membership site that lets members learn to cook restaurant-inspired dishes at home in 15 lessons. Memberships are sold as passes with a single class pass priced at $90.

The membership also offers access to an exclusive downloadable cookbook. In addition to this, the Gordon Ramsay Masterclass sales page features a preview of the class as well as a complete lesson plan which increases transparency.

#3: Reflexion Yoga

Online Yoga homepage

Reflexion Yoga follows the online course and training program membership model and helps people get started with yoga.

Instead of simply publishing articles on yoga or selling tickets to on-site classes, setting up a membership site is a great way to maximise profits considering hundreds of people can take the online yoga class at once. Simply put, it’s scalable. What’s more is that it gives members the option to choose the yoga experience they want.

Reflexion Yoga offers a monthly, pay as you go plan for $9 per month in addition to an annual plan for $89 per year. The yoga classes on offer are designed to increase customer retention.

For example, customers can sign up for the more advanced Power Yoga class once they’ve finished the Beginner Center class. Reflexion Yoga also offers yoga programs for people who’d like to improve flexibility, lose weight, or trim their waistline through an 8-week program.

#4: Hoffman Academy

Hoffman Academy membership site for piano lessons online

The Hoffman Academy offers online piano lessons and has a community of over 216,000 students. Although the creators have a successful YouTube channel with 156K subscribers and dozens of video lessons, their premium membership program offers musical education and guided practice as well as a variety of fun online games, practice tracks, and printable music learning resources.

From a marketing standpoint, building your customer base on YouTube is a great way to test your minimum viable product (MVP) and get people to check out the main offering i.e. the premium membership program.

The Hoffman Academy offers a free, 30-day trial that allows learners to try out their premium offering. Although offering a free trial can be tricky, it lets you build an email list that you can use to retarget free trial users in case they don’t sign up after the trial period.

Key takeaways

Running a membership site allows you to generate reliable and predictable revenue which isn’t the case with having a simple store on your business website. The key benefit here is that the revenue you earn from your membership site won’t fluctuate as much as the revenue generated from one-off sales.

From a marketing standpoint, members are essentially qualified leads that make them the ideal candidate for targeted marketing. This gives you an opportunity to present your other products to them, during or after the course, in order to maximise sales.

A successful membership site can grow exponentially with a lot less work than creating marketing campaigns for your products or services or managing various overhead costs to grow your online store. In other words, membership sites are inherently scalable and have the potential for exponential growth.

Our WooCommerce memberships site tutorial – a recap

By now, we have more or less finished building our WooCommerce membership site. All we need to do now is to add more content.

We’ve looked at how to:

  • Use the WooCommerce and WooCommerce Members Only plugins to create membership levels in our WordPress site
  • Restrict access to blog content and products according to a user’s membership level
  • Create different levels of membership, allowing different members access to different content
  • Ensure that users will need to pay for their membership
  • Provide a method for existing members to upgrade their membership plan
  • Create a dedicated landing page for users to join or upgrade
  • And we had a fully functional WooCommerce memberships demo site where we can see what we were making

Don’t forget: you’ll need the Members Only plugin:

WooCommerce Members Only featured image

WooCommerce Members Only

Protect your content and sell members-only products

Find Out More

Four comments

  1. User image

    I import my products with .csv and WP All Import. Is it possible to import products with your plugin’s user restriction rules? Is this functionality possible?


    • User image

      Hi Laura

      The user restriction rules are set in the main settings, independently of the products – so you can import with CSV and All Import without affecting the restriction settings.


Leave a Reply

Your email address will not be published. All fields are required.