Changing membership platforms can feel like an overwhelming task—even if you’re technologically skilled. If you’ve outgrown your existing platform and want to migrate from Restrict Content Pro to Paid Memberships Pro, take a deep breath and know that it is possible.

The team at Paid Memberships Pro has supported several customers through this migration. This developer-focused guide summarizes everything we’ve learned about the migration process into step-by-step instructions.

Note: This guide is specifically written to support someone migrating active subscriptions and members from Restrict Content Pro to Paid Memberships Pro.

Banner Image for Migrating from Restrict Content Pro to Paid Memberships Pro

How to Migrate from Restrict Content Pro to Paid Memberships Pro

Active eCommerce businesses receive new orders, new members, new comments or posts in forums, and other engagement activity on a regular basis. This is why it’s important to minimize interruptions to a live revenue-generating website.

However, you can simplify the migration process if you close your membership site to the public. If your site happens to be on the smaller side, you might be able to afford taking it down for a day or two.

If you can’t, we’ve included information on how to complete your migration through the use of a staging environment.

The process of transitioning from Restrict Content Pro to Paid Memberships Pro involves two crucial steps:

  1. Transferring your members and their subscriptions
  2. Moving the content protections from the old system to the new system.

This guide will provide you with comprehensive instructions and advice to ensure a smooth migration. By following these steps, you will be able to continue receiving recurring payments from existing customers and process payments from new members using Paid Memberships Pro.

So, let’s get started.

Part 1: Migrating Members and Subscriptions

1. Backup Your WordPress Website

In our article Backup Your WordPress Site: The Complete Guide to Site Backups, we highlight the significance of frequent backups and provide a guide on how to create one for your site. This is particularly crucial for membership sites that involve customer accounts and sensitive information.

👉 Please make sure to create a backup of your site before proceeding with the migration process.

Ebook Cover: How to Migrate to PMPro from Restrict Content Pro


We have a downloadable version of this setup guide with the specific steps you need to convert Restrict Content Pro to PMPro members—without affecting 💰 current active subscriptions.

2. Pause Your Live Website

During the migration process, it’s essential to prevent any data loss or mismatch, which can occur quickly. To ensure this doesn’t happen, it’s advisable to temporarily pause your live website. This includes:

  • Disconnecting your Restrict Content Pro payment gateway
  • Deactivating all new membership sign-ups
  • Putting your main website in “Maintenance Mode” or “Coming Soon” mode.

You can use plugins like WP Maintenance Mode & Coming Soon to add a maintenance or coming soon page to your website.

Note: If it’s not possible to pause your active site, proceed to Export and Import Your Data. Keep in mind that some data may still need to be moved before the final import, which is normal.

3. Install and Set Up Paid Memberships Pro

The following step is to install Paid Memberships Pro on your website or on a staging site.

Note: If you’re unable to turn off your main website or want to test PMPro’s functionality, it’s advisable to use a staging site or a local development site.

Keep in mind that once you create a staging site, your live site and development site will no longer be in sync. If you choose this option, there will be some data that you’ll need to migrate to the new site before it goes live.

If You’re Installing PMPro on Your Main Website

Our Initial Setup guide provides information on how to install PMPro through the WordPress dashboard or by downloading a PMPro package.

After successfully installing PMPro, you’ll have to recreate your Restrict Content Pro memberships as membership levels in Paid Memberships Pro.

To do this, go to Memberships > Settings > Membership Levels in the WordPress admin. You can refer to the aforementioned Initial Setup guide for further details.

👉 Make sure to save the membership level IDs for future reference, and hold off on connecting your payment gateway until later.

If You’re Installing PMPro on a Staging Site

Once your staging site is set up, make sure that it’s not connected to either your Restrict Content Pro or Paid Memberships Pro payment gateway.

Note: During the migration process, some actions on your staging site might result in system emails being sent from WordPress, Restrict Content Pro, or Paid Memberships Pro. To prevent accidental sending of messages from your staging site, you can use the Disable Emails plugin.

