Before beginning, I want to mention that this post was inspired by Chris Lema’s series on WordPress membership plugins, especially his post on why many stand-alone membership plugins won’t work. If you are studying membership plugins for WordPress, Chris’s posts are a must-read.
What is the Purpose of a WordPress Membership Plugin?
The power and flexibility of WordPress is amazing. WordPress can be used as a simple blogging platform, to build basic websites, sell physical products or downloads, create discussion forums, and much more. A membership website is, in a nutshell, a website that charges for access to protected content. A membership plugin makes it possible to do this. There is no shortage of membership plugins for WordPress and this post is not intended to be a review of any of them. I will say that I have a lot of experience with WooThemes Groups/Subscriptions for WooCommerce and MemberPress. Both are great options for creating a membership website because they work well and integrate with the WordPress ecosystem (meaning they don’t create an entirely new application that sits on top of WordPress). I would certainly recommend either, depending on the situation. However, I want to explain why I think the best membership plugin for WordPress is actually NO membership plugin.
The Key Features of a Membership Plugin
To see why this idea makes sense, let’s take a look at what every membership plugin does at its core.
1. Protects Content
This is as basic as it gets. Since selling paid memberships (or free ones) is to grant access to protected content, we need a way to protect that content. A quality membership plugin should integrate with the standard WordPress user system and probably add some custom roles that will serve as the role a user must have in order to access the content.
2. Charge for Membership
Next, you will probably want a way to charge users before granting them the privelages they need to access the protected content. Therefore, you need a way to integrate your user-creation process with a payment gateway, such as PayPal or Stripe.
3. Recurring Payments
Selling memberships is a great way to earn recurring revenue because they are typically subscription services. This means that users are billed at regular time intervals to continue receiving access to the content. You will need a payment setup that not only covers charging for initial access, but also for continued access. If your membership website uses this subscription model, you will need a way to handle applying updated content restrictions when a user cancels (deny them access). A membership system should know when this happens and revoke the user’s access.
4. Protect Downloads
This feature will not apply for every membership website but a lot of membership websites are selling downloadable products as the content. If this is you, then you need a way to protect those downloads.
So How Does “No Membership Plugin” Help?
The reason I prefer to not use a membership plugin a lot of times is because the ones available pretty much lock you in to that specific system and, consequently, you become dependent on one plugin for your membership website/business. What I prefer to do is create my own membership system utilizing a few different plugins, depending on my needs. Each functionality requirement I listed above is something that can be done with a non-membership plugin. Therefore, we need to find the right plugins to put together a system that works for what we need and doesn’t contain a ton of features we don’t.
Now, how do we do that and what plugins do we need? I love experimenting with different plugins, seeing what works well together, and what lets me create practical applications that are useful for real users. Creating a membership website without a membership plugin was an interest of mine a while back so I read various blog posts and tested different plugins to see what could be achieved. To set up a membership website without a plugin dedicated for membership capabilities, here are the plugins that will do the job.
Back when I was researching how to create a membership website without a membership plugin, I was frying my brain thinking about ways Gravity Forms could be used given its immense power. Then I found this epic post on Gravity Wiz (a fantastic website with snippets and tutorials for extending Gravity Forms). This article, by Steve Henty, walks you through creating a basic membership website with Gravity Forms and Justin Tadlock’s Members plugin. This is where the real meat of our membership system will take place. In summary, Gravity Forms and Members let us do the following:
- Allow user registration (Gravity Forms)
- Charge for registration (Gravity Forms)
- Assign users to a specific WordPress role (Gravity Forms)
- Restrict premium content to logged in users with that role (Members)
As you should be able to see, the combination of Gravity Forms and Members takes care of every basic requirement we need for a membership website.
If you read through the Steve’s article on Gravity Wiz, you probably saw his recommendation of the PluginBuddy S3 URL plugin. This plugin will let us insert links to protected files stored on our Amazon S3 account. The download links are dynamically generated when a user clicks and will expire after a specified amount of time (preventing link sharing and/or hotlinking). Amazon S3 is a paid service but it’s very cheap ($0.03/GB per month as of this writing) and worth every penny…all three of them!
This post is in no way meant to discredit membership plugins or encourage you to drop your current membership plugin. If you have found one that works for you, you should definitely use it. There will be cases where a membership plugin is called for (I usually suggest MemberPress). This is simply a way to create a membership website without a dedicated membership plugin that may be overkill. Going this route when creating a membership website with WordPress will allow you to tailor the setup to include what you need/want and nothing you don’t. It’s also opens up the door for much easier customization because the plugins used (the components of the membership system) are very flexible and play well with others. If you decide to use this setup, please drop a comment to let me know how and your results. I’d love to know how it works for you.