There are several approaches to creating a membership site with WordPress, as there are a lot of plugins available, and they each do things differently. One of the most light-weight plugins to work with is Paid Memberships Pro (PMPro).
PMPro is designed with the assumption that the core plugin should cover the most basic or essential membership capabilities, and that add-ons or extensions should provide the customizations necessary to meet the needs of different sites. The benefit to this approach is the ability to iterate add-ons quickly without updating the core plugin, and improving the stability of the core plugin since you eliminate code that may not be needed by most users.
Perhaps the most unique thing about PMPro, however, is that the plugin and add-ons are entirely free. Support is not included in the price, so you’ll want to work with a developer or get a support membership from Paid Memberships Pro ($97 annually) if you need help. You can download the plugin from the WordPress.org repository or download it by signing up with Paid Memberships Pro, which also gives you access to the free installation tutorials and videos.
Here’s a table of contents if you want to skip ahead:
|1. Overview||5. Selling & Managing Memberships||9. Other Comments|
|2. Setup / Configuration||6. Payments & Billing||10. PMPro Review Wrap-Up|
|3. Creating Access Levels||7. Integrations||11. Read More|
|4. Shortcodes||8. Support|
As we said in the introduction, PMPro is a lightweight membership solution for WordPress. Installation and setup is easy, as settings are laid out in the order you should do them for the most streamlined setup process. Available options are easy to understand, and there’s a lot of customization available, especially for billing.
As stated previously, the core PMPro plugin and add-ons are free. However, there’s a lot you can do with the plugin in terms of customization as it’s pretty developer friendly, so you’ll either want to have a developer handy or purchase a membership for $97 per year. Memberships include access to documentation, tutorials, premium content, videos, and members-only forums for one year (I’d recommend a membership and a developer if your site is more than a side project). If you want the white glove service, you can purchase installation and configuration for $697, which also includes a consultation call and 5 hours of development to customize your setup.
I was able to have a basic membership site setup and configured in a matter of 10-15 minutes. Once I’d installed the plugin, I went to the new Memberships menu that was created at the bottom of my WordPress menu, and the first thing to set up are Membership Levels.
While creating a level, you can set pretty detailed billing terms for the membership, create membership rules, and restrict post categories (no tag restriction).
Setting up tiered memberships is easy, as you can copy a membership to add more access for the next level. Topic-based memberships are not quite as flexible, as users can’t hold more than one membership at a time (for example, they can’t buy access to different categories individually). There is a work around for this that will help some users, as you can use the Purchase Access add-on to allow members to purchase access to pages or posts a la carte.
Once you have membership levels set up for your members, you’ll move on to page settings. I loved that PMPro had an option to automatically generate the necessary pages with shortcodes, and gladly took that option:
Great! The hardest parts of my setup are done. You can then setup payment information, emails, and advanced settings, such as requiring terms of service or forcing SSL on checkout.
One advanced option I really appreciated was the ability to show post excerpts to non-members if needed. Not only does this provide a great teaser to encourage non-members to sign up, but it also helps for SEO and allows search engines to index some of your content. The only thing I didn’t like was that my formatting was stripped from the excerpt, so you’d have to work around this if it mattered to you.
While setting up a membership level does provide post category restrictions, there are also other options available for content restriction. You can restrict access to individual posts, pages, or custom post types from the editor using the PMPro menu on the right, which will also inform you if any restrictions already exist.
While static restrictions are the only option present in the core plugin, there’s an easy way to delay the release of posts or pages for membership access as well. Content dripping can be set up using the Series add-on. This plugin creates a new menu titled “Series”, and allows you to set a membership level for the series, as well as content that should be drip-fed and the number of days to delay the post / page access:
You can set up different series for each membership level so that your content dripping is tailored to each membership using the Series add-on. If you want a complete walkthrough on using Series, check out this tutorial from Chis Lema.
The final piece of setup for me was taking a look at the available shortcodes. Paid Memberships Pro uses one shortcode –
[membership] – that has a levels attribute for content restriction. For example, you can create an upsell page and modify the “My Account” template to include a link to the upsell page. Using the
[membership] shortcode, you can then conditionally display upgrade text to the member based on the membership level s/he currently holds.
There are also more advanced uses for membership level checks using the
pmpro_hasMembershipLevel() function, but if you’re not familiar with PHP then you’ll need a developer to add the capabilities you’re looking for.
Once membership levels, content restriction, and content dripping (if needed) are configured, you’ll then want to sell your memberships. The good news is that PMPro creates a purchase table for you on the “Membership Levels” page, and creates a “Register” button for non-members while viewing a restricted post or page.
You can modify this template if desired (again, where a developer / support plan comes in) to match your theme or change the way memberships are sold.
Notice that all billing details are shown on the purchase page. You can create a sign up fee for any membership level, as well as a trial period with the restriction that the trial period has to be defined in the same time unit as the subscription payment (i.e., weeks or months). However, trial periods are very customizable and can also allow you to offer a discounted introductory period for a number of billing cycles.
Paid Memberships Pro also includes the ability to offer discounts. You can set usage limits for discounts, and determine which membership level the discount should apply to. Discounts will override the billing settings for the membership, and can allow you adjust the initial payment, trial amounts, or recurring billing amount.
Member management with PMPro is simple and has all of the basics. You won’t be able to issue refunds or other advanced capabilities, but can effectively manage members and their subscriptions. You can also create and edit orders to add billing information, change purchase dates, and so on.
I liked that member and order lists are included and can be exported as a CSV so that you can bring that information into a third-party accounting system if needed.
You can also view member details under user profiles and manually adjust membership levels. Members can also change levels themselves from the account page.
Administrators and members can also cancel memberships. Admins can do this via the “Users” menu, and users can do so from the account page.
As a final note on member management, you also have an option to restrict sharing of login credentials with PMPro by installing the WP Bouncer plugin. This prevents credentials from being used simultaneously from two different IP addresses. While this doesn’t provide a complete solution to prevent sharing, it does provide a deterrent and is certainly better than nothing.
Paid Memberships Pro comes with several payment gateway integrations built into the core plugin, including Stripe, Braintree, PayPal, and Authorize.net (among others).
Billing options, as we previously mentioned, are very flexible. You can set up sign up fees, trial periods, recurring subscriptions, and subscriptions with a set term. You can also bill in terms of days, weeks, months, or years.
One downside to billing with PMPro is that you can only use one payment integration at a time out of the box. However, there is an add-on that will now let you use PayPal Express in addition to your other checkout method. I know there is also a tutorial available to offer multiple checkout methods for paid members that I didn’t have a chance to check out but would probably help.
As we stated before, there are a lot of free add-ons available for Paid Memberships Pro. For advanced email management, you can integrate with MailChimp, AWeber, or InfusionSoft, which will sort members into lists based on their membership level. There are also affiliate integrations available so that you can offer commissions in exchange for sign ups.
I also liked that a bbPress integration is available to restrict forums based on membership, which is great for those of you that support products or run private forums.
Support is what’s monetized in the service model that Paid Memberships Pro employs, which is more than fair considering the plugin and add-ons are free. All support channels are listed here. Users that have signed up for a free membership have access to plugin documentation, which includes tutorials and some helpful videos. There are also helpful resources for developers available.
However, if you want more advanced support, such as access to the membership forums, you’ll have to purchase a $97 per year membership.
While PMPro is primarily a membership solution for content restriction rather than physical goods, there’s a new shipping add-on available, which collects shipping addresses and other pertinent information at checkout. Since you can’t add shipping rates or integrate with shipping services, I wouldn’t recommend it as a solution for stores that rely on product-based memberships.
One place where I do frequently recommend Paid Memberships Pro is for multisite installations. There are Network Membership and Network/Multisite Membership add-ons available that turn PMPro into a multisite solution. As few membership plugins support multisite, this is pretty great functionality to have.
Finally, Paid Memberships Pro also includes reporting functionality. You can view visits and sales at a glance from the “Reports” screen:
You can also view more detailed reports, such as revenue or sales per day:
Paid Memberships Pro is a flexible, developer-friendly solution for creating a membership site using WordPress. The fact that the plugins and add-ons are free is awesome, and I think that support is reasonably priced at just over $8 per month, especially since solving one major issue per year via support could essentially pay for itself.
The billing options included in PMPro are flexible and offer some great options, including discount capabilities. Content restriction is solid and offers most of the functionality that sites will need. PMPro may not contain the feature set that enterprise solutions like MemberMouse have (such as upgrades, downgrades, or advanced billing options), but it’s great for small to medium sites, and extensible enough that it could grow with your site as you get more members and hire a developer.
I wouldn’t recommend PMPro for memberships that involve shippable products, but does a great job for content-based memberships. While no solution is perfect, PMPro is a great plugin for those of you looking to start membership sites or switch to an easy-to-use, reliable platform.
Like this Paid Memberships Pro review? Here’s some more content you may want to read:
- Here’s a tutorial from Chris Lema on using the Series add-on to enable content dripping. He’s also written about using PMPro as an eLearning platform, setting membership expiration dates, and there are some great comments explaining PMPro uses on his blog.
- WP Lift covered Paid Memberships Pro in this overview of membership plugins.
- Here’s a video of PMPro’s developer, Jason Coleman, describing how to build and launch a membership site with Paid Memberships Pro.