Membership sites can get complicated. There can be a lot of moving parts. A lot of… plumbing.
To complicate matters, there are multiple ways to do things. A lot of different tools that are available.
So, what I’m going to do in this post is give you a tour of the nuts and bolts of The LAB – my own membership site right here at the Blog Marketing Academy.
The LAB has evolved into quite a powerful platform from which I run pretty much my whole business. It includes:
- Obviously, online courses.
- Community Forums
- A Service Credit System
- A Live Classroom
- A Document Library
- Some Nifty Customizations On The Backend to Make Things Easier
And I’m always making things better. Or at least, I see it that way. 🙂 The, as I built it, I didn’t want it to look like a regular blog. I wanted it to be the focal point for all business for the Blog Marketing Academy. I wanted it to look like a training & community portal… not a blog.
There are some custom components to it (like the credit system) that I can get into later. But, I can talk about the tools used to make it work here. Later, I can talk about how to make those tools do what they do.
My Membership Site Theme: BuddyBoss
The look and feel of THE LAB is powered by the BuddyBoss theme.
As I said in my BuddyBoss theme review, this might just be the perfect membership site theme. It is literally designed to work with the components that I use and make them look awesome. And it has the look I wanted…. namely that of a learning platform and not just a blog.
Most everything you see in THE LAB is BuddyBoss “out of the box”. In other words, no customization. Just using the settings provided by Wordpress and BuddyBoss. There are a few things that I have customized by using a child theme for BuddyBoss:
- Custom post types for Office Hours, Workshops, Quick Wins and the Vault. All needed templates to make them look right, so I created those.
- Office Hours has video jumplinks to skip around the videos. That is a custom feature.
- Various miscellaneous changes to remove small parts of the interface that I didn’t want.
Mostly, however, the LAB is running BuddyBoss without significant customization.
The Core Plumbing: Sales & Access Control
Every membership site needs to have some way of processing sales, controlling member profiles, and controlling access. This is pretty much the core functionality of any membership site.
There are, of course, many ways to go. You could run a dedicated membership site plug-in like Wishlist Member, MemberPress or the like. But, I went another direction.
Shopping Cart: ThriveCart
I process all sales for my company through ThriveCart. Simply put, this software makes life simpler.
You can read my full Thrivecart review here and learn why I chose to use it.
Thrivecart is also used for any followup sales by members after they’re already enrolled. Obviously, being a 3rd-party piece of software, ThriveCart doesn’t have access to the info of the logged-in member. So, I have a little bit of custom code on the site that will pass that info onto ThriveCart via checkout links whenever a link to the shopping cart is detected. The effect is that existing members should not have to fill out their name and email again to make a followup purchase.
But, how does somebody buy a membership in Thrivecart and then have a member profile created for them in my membership site? The answer is…
WP Fusion is the glue that makes THE LAB work. When ThriveCart processes a signup, it passes that info off to WP Fusion as well as adds them to my CRM. A Wordpress user profile is created and all the appropriate tags are added.
I can control the entire automation visually inside of my CRM (see below). But, WP Fusion sits there and controls access to courses, ensures people are seeing (or not seeing) content based on their member level, etc.
I also use the Login add-on for WP Fusion, which gives me the ability to do some cool things like:
- Track their first login and act accordingly
- Route them to different pages by adding a tag to their profile (useful for offers, followups, etc.)
WP Fusion is like the Swiss army knife for Wordpress-based online marketing. To work, though, it needs to be couple with a CRM. And mine. is…
Drip is my marketing automation CRM and “email list host”. Coupled with WP Fusion, it forms the foundational database for THE LAB.
I can build automations inside Drip to add/remove tags on various events, thereby controlling what happens inside THE LAB when that person is browsing the site.
It is a perfect union with THE LAB. A user profile in Wordpress is synced with their profile in Drip. Every change that takes place in one is synched to the other.
Online Courses & Videos
Like most membership sites, the core of the content inside THE LAB comes in the form of online courses. And right now, the LAB has 48 total online courses in the system and almost 1,000 total lessons. Most of them with videos.
So, here’s how that works….
I chose LearnDash as my learning management solution. It organizes all 48 courses in the library and provides progress tracking for all members through those courses.
LearnDash also works beautifully alongside the BuddyBoss theme, giving the whole course experience a nice, professional look.
There’s much that I don’t use that Learndash can do, such as assignments, quizzes and more. Perhaps I will use them at some point.
Vimeo Video Hosting
All videos inside THE LAB are hosted by Vimeo. For awhile, I used Vimeo Pro. Recently I upgraded to the most expensive Vimeo plan and below I’ll show you why.
Vimeo is, in my opinion, the absolute best and easiest way to host videos that you don’t want out in the public. For public stuff, I use Youtube. For the LAB, I have full protections on videos, nice management capability, ability to customize the player, and much more. Vimeo is really a great service.
I’m well aware that I could use some player alongside Amazon S3 and probably save some money. But, in the end, Vimeo just makes things easier. It’s worth it.
2 Page Builders (Yes, 2)
The BuddyBoss theme provides a nice, global design for the platform. But, for individual pages, it kinda leaves that part up to you.
When you’re running a fully developed membership site, you’re going to want more than plain text pages with some images. You’re going to need landing pages. You’re going to want to have pages that have more going on.
So, I use 2 different page builders for THE LAB. They each have their place for me and that’s why I have 2 installed at the same time.
You probably already know I’m a massive fan of the Thrive Suite. The only part of that that I use inside THE LAB is Thrive Architect.
In almost all cases, I am simply using Architect as a content editor. I create landing pages with it, but within the confines of BuddyBoss. For instance:
- Access error pages
- Internal offer pages
- Custom pages (like the Membership & Credits page)
The reason I use Architect for this is simply because it gives me a lot of control over the design and it is FAST. I’m used to Architect. I work fast with it.
But, I also use…
As a page builder, I actually vastly prefer Thrive Architect to Elementor. However, there’s no getting around the vast library of third-party add-ons that work with Elementor.
For this reason, I use Elementor in some places where it just makes more sense.
My LAB dashboard is fully built with Elementor. The reason for that is because BuddyBoss integrates with Elementor so I have some cool templates and controls right in my page builder specific to BuddyBoss.
Elementor also integrates with WP Fusion, giving me the ability to control page content based on tags right there inside the page builder. While I have built some if/then stuff with Thrive Architect, too, using WPFusion shortcodes, Elementor’s direct integration does make things simpler in some cases.
Could I get along with only Elementor? Of course. But, I just prefer Thrive Architect. So… whatevs! I run two. 😉
How The LAB Live Classroom Works
The Live Classroom is one page inside THE LAB where I do live events like the Office Hours. It is a direct, live video feed right from my office into the LAB along with a chatroom.
Here’s how that works….
Vimeo, Yet Again
The live video feed is powered by Vimeo. It is for this reason that I upgraded to Vimeo Premium. It isn’t cheap, but it provides some super-solid live streaming capability, along with their own Livestream Studio software where I can take full control over my live stream and pipe it direct into Vimeo.
Also, since all my other videos are on Vimeo, this provides a seemless experience. Sessions are auto-recorded and right there for easy embed. The player is branded for the LAB, complete with the LAB logo.
The chatroom in the Live Classroom is currently powered by Chatroll. The system works well. The main reason I chose Chatroll is because their plug-in provides direct integration with Wordpress. This means that people don’t have to log in, enter their name or any of that. If they’re logged into the LAB, the chatroom automatically knows who they are and their name appears right in the chat widget along with their profile photo.
The actual Live Classroom page was built with Thrive Architect, simply placing the Vimeo embed and the Chatroll widget side-by-side for an easy experience.
Custom Admin Experience
Obviously, when you’re managing a membership site, you are using Wordpress for much more than just a blog. In the backend, you will need more than just the default experience. Wordpress is flexible, so you can actually tailor it into almost anything you want it to be.
Advanced Custom Fields
This plug-in is… freakin’ awesome. You can use it to tailor Wordpress to your needs. It create custom fields, of various types, anyplace in Wordpress that you need it.
I use ACF in a number of places throughout the platform:
- Adding my own Vimeo embed field to LearnDash lessons.
- Adding custom fields to the Live Classroom page for easier edits (like the event date, Vimee embed) without having to edit the page.
- Tracking member service credits on member profiles
- The service credit history (using a repeater field)
- The video jumplinks for Office Hours sessions (again, using a repeater field and a little custom coding)
- Custom fields for coaching on member profiles, allowing me to create custom coaching portal for coaching clients, with content unique to that particular client.
To really use ACF, you need to have a bit of skill with PHP to insert some code into your child theme. This is what would be necessary to show ACF-powered fields on the output on the public side of your membership site.
There are so many possibilities of things one could build with ACF.
Admin Columns Pro
This plug-in allows me to take control over the various “list” screens inside the Wordpress back-end in order to control what – and how – they look.
I can add/remove columns from the screens. I can set up filters. I can set multiple versions of the same screen.
Case in point, I use various screens and filters for my Users list. If I want to view a list of all members that have more than one strategy session credit on their account, I can just filter it by anybody where that custom field (created with ACF) has a value greater than 1. Done.
By working with these 2 plug-ins, I’ve given myself some time-saving shortcuts on the admin side of The LAB. And I’ve turned it into a platform that suits my business.
Any membership site is going to use forms. I use them in multiple places, such as:
- Office Hours requests
- Member onboarding questionnaire
- Submitting requests to the Tech Concierge
- Submitting Tech Service requests
You get the idea. I want these forms to look good. I also don’t want to have to ask who they are since they’re already logged in. So, it needs to have seamless integration with Wordpress.
I have been using Gravity Forms for this. It works nicely. But, I found something better and am in the process of converting.
I’m switching all my forms to Fluent Forms.
I think FluentForms has a superior interface on the backend. It is simply easier to use. Not only that, it comes with all the capability that you would need an Elite license to Gravity Forms to get. It all comes with FluentForms. Done. FluentForms also has an integration with Elementor.
FluentForms is my new favorite forms plug-in for Wordpress. I’ll do a full review of it soon. 🙂
ConvertBox: Not Just For Optins
Yes, I use ConvertBox inside THE LAB, too.
See, ConvertBox does far more than just opt-in forms. And this is the chief reason I switched from Thrive Leads and went to ConvertBox.
ConvertBox has full, 2-way integration with my CRM. This means that I can show (or not show) calls-to-action based on the TAG a person has. This allows me to create custom boxes anywhere inside The LAB that precisely targets different members based on what I know about them in my CRM. This is useful for… all kinds of things. 🙂
ConvertBox is also great at pop-up announcements and other things useful for a membership site.
The cool thing, too, is that since I can control it all from my CRM, I can have calls to action “jive” between the public Blog Marketing Academy site and THE LAB. I can do things like… remind my PRO members of the next Office Hours right here on the public site. The fact that ConvertBox is hosted means it spans across my Wordpress sites and allows that kind of central control over marketing. It is like onsite retargeting.
One must never forget that a membership site can serve as an incredibly targeted marketing arm of your business. If you set it up right. And ConvertBox is quite useful for that.
Displaying PDFs In The Vault
Inside The Vault, I have a library of PDF documents. Worksheets, swipe files and the like.
To actually show the archive, I use a custom post type for the Vault. But, if you actually click on any document, you would see that I display the PDF right there on the screen. I think this is a MUCH more useful experience for members than merely linking to a PDF file and having it open up in a browser tab.
For this, I use the PDF Embedder plug-in. In fact, I personally use the Premium version of the plug-in. This gives me the ability to provide download links to the PDF, gives clickable links, and also auto-generates document thumbnails that I can use as feature images for the document.
And… The Rest
Like any site like this, there are some plug-ins you run that serve smaller functions. Some of mine are:
This plug-in gives some really cool conditional logic over Wordpress widgets. One place I use this is to show certain specific widgets inside some courses and not others in the Library.
I’ll do a full writeup on this one later on, but this plug-in can enable some cool on-site, targeted marketing if you really put it to use.
Edit Author Slug
When you’re running a community membership site on Wordpress, you’ve got the matter of the “slug” for user profiles. In other words, the URL to their profile and their “nickname”.
This plug-in simply allows you to customize the slug for any user in the system rather than being forced to use the default (which is often their email address and can open up a privacy issue).
Enable Media Replace
This plug-in is handy if you want to update something in your Media Library without having to change any of the places that file is embedded.
I use this plug-in to upload updates to documents in the Vault without having to change anything about how the document is linked up through the LAB.
Imagify is a really nice plug-in for image optimization. It does it automatically. Nice for saving space and keeping your membership site running fast.
The Nested Pages plug-in will give you a new layout for your “Pages” list inside Wordpress and display them in a hierarchal tree. Useful when you have a site that has a whole lot of pages and the default list becomes unwieldy.
Pretty Links is a really solid link redirection plug-in. I mainly use it for affiliate links.
I use Sugar Calendar for the LAB events calendar, showing upcoming Office Hours or anything else with a date attached. You can also use it for upcoming course release dates and the like.
WPS Hide Login
The WPS Hide Login plug-in will help obfuscate Wordpress from your end-users by preventing direct access to the default URLs of Wordpress such as wp-login.php and the /wp-admin/ directory.
Yoast Duplicate Post
This plug-in is just a time saver to allow you to clone a page. Simple enough.