Apps Ballance Cash_2 Chat Checkout Click Code Cog_Wheels Compose_email Conference Contacts Earth Edit_File_1_ Email Email_2 File Folder_2 Gift Group Group_2 Help ID ID_2 Key Keys Laptop_Store Like_1_ Link Lock Log_Out Map Marketing Mobile_UI Navigation POS Partnership Profile Safe_2 Search_User Secure_Files Settings Share Shield Shield_2 Shopping_Cart Support_Male Trash Type_pin User_female User_male logo copy

How to Build a Membership Site with WordPress (2026)

Iain Updated on October 14, 2026

You can build a membership site with WordPress using one plugin that handles sign-up, payment, members-only content and member profiles. This guide builds a paid membership site with the free WP User Manager plugin and Stripe: members pay a monthly or yearly fee when they register, manage their own billing, and lose access if they stop paying. Each step says up front where a paid addon comes in.

What a membership site needs

Every membership site, whatever it sells, comes down to five jobs:

  1. Sign-up: a registration form that creates the member’s account.
  2. Payment: a one-off fee or a subscription, taken at sign-up and renewed automatically.
  3. Access: content that only members (or only paying members) can see.
  4. Self-service: an account page where members update their details, change plan, update their card and cancel without emailing you.
  5. Community (optional): profiles and a member directory, so members can find each other.

WP User Manager covers the first four in the free plugin, plus profiles and directories for the fifth. The paid addons add whole-post restriction by product, extra registration forms and more field types.

Plan your membership first

Decide two things before you open WordPress:

  • What members pay for. Courses, premium articles, downloads, a community, or access to people. This decides what you put behind the gate.
  • Your tiers. One paid plan is the simplest start. If you want a monthly and a yearly price, or a basic and a pro level, each one becomes a product (or price) in Stripe.

Keep tiers few. Two or three is plenty, and you can add more once you know what members value. For the strategy and design side, with examples from real sites, see planning and designing a membership website.

How to build a membership site with WordPress

Step 1: Install WP User Manager

Install and activate WP User Manager from wordpress.org (see installing from wordpress.org if you need help). On activation it creates the pages a membership site needs: login, registration, password reset, account and profile. You’ll find them, and can change them, in Users > Settings > General.

Step 2: Connect Stripe

Go to Users > Settings > Stripe and click Connect to Stripe. Start in test mode (the Gateway Mode setting) so you can sign up as a test member before taking real money.

The free plugin uses Stripe Connect, which adds a 2% fee per transaction on top of Stripe’s own fees. The paid Stripe Pro addon uses your own Stripe API keys and removes that fee. Either way, also set up the Stripe webhook: it’s how WordPress hears about renewals, failed payments and cancellations.

Step 3: Create your membership plans in Stripe

Your plans live in Stripe, not WordPress. In your Stripe dashboard, create a product for each tier and give it a price:

  • a recurring price for a subscription (monthly or yearly), or
  • a one-off price for lifetime access.

Back in Users > Settings > Stripe, click Fetch Stripe Products so WordPress picks them up. Our guide to accepting recurring payments with Stripe shows the Stripe side in more detail.

WP User Manager logo

Get Started with the Best WordPress Membership Plugin Today

Connect, Manage and Build your Membership Site

Step 4: Take payment on the registration form

Go to Users > Registration Forms, edit your form and open its Payment tab. Choose your plans under Stripe Product: one product to charge everyone the same, or several to let people choose their plan as they register.

The Payment tab of a registration form, with two Stripe products selected

On the form’s Settings tab, set the Registration Role: the WordPress role new members get. A role such as “Member” makes it easy to tell members apart from other users and to restrict content to them.

New members pick a plan on the form, pay on Stripe’s checkout page, and come back to your site with an account.

A registration form offering a choice of Basic and Pro membership plans For more fields on the form (a phone number, a company, a dropdown), see creating a custom registration form.

The free plugin gives you one registration form. If you want a free tier next to a paid one, or a different role per plan, you need a form per tier: the Registration Forms addon (paid) adds multiple forms, and multi-step forms.

