Some membership sites will need the ability to create course or content schedules and time the release of these schedules based on how long a customer has held a site membership. We’ve written about several plugins that do this already. However we have one today that’s a bit more specialized, and focuses on flexible content restriction rules instead of content schedules: Restrict Content Pro.
Restrict Content Pro (RCP) is available from Pippin’s plugins for $42 to $132, depending on the license type you’ll need. There’s also an unlimited purchasing option at $155 that includes all extensions, which is a good value if you’ll be using more than one extension for RCP. Each license purchase includes updates for a year and access to excellent support.
Our Restrict Content Pro Review will detail some of the major features of the plugin, how it can help you create a WordPress membership site, and what usage will look like for both you and your customers.
Restrict Content Pro provides the ability to sell content access via set-length or subscription memberships to your site. You can restrict pages, posts, categories, and custom post types so that non-members can’t access your content, and manage your members from within your WordPress admin.
RCP also includes helpful management tools for your membership site, such as the ability to create discounts that can be applied to any new membership or subscription.
(However, be aware that discount codes are case sensitive, so you should pass this information on to prospective members.)
You’ll also be able to view reporting on new signups and revenue over time, as well as restrict content on your site based on user role, membership / subscription, or access level.
Installation and general setup is easy, and this step took me about 12 minutes. I’d recommend starting off with the general settings under the new Restrict menu. Here you’ll set up your payment details and enter your licensing key.
You can then create content restriction messages to display to non-members (or members who do not have access to content). These provide an easy way to tell customers what they need to do to become a member, and you should direct them to a page they can use to register for your membership.
The only downside to setting your messages is that you can’t display which membership or subscription will grant access to the content. For example, if content is restricted to only one of your available memberships, customers may end up purchasing the wrong membership. As a result, you may want to show an excerpt of the post and include which membership the post is for in this excerpt.
Next, you’ll want to set up your Registration settings. If you haven’t set up pages for the plugin yet, I’d check out the shortcode documentation and ensure you’ve created a page with the
[register_form] shortcode, then select this under your Signup Form settings. Pages aren’t automatically created, so the knowledge base is a good detour to help out with setup. I would have liked to see more data on membership statuses and member management, but if I’m being honest I also didn’t watch the getting started videos (which may be what you prefer to use and could help get you up and running).
One setting I’d pay special attention to on this page is the auto-renew setting. If you force auto-renewals, this won’t inform customers automatically that they’ll be charged again for the next period (and until they contact you to cancel the membership). I’d recommend informing customers if you force auto-renewals or allowing them to opt-in to auto-renew instead of forcing it.
There are a couple of other settings pages you’ll wrap up the general setup with. You can configure your invoice template, and invoices can be printed by customers or by you from the “Restrict > Payments” menu item.
One of my favorite things about Restrict Content Pro is the ability to configure your email content for several types of lifecycle emails. You can create content and use merge tags to include membership information in any email. The time it takes you to set up emails will vary depending on which emails you want to send, and how long you take to write the email content.
You can disable any of these emails from being sent if you choose not to send them, but the following emails are used by the plugin:
- Active Subscription Email (member becomes active)
- Cancelled Subscription Email
- Expired Subscription Email
- Expiring Soon Email (+ set how far in advance to send)
- Free Subscription Email (for a free signup)
- Trial Subscription Email (for when a trial starts)
For example, you could gather some very valuable customer data by soliciting feedback with your new member email. I’ve borrowed this tactic from Groove for onboarding emails, and have gotten great information from the responses when I’ve used it. Here’s an example template you could use:
Hey %firstname%, First, thanks so much for signing up for a %subscription_name% membership at %blogname%! Your payment of %amount% has been received, and your subscription is currently set to expire on %expiration%. If you don't mind, could you tell me the number one reason you signed up for this membership by replying to this email? I'd love to hear about what you expect to ensure that you get the most out of %blogname% :). Thanks! Beka Founder, %blogname%
You can customize the subject and content of each email, and can also determine how far in advance the “Expiring Soon” reminder email is sent.
Now that your general settings have been created, you’ll need to create membership or subscription levels. This part of setup is also fairly quick, and I had some membership levels ready to go in about 7 minutes.
You can create a membership with length and pricing in terms of days, months, or years. Whether this is a renewing membership or not will be up to customers if you allow them to auto-renew. Regardless of whether they do or not, the pricing will be for the length specified. If you set memberships for one month, then enter the price for one month. If customers don’t auto-renew a one-month membership, then their accounts will simply expire after one month or they can manually renew.
When you create each subscription or membership level, you can charge sign up fees or offer sign up discounts, and determine what user role new members can have (it may be useful to create a customized “Member” role if you’d like to add capabilities to member accounts).
Membership level setup doesn’t afford you the ability to offer a free trial period as part of a new subscription. As there’s no content dripping or scheduled release of content available, this isn’t necessarily a bad thing, as a trial would allow a member to view and potentially download all content without paying for a membership. Instead, I’d recommend creating a free trial with a small content offering as a “trial” membership, as customers can then upgrade to a paid membership.
You can also manually add memberships. When a membership has been manually added, you can create a free or complimentary membership, a normal membership, or provide a trial membership (by checking “Does this user have a trial membership?”) so a customer can test out a membership to your site. However, I’m not sure how a trial membership differs from a free membership and wasn’t able to find out the difference in the docs.
Now that our settings have been configured and we’ve got some memberships set up, we can restrict our content to those levels. There are three main methods you can use to restrict content: the restriction meta box, restricting a post category, or restricting blocks of content with the restrict shortcode. The time needed to create your content restriction rules will vary based on how much content you’re restricting.
Unfortunately, there’s no way to bulk-add rules to posts, so you’ll have to configure restriction on a per-category basis or per-post basis.
Any post, page, or custom post type (such as portfolios or products) can use the restriction meta box to restrict content. This will be added to the “Edit Post” (or page) screen.
Here you can determine which memberships should grant access to the content. By selecting a membership, this content will no longer be public, and will instead only be accessible to users with the appropriate membership. You can also restrict content based on the user’s role, which is useful even if you’re not selling memberships (for example, you could use this to display pages, forms, etc., to your authors only).
Content can also be restricted based on access level. However, as access level can’t be changed outside of the membership or subscription level (for example, adjusted for a particular user), this seemed like a redundant part of the plugin. If you set an “access level” for a post, you could achieve the same thing by selecting the membership(s) with this access level. It seems like it could probably make managing over 15 or so memberships slightly easier because you could just set an access level restriction and be done with it, but this caused me a bit of initial confusion in set up.
If you’d like to use some broader rules for post restriction, you can also restrict entire post categories by editing the post category. When you do so, you’ll now see new restriction rules added that will apply to the entire category. These will not be overridden for an individual post if you then change the post settings.
Finally, you can restrict portions of a post, page, or any content using the
[restrict] shortcode. This shortcode will let you restrict content based on user role, access level, or membership plan. You simply wrap all content that should be restricted in the shortcode, which is a great way to hide parts of your post (such as videos or infographics). The shortcode looks something like this in use:
[restrict subscription="2,3"]Content to only show members[/restrict]
Signing up for a membership is simple for customers. The registration form asks for the needed information, allows customers to select a membership and opt to auto-renew (if you have this enabled), and then sends the customer to PayPal to complete the purchase.
Once customers are registered, they’ll be able to access any content assigned to their memberships or subscriptions.
The plugin has several shortcodes that can allow members to view and manage their accounts, but there’s no “members area” created. I used several of the RCP shortcodes to build a “Members Area” page instead.
For non-logged-in users, the login form is displayed:
For a logged-in member, I wrapped a tabbed “Member Area” in the
[restrict] shortcode and used the Stag Tools plugin to create tabs for each account management tool. This allows members to view and renew subscriptions, or update account information.
Note that I’ve included a “Member Content” tab, which uses the
[paid_posts] shortcode to show all posts that require a membership. These won’t necessary correspond to what a member has access to (based on his or her level), but could be helpful to show what the membership grants access to.
Members also can’t cancel their own memberships or upgrade them if they’re auto-renewing, so the “Members Area” would be a good place to provide information on how to contact you to cancel a membership.
Managing members with Restrict Content Pro is easy to understand, but could be more streamlined. You’ll have a “Members” list under the Restrict menu where you can view any member for your site. They’ll be organized by the membership status.
You can also filter this list by subscription and whether the membership is recurring to see only the members you want to. You can also manually add memberships for a user here and view or edit your members.
This is where member management was fragmented for me, as there are separate screens for viewing and editing members which show much of the same information. You can view member details and notes, or use the “Edit” screen to change membership status, level, expiration, and add notes about the member.
Restrict Content Pro already includes useful tools like discounts and a built-in exporter.
However, I’m not a fan of using PayPal for payments, so fortunately there are some other payment integrations and add-ons available to give you more functionality, such as a Stripe integration for payment processing.
RCP is also very developer-friendly, and there are lots of hooks available to customize the plugin as needed.
- Can create set-length or auto-renewing memberships
- Other payment integrations available besides PayPal
- Can charge sign up fees or offer a sign up discount
- Can provide discount codes for promotions
- Ability to create complimentary memberships & add member notes
- Can restrict pages, posts, categories, and custom post types (i.e., products)
- Very flexible content restriction rules (by user role, membership, access level)
- Low price point for single license
- Restriction shortcode lets you hide blocks of content
- Extensible and developer-friendly
- Coupons are case-sensitive
- Forced auto-renewals don’t automatically inform the customer that they’ll be renewed daily / monthly / yearly
- No way to create trial periods (can do trial memberships)
- Member management could be more streamlined to view and edit members in the same place
- No way to bulk-add restrictions to posts or pages
- Customers can’t cancel or upgrade auto-renewing memberships
- No automatic “Members Area” created
- No content dripping
Restrict Content Pro is a useful plugin for creating a membership site that requires flexible content restriction without content dripping (a delayed release schedule). The ability to restrict content based on user role is pretty unique and can help you manage several types of memberships and content for members and other site users.
I also liked the ability to create discounts as well as complimentary memberships, as you may want to manage your “free” memberships differently than paid memberships.
The email settings are also great, as I liked the ability to customize the content for each email completely.
There are some downsides, such as member management or the lack of a “members” area / account page, but at pricing that starts at $42, Restrict Content Pro offers a tremendous value for WordPress membership sites.