Posted in Tutorials, WordPress by
Anthony Hortin

If you've ever tried to build a membership site with WordPress, you're probably already aware of some of the difficulties that this can entail. Thankfully though, there's a new choice on the market and it makes creating membership sites considerably easier. It's called WooCommerce Memberships and it's from the good folk over at WooThemes.

When looking around for Membership plugins, you'll find a heap of options out there. Some better than others.

Each of these options have their own benefits and like anything,  it's always a wise idea to compare the offerings before choosing the one that's right for you.

Things to consider

There's a number of things you need to consider when creating a membership site;

Is it easy to setup?
This pretty much speaks for itself. No-one wants a system that is difficult to set up or difficult to use. The more complicated your site is to use, the less likely you are to look after it properly.

Can it do prorated charges?
When you change or pause subscriptions part-way through your billing cycle, partial charges may occur since your recurring charges will need to be adjusted.

Does it allow for Content Dripping?
Content Dripping is the delivery of content over time. Rather than providing your members with all your subscription content as soon as they sign up, it's sometimes beneficial to delay content delivery over a set schedule.

Does it have support for eCommerce?
Selling products goes hand in hand with membership sites. Whether you're selling theme or plugins, or the occasional eBook. You want your memberhsip site to be able to integrate with an eCommerce system. Your members will thank-you when they only require one login to your site, rather than one for your memberhsip content and a separate login for your eCommerce site.

Can it handle upsells and downsells?
Upsells and downsells is the ability to entice your customers onto other plans, be that higher or even lower plans.

Is it well supported?
If you have any issues with your membership plugin, it's comforting to know that you can get support. Paid plugins are typically well supported but even with them, some have better support than others.

Receiving Payments

One of the biggest pains I’ve always found with memberships sites in particular, is the payment process. Not many membership plugins support Australian payment gateways. Until Stripe came to Australia last year, PayPal was one of the few options available for a lot of membership plugins.

Payment Gateway Acceptance

Out of the previously mentioned plugins, only 1 out 10 supports all 4 major Australian Banks, and PayPal, Stripe, eWay and lots of others.

WooCommerce Payment Gateway Acceptance

Benefits of WooCommerce

