How to Create A Membership Site in WordPress

Creating a membership site is an excellent way to deliver premium content and exclusive facilities to your paid customers. This is also a proven strategy to establish a steady source of income and build a loyal follower base.

If you have always wanted to create a membership site, this post will be a great starting point for you. This post will introduce you to the necessary steps to create a membership site in WordPress.

I will use Paid Memberships Pro to create the membership site. Despite the name, this is a free plugin. Install and activate the plugin on your site, and you will notice a new menu item titled “Memberships” on your dashboard.

Setting up the Plugin

You need to set up the plugin before adding any membership plan. Let’s check out the available settings options and configure these first.


The plugin needs to create a few pages to display the account, billing, checkout, confirmation, invoice, and levels information to the visitors. Go to Memberships > Page Settings to set up these pages. You can create the pages manually or let the plugin create these automatically.


You will find the payments options on the Memberships > Payment Settings page. The plugin supports all the common payment methods including PayPal, Stripe,, 2Checkout, and Braintree. Choose your preferred method from the “Payment Gateway” field. Also, make sure you are choosing “Live/Production” in the “Gateway Environment” field.

Depending on the payment gateway, you may have to provide your account details, API details, secret key, license key, and so on. Below, you can choose the default currency and define the sales tax options for your store.


You can configure the email options from the Memberships > Email Settings page. The first two options enable you to customize the sender email address and name.

Then, you can choose admin email notifications for various events like a member checks out, a membership level is changed, a user canceled the account, a user updated the billing information, etc.

Advanced Settings

In the Memberships > Advanced Settings page, you will find some additional setting options to customize the message for logged in non-members, logged out users, and the RSS feed.

Adding A Membership Level

Now that you have configured the plugin options, it is time to add the membership plans. To add a new plan, go to Memberships > Membership Levels, and click the “Add New Level” button.

First of all, provide a name for the membership level. Next, provide a description and the confirmation message to welcome new members.

“Billing Details” allows you to set up the payment options. You can define an initial payment that will be collected during registration. If this is a recurring plan, check the “Recurring Subscription” box.

In “Billing Amount,” you can define the membership cycle and price. It is also possible to offer a trial period with a custom amount.

“Other Settings” includes two options to disable new signups and to set an expiry time for the membership plan.

Lastly, “Content Settings” allows you to choose which content categories this membership plan will have access to.

Click “Save Level” to create the new membership plan.

Setting up Discounts

Paid Memberships Pro comes fully equipped with the necessary options to offer occasional discounts to your members.

To add a new discount, go to Memberships > Discount Codes, and click the “Add New Discount Code” button. This takes you to a page like the following –

The first option enables you to provide a coupon code for the discount. This is the code the visitors will use to get the discount.

Then, you will find two separate fields to define the start and expiry dates for the discount. If you want the code to be used a specific number of times, you can do that in the “Uses” field.

Check out which membership level will enjoy this discount. This will open the pricing details for that membership plan. Set the discounted rate for the initial payment, billing amount, and the trial amount.

Finally, click “Save Code” to save and enable the discount code.

Managing the Members

You will find a list of your members on the Memberships > Members List page. This is how the page looks like –

For each member, you will find out the username, first and last name, email address, billing address, membership type, membership fee, joining date, and the expiry date. Click on any member name to view and edit the profile. Most importantly, you can change his/her membership plan from the profile.

Checking Our the Reports and Orders

There are separate pages to check out the reports and orders on your membership site. You can access the reports from the Memberships > Reports page.

You will find detailed statistics for the visits, views, logins, the number of signups and cancellations, total sales and revenue, etc. from the reports page.

The orders are located on the Memberships > Orders page. The page offers the order code, username, membership level, total amount, payment method, transaction ID, status, date, etc. for each of your orders.

Extending Your Membership Site

While Paid Memberships Pro offers a comprehensive package in the free plugin, you can extend the basic features by using add-ons.

There are two types of add-ons for the plugins – free and premium.

The 15 free add-ons enable you to integrate your site with third-party services like AWeber, Constant Contact, MailChimp, MailPoet, Infusionsoft, Kissmetrics, ConvertKit, bbPress, WooCommerce, etc. Go to Memberships > Add Ons to check out the free add-ons.

On the other hand, the premium add-ons allow you to enjoy superior admin, content, checkout, email, and payment method options for your membership site.

Final Words

So, that’s how you create a fully functional membership site in WordPress. Now that you have this step-by-step plan, what are you waiting for? Choose a domain, get a hosting, and get started with your membership site this week.

By the way, do you know about any other reliable plugin to create a membership site in WordPress? Let me know in the comments below.


I started this tech blog back in 2011 as a place to write down processes I took to fix my client systems and network. Now I write some tips and tricks to help others with the tech issues that one might encounter.

You may also like...