Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
25 Million+
Websites using our plugins
Years of WordPress experience
WordPress tutorials
by experts

How to Create a Paywall in WordPress (with Preview Options)

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

Do you want to create a paywall on your WordPress site?

A paywall allows you to monetize some or all your content with a subscription plan. This freemium model is already used by many top publications, including the NYTimes and the Washington Post.

In this article, we will show you how to easily create a paywall on your WordPress site and publish paid content.

Creating a paywall in WordPress

What is a Paywall, and Why Use One?

A paywall hides or locks your content until the reader pays to access it.

The Daily Telegraph's paywall

If you have lots of high-quality content, then this is a great way to monetize your site, particularly if you don’t want to sell ads on your WordPress blog.

Paywalls usually ask the visitor to buy an ongoing subscription so you can make money online blogging with WordPress over the long term. However, you can also charge a one-time fee for lifetime access.

Despite the name, not all paywalls ask for payment.

Some websites use a paywall to grow their email list by asking users to subscribe to their email newsletter or register for a free account.

New York Times asking for an email address but not payment

In many cases, paywalls offer a trial so visitors can access a limited amount of content for free. For example, readers might get 5 free articles before they need to buy a membership.

With that being said, let’s see how you can create a paywall in WordPress.

Creating a Paywall on Your WordPress Site

The easiest way to create a paywall is by using MemberPress. It is the best WordPress membership plugin that allows you to easily sell subscription-based products on your website, including access to premium content.

You can see our complete MemberPress review for more details.

First, you need to install and activate the MemberPress plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, go to MemberPress » Settings and enter your license key into the ‘License Key’ field.

Enter your MemberPress license key

You can find the key by logging in to your account on the MemberPress website. It’s also in the email you got when you purchased MemberPress.

After entering this information, click on ‘Activate License Key.’

Next, you’ll need to set up a way to easily accept credit card payments in WordPress. The good news is that MemberPress supports several popular payment gateways.

You can add a payment method by going to the MemberPress » Settings page and switching to the ‘Payments’ tab.

The MemberPress payment settings page

Here, click on ‘Add Payment Method’ and open the ‘Gateway’ dropdown.

You’ll see that MemberPress supports PayPal and Stripe payments. If you’ve purchased a MemberPress Pro plan, then you’ll also be able to use

Adding a payment gateway to a MemberPress paywall

After choosing a gateway, MemberPress will show all the settings you need to configure this payment method.

For example, if you are adding PayPal payments to WordPress, then you’ll need to enter your PayPal email address.

Entering details for your chosen payment method

When you are happy with how the payment method is set up, don’t forget to click on the ‘Update Options’ button to store your changes.

You may be able to get more sales and improve the customer experience by allowing users to choose a payment method. To add more gateways, simply click on ‘Add Payment Method’ and repeat the same process described above.

Creating a Subscription Plan for Your Paywall

Now you’ve completed the initial setup, it’s time to create the paywall. To do that, you’ll need to create a membership level in MemberPress.

Simply visit the MemberPress » Memberships page and then click the ‘Add New’ button.

Add new membership

On the next screen, you need to give the membership plan a title. This will appear in your admin area and will also be visible to the people who visit your WordPress website.

Next, type how much this membership will cost into the ‘Price’ field. In the following image, we’re creating a ‘Premium Subscription’ plan and set the price to $5.

Setting up the new membership, including the price

If you want to create a free membership, then you can leave the price at 0.00. For example, your goal might be to do lead generation by collecting email addresses.

You can also choose between ‘Recurring’ and ‘One-time’ payments using the ‘Billing Type’ dropdown menu.

By accepting recurring payments in WordPress, you can automate the billing process and save a lot of time. It also means you don’t have to send invoices manually.

One-time payments don’t renew automatically, which may help put your audience at ease and make them more likely to sign up. Every site is different, so you may want to try different settings to see what works best for you.

If you do select recurring payments, then you can choose from monthly, yearly, weekly, quarterly, or set a custom interval.

If you select ‘One-Time,’ then you can choose ‘Lifetime’ or set an expiration date, which can either be a calendar date or a length of time, such as one month since the person purchased their membership.

Optionally, you can provide a description for your membership plan in the text editor and customize it further in the ‘Membership Options’ box.

For example, you can create a custom thank you message or a custom welcome email.

Membership options

Pro Tip: If you do create a membership welcome email, then it’s a good idea to test that this email sends properly. If the email doesn’t arrive in your inbox, then we recommend using an SMTP service provider to improve your email delivery rates.

When you are happy with the membership settings, just click on the ‘Publish’ button to make the membership level live.

You can create multiple membership plans with different settings. For example, you might also create a VIP plan that gives users access to additional content and features.

To create more membership levels, simply follow the same process described above.

Creating a Pricing Page

MemberPress makes it easy to display information about all the plans visitors can buy.

To create a pricing page, go to the MemberPress » Groups page and click ‘Add New.’