WooCommerce is currently the most popular eCommerce plugin. As of right now (October 2015), it powers 30% of all eCommerce sites on the internet. (source: http://trends.builtwith.com/shop)

eCommerce Comparison

It’s been fully security audited
Leading WordPress security firm Sucuri, has fully audited the WooCommerce codebase. In doing so, they noted “The code in the WooCommerce plugin was noticeably built with security in mind. It appears obvious to the review team that there was significant effort placed in building a clean and efficient plugin”.

There’s an extensive range of add-ons available for it
WooCommerce has an extensive list of add-ons available, both on the WooThemes website and the WordPress.org website. Whether you're looking for a new payment gateway, help with shipping your products or something else entriely, there's a good chance you'll be able to find an extension that helps.

There’s 15+ different Australian Payment Gateway add-ons (plus heaps for other countries too)
No longer do you need to simply use PayPal for your membership site. With the flexibility of WooCommerce comes a great selection of payment gateways, no matter whether you're in Australia, New Zealand, Europe, the UK, Asia or anywhere else.

It includes an extensive range of reports
WooCommerce provides a number of different reports so you can easily keep an eye on how your sales and memberships are tracking.

It has the ability to sell products easily (digital, physical, affiliated etc.)
One of the great things about using WooCommerce for you membership site is that it automatically makes it super easy to sell products further down the track, should you want to.

No need for separate membership & shop logins
Some membership plugins that don’t integrate with an eCommerce system might mean that you need separate logins, which is really annoying for an end-user. Using WooCommerce for your Membership and eCommerce site means your customers will only have one login. Your customers will thank you!

Easy to setup and use
Whether you just use it as a standalone membership site or combine it with eCommerce, setup is really easy. It’s also very easy to manage, from an Administrators perspective.

 What you'll need

It's time to get our hands dirty. We're gonna need a few plugins to put our Membership site together, and yes, some of those plugins are paid plugins. The plugins we'll need are;

WooCommerce (obviously)
This is a free plugin and you can download it from either the WordPress.org Plugin Directory or directly from the WooThemes website.

WooCommerce Memberships
This is a paid WooCommerce extension available from the WooThemes website. WooCommerce Memberships allows you to sell memberships via your WooCommerce store.

WooCommerce Subscriptions
This is another paid WooCommerce extension available from the WooThemes website. WooCommerce Subscriptions allows you to create and manage products with recurring payments. It integrates beautifiully with both WooCommmerce and WooCommerce Memberships. Although WooCommerce Memberships will work without the Subscriptions extension, using it provides numerous benefits which I'll outline below.

Payment Gateway
If you simply want to use PayPal for taking payments, you wont need a payment gateway plugin as PayPal support is built in to WooCommerce. Personally, I'm a fan of Stripe, so for this exercise I'm going to be using the Stripe Payment Gateway which is another paid plugin available on the WooThemes website. As mentioned above though, one of the benefits of using WooComerce is that it provides you a huge choice when it comes payment gateways.

Getting Started

The first thing we need to do is install and activate our plugins.

Activate WooCommerce and Membership Plugins

After activating WooCommerce you’re prompted to install the WooCommerce Pages. These are default pages that WooCommerce uses such as your Cart, Checkout and My Account pages. Just click that big ol' Install WooCommerce Pages button and WooCommerce will automatically create these pages for you.

Install WooCommerce Pages

After installing a plugin from WooThemes, you’ll be prompted to install the WooThemes Helper plugin to activate your licenses and get plugin updates. Your site will work perfectly well without this plugin, but it's a good idea to install it and add your license keys that you received when you purchased WooCommerce Memberships , WooCommerce Subscriptions and your payment gateway extension. This will allow you to update your plugins from within the WordPress Dashboard.

WooCommerce Setup

After installing all our plugins, we're ready to start configuring everything. The first thing we're going to do is setup WooCommerce. Most of the options can be left as default, so setup is pretty easy. All the WooCommerce settings can be found under the WooCommerce > Settings menu option.

First up, we want to configure our Base Location and Currency. These are found on the General tab in your WooCommerce Settings.

Since we’re dealing with digital products we can turn off stock management by unticking the Enable stock management checkbox. You can find this on the Inventory page under the Products tab in your WooCommerce Settings.

WooCommerce Settings Products Inventory

We can also turn of Shipping Calculations since we're dealing with digital products. Simply untick all the Enable Shipping checkbox. You can find this on the Shipping Options page under the Shipping tab in your WooCommerce Settings.

WooCommerce Settings Shipping Options

We want people to create accounts as that's how they'll access their member content, so turn off Enable guest checkout. You can find this on the Checkout Options page under the Checkout tab in your WooCommerce Settings.

Since we're creating a membership site, it's also a good idea to have an SSL certificate so that your members can login securely. You'll also need an SSL certificate if you're accepting credit cards on your website. Turn on Force secure checkout by ensuring the checkbox is ticked.

WooCommerce Settings Checkout Options

Since I'm using the Stripe Payment gateway, I need to enable this option. Tick the Enable Stripe checkbox on the Stripe page under the Checkout tab in your WooCommerce Settings. Also add in your Live & Test API Keys so that your site can communicate with the gateway.

Not all payment gateways support automatic recurring payments but you can still allow customers to pay their subscription manually by accepting manual renewals. Their subscription is simply put on-hold until they login and pay to renew it. In Australia, PayPal, Braintree, eWay, NAB Direct Post, PIN Payments and Stripe all support automatic payments via subscriptions. If you're in another country, check out the complete list of all the other payment gateways that support automatic recurring payments.

To accept manual renewals, tick the Accept Manual Renewals checkbox on the Subscriptions tab in your WooCommerce Settings.

WooCommerce Subscriptions

You can specify the way your content is restricted. For non-members, you can choose to hide your content completely, only show it on archive pages or redirect to a landing page. If you select the Hide content only option, you have the option to show or hide an excerpt from the protected content.

Select how you want to protect your content using the Content Restriction Mode dropdown on the General page under the Memberships tab in your WooCommerce Settings. Depending which option you select, more options may appear below this field.

WooCommerce Settings Memberships General Options

You can also hide restricted products from your shop catalogue using the Hide restricted products checkbox on the Products page under the Memberships tab in your WooCommerce Settings.

WooCommerce Settings Memberships Products Options

Content Setup

Whenever you create a website, whether it's for yourself or for a client, it always helps to have some sample content whilst building the site. This is especially true when working with eCommerce or membership websites.

For my test site, I’ve create some Blog posts that will be for members only. I’ve assigned them Basic, Gold & Platinum Categories so that I can easily distinguish which membership plan they below to. Membership isn’t just restricted to blog Posts though, you can also restrict pages, custom post types and WooCommerce products.
WooCommerce Memberships Sample Content

Creating Subscriptions

WooCommerce Memberships can be used with or without WooCommerce Subscriptions. WooCommerce Subscriptions enables you to sell recurring subscriptions (eg. Weekly, Monthly, Yearly), provide free trials as well as the ability to delay some/all content until after a trial period (often called content dripping). Members can also easily upgrade/downgrade memberships as well as pause memberships.

Creating a subscription is just like creating a regular WooCommerce product. After selecting the Products > Add Product menu option, you add your Product Title, Product Description, Short Description & Featured Image.

Add WooCommerce Subscription Product

In the Product Data panel, select Simple Subscription (or Variable Subscription) and make it a Virtual product. You can then set your Subscription Price per period. The Subscription Price is quite flexible. You can choose to set a price per Day/Month/Week/Year or even every 2nd, 3rd, 4th, 5th or 6th Day/Month/Week/Year. You can also set how long your subscription should last (up to 90 days/52 weeks/24 months/5 years/All time). There's also the ability to charge an optional Sign-up Fee and whether your subscribers will receive a Free Trial period.

Add WooCommerce Subscription Product Data

Creating Memberships

Creating Membership Plans allows you to specify how your content is accessed. Create a new Memership Plan by clicking the Add Membership Plan button under the Membership Plans tab on the Memberships page. When you create a new Membership Plan you need to select the product that members need to purchase to get access to your content. If the subscription is cancelled, put on hold or the payment doesn’t go through, the membership will become inactive. For my Gold Membership Plan, customers will need to purchase the Gold Membership product.

Add Membership Plan

For each Membership Plan you need to specify what content your members will get access to. You can restrict content based on Posts, Pages, Categories or Tags. You can also specify whether members get access straight away or after a certain time (or trial). Since I'm creating a Gold membership in this example, I want to give them access to all the Gold Categories and the Basic Categories.

Restrict Membership Content

You can also restrict access to certain products so they’re only available for plan members.

Restrict Memberships Products

You can provide plan members with discounts to certain products or product categories without having to set up coupons. Discounts can be a Percentage (%) or Dollar ($) amount.

Memberships Purchasing DiscountsYou can also restrict access to your content on each Page or Post by using the Memberships panel.

Memberships Panel

Managing your Site

After setting up your Subscription products and Membership Plans, you're now ready to start selling! When a customer purchases one of your Subcription products they'll be assigned to the relevant Membership Plan which then enables them to see your protected content.

Membership ProductsYou can view all your Subscriptions in your Dashboard on the WooCommerce > Subscriptions menu. Hovering your cursor over each row gives you the ability to Suspend or Cancel each subscription.

Manage Subscriptions

You can also view all your Members in your Dashboard on the WooCommerce > Memberships menu. Hovering your cursor over each row give you the ability to Edit, Pause, Cancel or Delete each member.

Manage MembersIf you need to, you can also edit a member’s membership plan. If you wish to Pause or Cancel a membership with a subscription, you should do this via the Subscriptions page, rather than the Memberships page.

Edit User MembershipJust like any other WooCommerce product, you can view all your Orders in your Dashboard on the WooCommerce > Orders page.

View WooCommerce Orders

Conclusion

WooCommerce Memberships is a great solution, whether you need to setup a standalone membership site or a combined Membership & eCommerce website. It's extremely easy to configure and with the power of WooCommerce, provides heaps of flexibility.

I hope you've found this useful and if you've had any experience in setting up a memberhsip site yourself, I'd love to hear how you went about it. Did you use WooCommerce Memberships or did you go with one of the many other solutions out there?

Links to Remember

WooCommerce

WooCommerce extensions

Subscription Payment Methods & Gateways
WooCommerce Memberships

WooCommerce Subscriptions


2 responses on “Building a Membership Site with WooCommerce Memberships

    1. Anthony Hortin Post author

      At their current prices, you’d be looking at US$348 for both the WooCommerce Memberships and WooCommerce Subscriptions plugins. Of course, there’s other things that you’d need to take into account as well, such as;
      – The cost of a theme (do you plan on buying one, building one or just using a free one)
      – Payment methods (are you using PayPal which is free or some other method which might require a paid payment gateway plugin)
      – Do you plan on setting the site up yourself or getting someone else to set it up

      As you can see, “cost” doesn’t just take into account the price of a few plugins as there’s lots of other things to consider.