4. Set Up User Fields (If Applicable)

Are there any custom user fields set up in Restrict Content Pro for your membership? Do you wish to add new user fields? Paid Memberships Pro utilizes User Fields to create and gather additional checkout fields and custom profile fields for your members and administrators.

If you don’t need to collect custom fields, proceed to Export & Import Your Data.

User Fields

Restrict Content Pro fields are stored in user meta (just like the user fields created by Paid Memberships Pro). This is the WordPress database table that stores all the custom user data that is not part of the user object itself.

Paid Memberships Pro features an intuitive settings interface to create and manage custom profile fields. In Restrict Content Pro, these fields would have been created through custom code. You’ll need to locate the custom code that added fields to your RCP site in order to migrate that field information to PMPro.

  1. Navigate to Memberships > Settings > User Fields in the WordPress admin.
  2. Create a new field group or add fields to the default group.
  3. Add a new field for every custom field you have within your Restrict Content Pro member profiles.
  4. When you create fields, you must set the field’s name to the exact same meta key in your Restrict Content Pro custom field code.
Migrate Restrict Content Pro fields to PMPro User Fields
  1. Repeat these steps for each custom profile field you want to preserve.
  2. Add new fields for new data you want to capture.
  3. Save your fields settings.

Check out the User Fields documentation for specific help configuring fields. 

5. Export and Import Your Data

First, Export Your Restrict Content Pro Data

To export your Restrict Content Pro Membership Data, navigate to Restrict > Tools > Export > Memberships.

Now that you have your Restrict Content Pro data, you are ready to create a file that PMPro can use to import memberships and subscriptions. 

You will need the PMPro Import Members From CSV Add On.

The plugin includes a starter import template file. Navigate to Users > Import Members in your WordPress admin. You’ll see a link to download the example CSV file from this page.

Prepare Your Import File

The table below shows the Restrict Content Pro data fields you should map to the required PMPro Import fields:

PMPro ColumnRestrict Content Pro ColumnData Description and Location
user_loginUser LoginRequired field to match the imported data to the existing WordPress user; Included in the Restrict Content Pro Members export.
user_emailUser EmailIncluded in the Restrict Content Pro Members export
first_nameFirst NameOptional field; Included in the Restrict Content Pro export.
last_nameLast NameOptional field; Included in the Restrict Content Pro export.
display_nameN/AOptional field; Not included in the Restrict Content Pro export.
role(add this)For most sites, set this role to “subscriber” which is the base level role and capability for users in WordPress.

Restrict Content Pro does not include an export column for role, but you can add it manually here.

This column is optional. If you omit this column, the user will be assigned the “subscriber” role.
membership_id(add this)Add the numerical ID for the level in Paid Memberships Pro. Restrict Content Pro exports a field “Membership Level ID” that you can use to match to the appropriate level ID in PMPro.
membership_initial_paymentN/AOptional field. If you want to include this, export your payment data from Restrict Content Pro.
membership_billing_amountN/AOptional field. If you want to include this, export your payment data from Restrict Content Pro.
membership_cycle_numberN/AOptional field. If you want to include this, export your payment data from Restrict Content Pro.
membership_cycle_periodN/AOptional field. If you want to include this, export your payment data from Restrict Content Pro.
membership_statusStatusFor this migration, it is recommended that you only import members with an ‘active’ status and remove all others.
membership_startdateCreated DateNote that the Restrict Content Pro data is exported as a full timestamp. Paid Memberships Pro import requires this data to be in the format YYYY-MM-DD.
membership_enddateExpiration DateOnly include this date if the member should expire and the recurring subscription should cancel. Members on a recurring subscription in Paid Memberships Pro do not have an end date (leave blank).
membership_subscription_transaction_idGateway Subscription IDFor Stripe, these values will all begin with sub_X.

For PayPal, this ID always begins with the value I-
membership_gatewayGatewayName of Gateway
membership_payment_transaction_idTransaction IDOptionally import the last transaction ID. If you want to include this, export your payment data from Restrict Content Pro.
pmpro_stripe_customeridGateway Customer IDFor Stripe, you want to locate a field that begins with the characters cus_X.

