Locking down an entire site – a quick survey
When I wrote my article comparing membership plugins for WordPress, one strand of comments revolved around the concept of locking down an entire site. I easily recommended a plugin from 10Up's Jake Goldman, called Restricted Site Access. But it was locking down everything (as it advertised) and it turned out I needed at least one or two pages (like the registration page) to be accessible. I also looked at Chris Abernethy's plugin, Member Access. It looked good but still wasn't exactly perfect. And you know I'm a huge Paid Memberships Pro fan – but I didn't see the features available. (note: Jason has since sent me a bit of code that might help do what I was looking for).
Restrict Content Pro
It costs $30 but it's completely worth it. Unlike some of the other plugins mentioned above (other than PMP), it's goal isn't to lock down an entire site. It's a content protection plugin, like other membership plugins for WordPress I've reviewed. Just like Paid Memberships Pro, it supports stripe as a payment gateway (thru an add-on). If you don't know why I love Stripe and hate Paypal, read my rationale.
Locked down doesn't always mean total lock down
In the case of the project I'm working on, I don't really need every single page locked down. I just need it “mostly” locked down (said like Billy Crystal in Princess Bride). Because I still want people to be able to register – albeit as they're paying. So let me lay out what I was trying to do, so you can see how Restrict Content Pro worked perfectly for me.
- I needed a site that would be inaccesible to anyone who wasn't a member.
- I needed a site that would redirect all traffic to “notice” page that would tell them why they couldn't get into the site.
- I needed a page where people could pay for a membership that would create them an account and grant them access.
- I needed the payment to be a yearly subscription.
- I needed to be able to use Stripe and never send any money to Paypal evah!
- I needed a dedicated login page that would let members get in.
- I needed members to be directed to the home page that would display protected content.
Yes, as you read it, I had a lot of needs. But not needs that sound unreasonable. In fact, most people only share with me a few of these needs and then just assume that all the rest will “just work.” But I've found that if you don't have a clear sense of what you want, just about any plugin will deliver great disappointment to you.
Restrict Content Pro didn't disappoint
Let me walk you thru my steps and see if you can say the same thing I did when I am done.
1. I started by creating four pages that I knew I would need:
- Home Page – to welcome logged-in members
- Login Page – to welcome members who weren't logged in yet
- Registration Page – to allow non-members an easy way to purchase membership
- Barrier to Entry Page – to let non-logged-in users know that they needed to register
2. I then downloaded & activated Restrict Content Pro
I didn't have much work to do because I'd already purchased the plugin before. But you'd likely need to purchase it. And if you want to use Stripe, you'd have to get that add-on as well. Once you have them downloaded, you can upload, install and activate them like any other plugin.
3. I created my subscription level
I only needed one level, so it was pretty fast to create a subscription level. In this case, I set it up pretty quickly, as you can see below.
4. I configured the settings tabs – including the signup forms and the misc tabs
My next step was to configure the settings. Much like Paid Memberships Pro, the settings page was simple and easy to understand. Configuring the payment screen was easy and simply required the keys that Stripe gives you. The real work (though not hard) is linking in those pages I'd created in two tabs particularly. Two of the pages got linked on the Signup Forms tab. The first was the redirect page – which feels slightly mis-named. It's the page you send people to after they've logged in. In my case, it was the home page. The second was the registration page, aptly named.
The other tab I used to link up the other pages I'd created was the Misc tab. It held a different redirect page – the page that tells users they have to have a membership. I called this my barrier to entry page above. The other was the login page.
5. Dropping in short codes & content
With almost everything configured, I knew there were still a few steps left. I needed those pages to have actual content on them, not just blank pages. Thankfully, Restrict Content Pro provides short codes that do all the work for you, as you can see below.
I also needed to put some test content on the home page for those who were logged in. And while I was at it, I dropped in two posts in two categories, and configured a menu.
You can see that in that first screenshot above, I never saw the home page content because I was routed to the barrier to entry page. But once I registered and paid, I was routed to a new home page.
6. Configuring access on pages and posts
The heart of the plugin is in its ability to protect both pages and posts. For those other pages that I wanted accessible by non-members, it was easy to make sure that they were totally unprotected. But in the case of my home page and the two posts, I knew I needed to configure them to be secure. What's nice is that the settings are there on every page and post – giving you total granularity and control over what is exposed and what isn't.
7. And with that, I was ready to test…
The final step was simply making sure that everything was protected. So I logged out, cleared the cache on the server as well as my browser, and started checking to see if I could get to pages or posts that were protected for members only. In the end, all I saw was that first screen shot telling me I needed to register. And when I clicked on that link, I saw how easy it was to create my account, as long as I was willing to spend $250/year.
Are you ready to lock down your own sites?
I know there were a couple folks on that last thread that wondered about this. I'd love to know if this makes sense. Post a comment and let me know.