Step 5: Restrict content to members

Now decide what’s members-only. There are two levels.

Parts of a page, in the free plugin. Wrap members-only content in a shortcode such as [wpum_restrict_logged_in] or [wpum_restrict_to_user_roles roles="member"], or select any block in the block editor and use the WP User Manager – Restriction panel to show it only to certain roles. Visitors see a message with links to log in or register. Our guide to creating a members-only area walks through both.

Whole posts, pages and categories, with the addon. The Content Restriction addon (paid) adds a WP User Manager – Content Restriction box to every post and page. Tick Restrict access to this post, then choose who gets in: by role, by user, or by Restriction by Stripe Product, so only members who bought that plan can see it. That’s how tiers work: a “Pro” course page restricted to the Pro product stays locked for Basic members.

The Content Restriction box on a post, restricted to members on the Pro Membership plan

The same box can hide restricted posts from menus, archives and RSS feeds (Restrict in Menus and Restrict Everywhere), so locked content doesn’t leak through your blog page. See the content restriction feature for everything it covers.

Step 6: Let members manage their own billing

You don’t need to build anything for this. Members who signed up with a plan get a Billing tab on their account page. It shows their current plan, their invoices to download, and a Manage Billing button that opens Stripe’s customer portal, where they update their card, switch plans or cancel.

The Billing tab on the account page, with the member's plan, a Manage Billing button and their invoices

To let members switch between plans there, list those prices under Eligible Products in Users > Settings > Stripe and in Stripe’s customer portal settings. Recurring subscriptions explains how they fit together.

When a member cancels, they keep access until the end of the period they paid for. When renewals fail, Stripe retries the card on the schedule in your Stripe settings, then cancels the subscription. Either way, once the subscription ends WP User Manager withholds their role’s access, and when they visit the site they’re sent to the Billing tab with “An active subscription is required.” and a choice of plans to rejoin. You don’t need to remove anyone by hand.

Step 7: Add profiles and a member directory

If members should be able to find each other, give them profiles and a directory. Profiles come with the plugin: control who can see them in Users > Settings > Profiles, and whether they show a member’s posts and comments.

For a directory, go to Users > Users Directories, create one, choose which roles to include and whether to show a search form, then add it to a page with the User Directory block. Our member directory tutorial covers the options, and the Custom Fields addon (paid) adds fields such as location or skills that members can fill in and you can show in the directory.

A WP User Manager member directory with search, sorting and a list of members

Step 8: Shape the member journey

A few settings make the difference between a site that works and one that feels finished:

  • Redirects. In Users > Settings > Redirects, send new members to a welcome page after registration, and returning members to the members’ area after login.
  • Emails. In Users > Settings > Emails, set the From name and address and your logo, so registration emails look like they come from you.
  • Menus. In Appearance > Menus (classic themes), each menu item has a Display to setting, so members see a link to the members’ area and visitors see “Join”.

Test it as a member

Before you switch Stripe to live mode, sign up with a test card in a private browser window and check each step: the form, the payment, the redirect, a members-only page, the Billing tab, and what happens when you cancel in the customer portal. It takes ten minutes and catches most problems before a real member does.

What WP User Manager doesn’t do

Being clear about this up front saves you a migration later. WP User Manager takes payments through Stripe only (or through WooCommerce, with the WooCommerce addon), so there’s no PayPal option. There’s no content dripping (releasing lessons week by week) and no built-in tax or VAT invoicing beyond what Stripe provides. If those are central to your plans, a dedicated course or membership platform may fit better.

Get started

Everything up to whole-post restriction is in the free plugin: download WP User Manager from wordpress.org, connect Stripe in test mode, and put your first plan on the registration form. When you need to lock whole posts to paying members or run several tiers, the Content Restriction and Registration Forms addons are in our plans.

Not ready to buy yet?

Get the Black Friday price before everyone else. We’ll email you when early access opens in November.

Iain I’m a WordPress developer based on the south coast of England. I develop plugins like WP User Manager and Intagrate.
Comments