This field is not needed for any other payment gateway, such as PayPal.

Export the file to CSV and Test the Import

We recommend testing the import with a subset of your data (the first 10 records) to ensure that everything works as expected.

  1. Export the first few rows CSV file With your exported .CSV file, adjust the rows to only include the first 5 or 10 records.
  2. Run that import by following the directions on the Import Users from CSV Add On documentation page.
  3. Double check the data to be sure everything looks correct. You can check your Members List under Memberships > Members and the Orders list under Memberships > Orders.
  • The import process will create one PMPro order for each newly imported member.
  • The import process will not create a history of orders for all payments that member had made previously through Restrict Content Pro.

If everything looks correct, you are ready to do the full and final import. To do this, repeat the process from your test above using the full set of data (minus those test members already imported).

Note: Repeat imports can cause orphaned data or accidentally cancel subscriptions. If you are updating existing users, it may be best to run SQL queries directly in your database by following the guide here.

6. Resume Your Live Website

You’re almost done! Now it’s time to connect your payment gateway in PMPro.

First, deactivate Restrict Content Pro. Once you are sure everything is working properly, you can deactivate the Restrict Content Pro plugin. We struggled to find documentation on what happens when you delete the Restrict Content Pro plugin. For this reason, we recommend that you reach out to their team for help on resetting Restrict Content Pro data to remove all traces of the plugin from your site (if required).

Now, activate your payment gateway in Paid Memberships Pro. PMPro has only one settings page to configure the payment gateway for all memberships. Just navigate to Memberships > Settings > Payment Settings. The process of setting up a payment gateway is also outlined in the Initial Setup guide we mentioned earlier.

Part 2: Configuring Content Protection

Every membership plugin handles content restrictions in a different way. With Paid Memberships Pro, you can restrict individual pages, posts, or entire categories of posts.

Browse our documentation on restricting content to learn more about the various ways you can protect your content with PMPro.

This includes:

You’ll need to manually update every piece of content that was protected through the RCP methods to now use the Paid Memberships Pro methods. If you have a very large membership site, there are some developer-level methods to bulk apply content restrictions. Here are a two primary resources:

It’s Time to Celebrate 🎉

You did it! You’ve successfully migrated your active subscriptions and members from Restrict Content Pro to Paid Memberships Pro, and configured your content protection so that your membership site is officially ready for action.

If you’re still in need of additional help, be sure to check the Frequently Asked Questions section below, or contact our support team if you’re a premium member.

We’re excited that you’ve made the switch to the best membership plugin for WordPress, and we’re right here by your side to help you take your membership business to new heights. 🚀

Frequently Asked Questions

This seems really complicated!

If this is all too overwhelming or confusing for you, you should consider hiring a developer. We recommend working with one of our Codeable freelancers or agency partners to make sure your migration goes as smoothly as possible.

If you’re a premium member, you can always reach out to our support team for help as well.

What is a Staging Site?

A staging site is essentially a duplicate of your website, where you can test out new features and make changes without affecting your live website.

Original Site vs Staging Site Infographic

Creating a staging site allows you to get all of your membership data in place before merging it with your live site.

Do I Need a Staging Site?

A staging site is a non-public version of your site’s code that powers your live membership site. Your membership’s staging site, if set up properly, will allow you to add and test all kinds of things before releasing them on your live site.

With a staging site, you can test things like:

  • Code recipes
  • New features
  • New plugins
  • Plugin updates

If you have a very active membership site that receives a lot of traffic, or you don’t have a lot of development experience and you want to experiment without killing your live site, using a staging site is a wise choice.

Do you need a staging site infographic

Cover image from ebook 29 Nuggets of Wisdom Volume 1 - Sample Collection

Download the free ebook: Get 29 insights and ‘aha moments’ for new or veteran membership site business owners. Use these nuggets of wisdom to inspire or challenge you.

Was this article helpful?