Restrict Content is a powerful WordPress membership plugin that allows you to monetize content access. As a content restriction plugin, Restrict Content gives you full control over who can and cannot view content on your WordPress site. As a design tool, Restrict Content helps you create pages that dynamically display content based on user role or membership level.
Restrict Content can power a full-fledged membership or subscription website with multiple membership levels, or just hide a page or post. Restrict Content makes it simple to limit access to posts, pages, media, custom post types, and even API requests. This gives you full control over who can and who cannot view content on your WordPress site.
Restrict Content is completely customizable with features built for developers and extensible with a library of Pro add-ons.
💪 As Powerful as a WordPress Membership Plugin … or as Simple as a Content Restriction Plugin
Use Restrict Content as a WordPress membership plugin to:
- Create unlimited membership levels or subscription packages. Easily create free, trial, and premium memberships or subscriptions. Each plan can be used to set a user’s access to specific content on your site.
- Sell memberships and collect payments on your WordPress site. You can even collect payments with Stripe in the free version!
- Control content access for your members. Decide who can access specific pages, posts, archives, and even WordPress blocks based on a member’s plan, status, and more.
- Manage your members or subscribers. Restrict Content lets you easily keep track of your memberships through an intuitive admin interface. Quickly view active, expired, cancelled, and pending memberships. Memberships can be added manually, modified in bulk, and easily searched for when you need to locate a specific record. Each membership can also be manually modified at any time.
- Allow members to manage their account with self-service account management. Members can easily view their account status, renewal or expiration date, and options to upgrade or cancel their account. They can also access a complete history of payments made to their account, including PDF invoices for each payment. Finally, members are able update their account name, email, and password through an included profile editor.
- Offer prorated memberships. Customers can also upgrade and downgrade between membership levels at any time. These upgrades and downgrades are prorated based on how much the customer has already paid and how much time is left in their current membership.
- Auto-renew membership payments. Select whether membership payments should always auto renew or let the customer decide.
Use Restrict Content as a WordPress content restriction plugin to:
- Restrict access to your WordPress site based user role. Limit access to full content via a simple interface on the post, page, and custom post type editing screens.
- Control user access to content based on WordPress user role, access level(s), or membership level(s).
- Protect sensitive content.
- Clearly separate public content from private content
- Restrict access to entire pages or specific sections
- Let users register and login from the frontend of your site
“Most plugins that restrict content are heavy and need 3rd party commerce solutions like WooCommerce to work. Restrict Content Pro has EVERYTHING built-in: memberships, payment gateways and plenty of add-ons – a true, one-stop solution for membership websites!”
David Attard, CollectiveRay
Our feature-rich plugin comes with everything you need to restrict content and sell memberships from your WordPress site.
- 👥 Membership Levels – Set access level, duration (in days, months, years), number of renewals, price, signup fee, status, assign WordPress user role. Set any price (including free) or optionally set a sign up fee. Set the frequency and period, and specify a user role that will be assigned to members when they register.
- 🖥 Auto-Created Member Pages – Pages generated by the plugin include: Registration, Success, Account, Edit Profile, Update Billing Card
- 🔁 Auto Renewals – Select to let customer choose whether to auto renew, always auto renew, or never auto renew.
💳 Payment Gateways – Stripe and Manual Payments, PayPal (Pro), Authorize.net (Pro), Braintree (Pro), Custom (Pro).
- ↕️ Upgrade/Downgrade Membership – Allow members to change their subscription level at any time.
- ✉️ Member Emails – Paid membership activation email, free membership activation email, cancelled membership email, expired membership email, payment received email, renewal payment failed email.
- 📄 Payment Invoices – The payment invoice has a clean design and is printable. Customize with your logo, company name, address, email, header text, notes, and footer text
- 🪄 Prorated memberships – Allow members to pay the price difference when they upgrade.
🙌 Even More Features
✔️ Redirect Default Login URL – Force the default login URL to a custom URL.
✔️ Content Excerpts – Choose whether or not to show content excerpts to members without access to the content.
✔️ Import/Export Data – Whether you prefer to maintain your own records of your memberships database, you wish to run your own analysis, or you simply need to import membership records into another service or application such as MailChimp or Excel, Restrict Content allows you to export all membership records to a CSV at anytime.
✔️ Restricted Content Message – Customize the message shown to users who do not have permission to view the content.
✔️ Restrict access to WooCommerce products.
🏋️♀️ More Power with Pro Features
- 🏷 Discount code support – Discount codes allow you to provide your customers with special promotional codes that give them a discount on the purchase of a membership. Restrict Content Pro supports various kinds of discount codes and site administrators can easily create any number of discounts from the admin interface. Discount codes can be set up to provide a percentage discount or a flat rate discount. Each discount code is created with a name, description, unique code, maximum uses, and optional expiration dates.
- 📈 Detailed reporting – Restrict Content Pro provides a complete reports section where you can view the earnings of your membership website. You can view total earnings for any given period or drill down to specific membership levels.
- 🕵️♀️ Free trials – Allow prospective members to try a membership before they buy. Send emails to free trial users when their free trial is about to end.
- ✉️ Member Email Customization – Add a personal touch to all of your member emails with Restrict Content Pro.
- 🔒 Google reCAPTCHA – Protect your member login form from bots with Google reCAPTCHA.
- 🚀 34 Powerful Add-ons – All Restrict Content Pro plans come with all Restrict Content Pro add-ons to add more integrations and functionality to your site.
Upgrade to Restrict Content Pro now
🛠 Developer Features
Restrict Content Pro has been built with developers in mind. That means it is flexible, easy to extend, and chocked full of action hooks and filters, making it easy to modify and tweak to your specific needs. With clean and simple display options, Restrict Content Pro is designed to integrate perfectly with every theme without any custom CSS being necessary.
Extensive and easy to modify template files are included with Restrict Content Pro. If you have built a theme, for clients or general distribution, you can easily customize the display of registration forms, profile editor, account pages, and more through custom template files added directly to your theme’s folder.
Because of the huge number of action hooks and filters, Restrict Content Pro can be easily integrated with other plugins to help provide a more seamless experience for customers. This also makes it possible to build add-on plugins for Restrict Content Pro that extend its functionality.
✔️ Theme Integration – Designed to work with any theme.
✔️ Action Hooks & filters galore – Restrict Content contains a bunch of action hooks and filters, allowing you to easily customize the plugin to your specific needs. Check out our extensive developer docs for actions, filters, classes, constants, and functions.
✔️ Easy to Modify Template files – Making changes to Restrict Content Pro template files is a cinch. Make a copy of any plugin template file and drop it in your theme to override the plugin’s file with your own custom markup.
✔️ So Many Integrations – Restrict Content plays nice with a bunch of plugins and third-party services, including e-commerce systems like WooCommerce, lots of Pro payment gateways, email newsletter services, and much more!
✔️ REST API – Restrict Content Pro includes a complete REST API, allowing you to extend the plugin and its functionality beyond WordPress and into your web application. The possibilities for what you can do are nearly limitless!
✔️ WP-CLI Integration – Restrict Content Pro integrates with WP-CLI. Several commands are supported in order to speed up your workflow with batch processing jobs, creating memberships, and viewing customer information.
✔️ Debug mode for developers – Turn on error logging to help identify issues. Logs are kept in Restrict > Tools.
💳 Stripe payment processing support
It’s no secret that we believe Stripe is the best payment processor. Stripe currently supports 14 languages, over 35 countries and 135+ currencies. Check support for your country.
Hands down, Stripe has the simplest setup process and highest reliability we know of – and support for Stripe is included in Restrict Content. Stripe has a per-transaction charge which varies by country. See Stripe’s pricing page for more information. However, if you prefer a different payment gateway or your country does not support Stripe, we’ve got you covered…
Besides Stripe, we have several payment gateways available to Restrict Content Pro. Visit the following links to get more details for the payment gateway of your choice.
- Limit access to content with a shortcode. Example:
[restrict]This content is limited to logged in users.[/restrict]
- Limit access to content based on user role. Example:
[restrict userlevel="editor"]Only editors and higher can see this content.[/restrict]
- Display a registration form for new accounts on any page of your website with
- Display a login form for existing users on any page of your website with
🛒 WooCommerce integration
Restrict Content allows you to easily control who can view and/or purchase products in WooCommerce, the most popular eCommerce plugin for WordPress.
💬 Get reliable help
Restrict Content is backed by top-notch technical support from our full-time support team. We also have extensive documentation site available. If you’re looking for faster support via email, we encourage you to purchase a Restrict Content Pro license.
We check in on the The Restrict Content forum here on WordPress.org about once a week to help users with basic troubleshooting and identifying bugs. If you’re looking for premium, personalized support, consider upgrading to Restrict Content Pro.
All of our documentation can be found in the iThemes Help Docs.
🤔 Who is Restrict Content Pro for?
No matter what kind of membership site or plans you offer, Restrict Content Pro can be adapted to suit your business needs – and set up in many different ways, based on how you want to allow members to access your site’s content.
Here are a few examples:
- Member Blogs
- Group Accounts
- Club Memberships
- Job Boards
- Magazine Subscriptions
- Maintenance Contracts
- Private Communities
- Support Agreements
“RCP is always at the top of my list when helping clients choose a membership platform. In addition to being a great plugin today, the pace of improvement is impressive. RCP gets better and better all the time.”
Travis Northcutt, Member Up
💌 Email marketing service provider add-ons
With a Professional or higher license, you can connect Restrict Content Pro to any of the following email marketing service providers. This allows you to add members to your mailing lists for different membership levels as well as synchronize account details.
🔌 Other add-ons in Restrict Content Pro
- Group Accounts – Sell multi-member group memberships.
- Drip Content – Release content to members on a schedule.
- Custom Redirects – Specify where members are redirected on a per-membership-level basis.
- WooCommerce Member Discounts – Give members automatic discounts on purchases in your WooCommerce store.
- Site Creation – Allow paid members to purchase sites in a WordPress multisite.
- Restriction Timelock – Keep content unrestricted until a specified date in the future.
- Restriction Timeouts – Specify a date and time when restricted content will have its restrictions removed, making it available to everyone.
- Restrict Past Content – Restrict content published prior to a member’s join date.
- Hard-set Expiration Dates – Allows for a specific expiration date to be assigned to membership levels.
- Help Scout – Display customer’s membership information from Restrict Content Pro inside of Help Scout when viewing tickets.
- Math Verification – Add a math verification field to registration forms.
- IP Restriction – Allow specific IP addresses to bypass content restrictions and ban other IP addresses from signing up for a membership plan.
- Enforce Strong Passwords – Enforce strong passwords during registration.
👋 Meet the team
Restrict Content is built by iThemes. We also make popular WordPress plugins like iThemes Security Pro and BackupBuddy used by hundreds of thousands of people just like you.
✏️ From our blog
Check out some of our popular posts for actionable advice for running membership sites.
- The top 8 benefits of running a membership site
- Which membership model is best for your business?
- How to start a membership site on a budget
- Should you be offering tiered memberships?
Subscribe to our newsletter to get posts like these in your inbox as soon as they’re published.
Install Restrict Content Manually
- From the dashboard of your site, navigate to Plugins –> Add New.
- Select the Upload option and hit “Choose File.”
- When the popup appears select the restrict-content-x.x.zip file from your desktop. (The ‘x.x’ will change depending on the current version number).
- Follow the on-screen instructions and wait as the upload completes.
- When it’s finished, activate the plugin via the prompt. A message will show confirming activation was successful.
That’s it! Just configure your settings as you see fit, and you’re on your way to restricting content. Need help getting things started? Check out our getting started guide for help with settings and features.
To restrict an entire post or page, simply select the user level or membership level you’d like to restrict the post or page to from the drop down menu added just below the post/page editor.
There is also a short code for showing content only to users that are not logged in.
[not_logged_in]This content is only shown to non-logged-in users.[/not_logged_in]
This plugin provides 1 block.
- Content Upgrade Redirect Link to a page containing a Registration Form, then redirect the registration form to the specified Redirect URL.
- Visit the plugins page within your dashboard and select ‘Add New’
- Search for “Restrict Content”
- Activate Restrict Content from your Plugins page
- You’re done!
Can I just restrict part of a post/page?
Yes. You can choose exactly which content to protect with the [restrict] shortcode. You can set the
userlevelattribute to specify which role is required to view the content. For example, to restrict to editors you would use:
[restrict userlevel=”editor”]Your protected content here.[/restrict]
Can I charge customers when they register an account?
Yes! With the Restrict Content plugin, you can offer paid membership levels with manual payments or Stripe. For even more payment gateways, check out Restrict Content Pro.
Does the plugin protect images and other media files?
Yes. Restrict Content can restrict access to media that is embedded within a post or page, but it does not protect the original file URL on the server.
Can I restrict content in my RSS feed?
Yes. There’s a checkbox for this within each post/page. If enabled, that content in your RSS feed will be restricted.
Not with this plugin, but Restrict Content Pro has integrations for many popular email marketing providers, including Mailchimp, ConvertKit, ActiveCampaign, and more.
Do restrictions work in REST API requests?
Yes. All restrictions apply in REST API requests – exactly the same as if viewing your site normally.
Does Restrict Content work with the Gutenberg editor / the WordPress block editor?
Yes. Full page restriction settings as well as the
[login_form]shortcodes all work with Gutenberg.
Does this plugin support restricting access by custom user roles?
Yes! Restrict Content provides the ability to limit access based on custom roles.
Will the plugin work with third party page builders?
Restrict Content works with most third party page builders. However, if using the [restrict] shortcode, most page builders will require that the opening and closing shortcode tags be within the same element/block.
Does this plugin include frontend login or registration forms?
Yes. Restrict Content includes shortcodes for a registration form, a login form, and a password reset form.
Contributors & Developers
“Membership Plugin – Restrict Content” is open source software. The following people have contributed to this plugin.Contributors
“Membership Plugin – Restrict Content” has been translated into 9 locales. Thank you to the translators for their contributions.
Translate “Membership Plugin – Restrict Content” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
- Enhancement: Replace Freemius third-party integration with our StellarWP Telemetry.
- Enhancement: Add reCaptcha feature from Pro.
- Enhancement: Add Add-Ons page.
- Enhancement: Add Stripe webhooks option to include any missing webhook.
- Update: Language domain in were using LION for rcp.
- Fix: Replaces Divs with tables on the ‘Register page’ and ‘Your Membership’ page.
- Fix: Gutenberg Block “Content Upgrade Redirect” that was missing.
- Fix: Revert div for tables in registration pages.
- Fix: Sanitation issues in core files.
- Fix: Fatal error cannot redeclare “rcp_should_show_discounts” when using multiple paid registration forms.
- Enhancement: Update Stripe library to version 10.3.
- Fix: Email templates that were deleted when saving any RC setting.
- Enhancement: Register templates and remove duplicated code.
- Add: Freemius integration to help Restrict Content Pro be a better plugin.
- Fix: Fixes to prevent usage of PHP Short tags.
- Fix: Compatibility with The Events Calendar and Pods.
- Fix: Styles from the registration button, the font size in the password hint text
- Fix: Registration form with missing labels.
- Enhancement: Styling of registration form for desktop and mobile.
- Fix: Error when updating or adding a card with Stripe. Update RCP JS Stripe code since it was using deprecated function.
- Enhancement: Update styles of registration page. Remove tables, replace with divs. Props @highprrrr
- Enhancement: Update styles of Membership page. Remove table, replace with divs. Align columns. Tweak mobile view. Give inputs a max width. Props @highprrrr.
- Fix: Correct trail validation. Trail is valid if the number of days is greater than zero in the Membership configuration.
- Enhancement: Stripe statement descriptor and Statement descriptor Suffix.
- Enhancement: Change the label “Membership Level” -> “Membership” in the exporting tools.
- Enhancement: Add new options in the System Info report.
- Feature: Add an Option to allow the user to switch between free subs.
- Feature: Use user levels or roles in the [restrict] shortcode. Parameter user “level”.
- Update: Restrict Content Branding.
- Fix: Error using
[restrict]shortcode in legacy version. props @fdanell
- Fix: Broken help page form
- Fix: Fixing upgrade logic
- Fix: Fixing Restrictions
- Fix: Multisite downgrade link
- Fix: Set option for Stripe updates displayed to admin
- Fix: Renaming base plugin filename.
- Note: Readme version bump
- New: Create and Sell Memberships
- New: Collect payments with Stripe
- New: Send Customer Emails
- New: Powerful Content Restriction Options
- New: Pro Level Shortcodes added
- Note: Legacy version of Restrict Content still included and maintained until Dec. 2022
- Fix: Options Comparison broken for new Installs
- Note: Version Bump
- Note: Tested with WordPress 5.8
- Improvement: Adding Help Page
- Improvement: Adding Welcome page on activation
- Note: Tested with WordPress 5.7.2
- Improvement: Moving Restrict Content Settings from Generic Settings Menu to Admin Menu as individual menu item.
- Improvement: Adding additional styling to metabox settings.
- Tweak: Adding Why Go Pro Page
- Note: Tested with WordPress 5.7
- Updating Tested Up To Version
- Note: Tested with WordPress 5.3.
- Improvement: Display
wp_signon()errors while processing login.
- Fix: Typo in setting description.
- Tweak: Adjusted plugin author name and URL.
- Fix: Content visibility in the REST API.
- Tweak: Remove hard-coded red color from restricted message. A class
rc-restricted-content-messagehas been added to the span tag if you’d like to add the color back in with CSS.
- Tweak: The Restrict Content plugin is now auto deactivated when Restrict Content Pro is activated.
- New: Login form shortcode – [login_form]
- New: Password reset form – part of the [login_form] shortcode
- New: User registration form – [register_form] shortcode
- New: Improved compatibility with Restrict Content Pro, allowing for seamless upgrades
- Fix: Undefined index PHP notice
- Tweak: General code cleanup and improvements
- Fix: Undefined nonce index when saving some post types
- Fix: Removed restrict metabox from post types that it does not apply to
- Fix: Made restricted message shown in feeds translatable
- Fix: Some text strings not translatable
- Tweak: Added new rcp_metabox_excluded_post_types filter
- Removed incorrect contextual help tab
- Some general code cleanup and compatibility checks for WordPress 4.1+
- Improved settings page to match core WordPress UI
- Fixed problem with unescaped HTML in restricted messages options
- Added complete internationalization on default language files
- Added do_shortcode() to the not logged in short code
- Fixed a problem with the not logged in short code.
- Added new [not_logged_in] short code.
- Added settings page with options to configure each of the messages displayed to users who do not have permission to view a page.
- Improved the performance of several functions.
- Better organization of the plugin files and improved infrastructure for soon-to-come new features.