How to create a pricing page for your paywall site

First, you need to type in a title for the group plan page, which will be visible to visitors.

After that, scroll down to the ‘Group Options’ box. You can add the memberships you want to display on the pricing page.

Create a pricing plans for your membership subscriptions

You can also select a theme for the pricing table. MemberPress comes with a few ready-made designs to choose from.

When you are happy with how the page is set up, just click the ‘Publish’ button to make it live. If you click on the ‘View Group’ link after publishing it, you’ll see the pricing and plan page.

An example of a pricing page, created using the MemberPress plugin for WordPress

Adding Content Behind The Paywall

Once you’ve created one or more membership plans, it’s time to choose the content that you’ll hide behind the paywall.

MemberPress is a powerful plugin that lets you restrict access to your content in lots of different ways. For example, you can restrict WordPress pages by user role or even create a private client portal.

To place content behind a paywall, go to MemberPress » Rules and click on the ‘Add New’ button at the top.

Creating a new rule

Next, you need to select the content that you want to restrict.

MemberPress lets you restrict access to specific pages and posts. For example, you might lock the latest post on your WordPress blog so only registered members can access it.

Adding a paywall to a single WordPress post

However, restricting access to each post or page separately can take a lot of time.

If you have lots of content to restrict, then MemberPress also lets you create rules for entire categories and tags. This lets you restrict access to sets of related content.

For example, you might add content locking to all posts tagged ‘Premium Content.’

Adding a paywall to an entire WordPress category

For more information about categories and tags, please see our guide on how to add categories and tags in WordPress.

When you are ready, open the ‘Protected content’ dropdown and choose the type of content that you want to restrict, such as ‘A Single Post,’ ‘Posts Categorized,’ or ‘Child Pages Of.’

Depending on the option you choose, you’ll get access to some extra settings. For example, if you select ‘Posts Categorized’, then you can type in the category name.

After that, scroll to the ‘Access Conditions’ section and select ‘Members.’

Adding a paywall to your WordPress website

You can then choose the membership this rule will apply to.

By default, if a non-member tries to view the restricted content, then they’ll see a ‘You are unauthorized to view this page’ message, as you can see in the following image.

The default message that visitors will see if they aren't subscribed and logged in

It’s a good idea to customize this message so visitors know this content is behind a paywall rather than simply unavailable. To do this, scroll to the ‘Unauthorized Access’ section and then open the ‘Unauthorized Message’ dropdown.

You can now choose ‘Custom’ and type a message into the post editor.

Changing the unauthorized access message

It’s also smart to add a link so people can easily buy a membership and unlock the paywall.

After that, you may want to show an excerpt of the locked content, as this will make visitors want to read more. To create a paywall teaser, open the ‘Excerpts’ dropdown and choose how much of the post you want to show, such as the first 100 characters or the post excerpt.

Setting a post excerpt limit

When you are happy with how the rule is set up, scroll to the top of the page and click on ‘Save Rule’ to make the paywall live.

Now, go back to Posts » All Posts in your dashboard, and you should see that some or all of your posts are now marked as subscription-only, based on the rule you created earlier.

Posts with their access level listed

For a more detailed look at the MemberPress settings and features, check out our ultimate guide to creating a membership site.

Giving Non-Members a Limited Number of Free Views

You may want to let non-members see a certain amount of your content for free. This is a great way to promote your premium content and get more members.

You can create a free trial in MemberPress by going to MemberPress » Settings and then clicking on the ‘General’ tab.

Settings - General in MemberPress

Here, you’ll need to scroll to the ‘SEO & PayWall’ section and check the ‘Enable PayWall’ box.

This adds a new section where you can type in the number of paywall-protected pages and posts that non-members can see before it triggers the paywall.

Enabling the paywall feature in MemberPress

Note: On this screen, you can also give search engines access to your protected content by checking the ‘Authorize Search Engines’ box. This helps your paywalled content rank in the search results, which can get you more visitors. However, this setting doesn’t work if you have a caching plugin enabled.

When you are happy with the changes you’ve made, scroll to the bottom of the page and click on ‘Update Options.’

We hope this article helped you learn how to create a paywall on your WordPress site and add a free views option. You may also want to see our guide on how to increase your blog traffic and our expert pick of the must-have WordPress plugins to grow your site.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

10 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Jiří Vaněk says

    Thanks for the tutorial. I have previously considered the concept of a free website and paid content on hero hero or patreon. However, after watching this tutorial, I am really starting to realistically think about the fact that even paid content will be part of my website on one platform. Great, thanks for your work.

    • WPBeginner Support says

      It would depend on what tools you are using to display ads on your site and where the ads are as there are different possible tools that can be used.


      • Chris says

        Google Adsense would be the one for now.

        One last question. Do Subscribers have to actually login to a WordPress account to view the restriced or paid content?

        • WPBeginner Support says

          You could use widgets that hide for logged-in users to allow for what you’re wanting and yes, users would need to log in to their account to see your content.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.