How My Membership Site Is Built: The Tools & Plugins I Use To Power My Business
In this video, I’m going to take you behind the scenes and show you the exact tools and plugins that power this website. This is how my membership site is built.
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 Blog Marketing Academy. This site has a blog and public content, but it is also a membership site complete with a forum, a full online course library, and much more.
Over the years, things have evolved. I’ve gone through a lot of software and switched platforms many times. Readers who have been with me awhile get confused on what I’m using at any given time. 🙂 So, this post is being fully updated to include my current software stack.
The Ongoing Evolution Of My Membership Site Tech Stack…
I’ve been in this business for a long time and my software stack has shifted numerous times.
Some have seen that and mistakenly assumed I couldn’t make up my mind. 🙂 No, that’s not the case at all.
In some cases, it is indeed due to my considerations shifting. And since the business is a reflection of me, it must change as I change my mind on what’s important. But, in many instances, it is just the natural result of the available options getting better.
New versions happen. New options come up that weren’t there before. And when something happens that I think is a big enough deal to warrant a change, then I change.
For instance, for years my business ran on top of MemberMouse. At the time, it was indeed the most powerful membership site platform available on Wordpress. But, things changed. They didn’t keep up.
In my desire to get out of MemberMouse, I ran into the arms of Thrivecart. It sure made life simpler in some ways. Of course, it also complicated it on others because it was a third-party, hosted cart and not integrated in with Wordpress like MemberMouse.
I used Drip as my CRM for quite some time. It is always a real pain to switch CRMs. Plus, solid Wordpress options didn’t exist. I saw GroundHogg come along, but it didn’t look interesting enough to warrant a shift. It was the way FluentCRM launched that got my attention there. And I saw that I could get all the power I used from Drip but do it all “in house”.
As with many things in life, there are a lot of ways to build a membership site. A lot of different combinations of software. There is no one single, correct way. If there were, every site would look and work the same.
The stack I am using now just works. It works for me.
Yes, it has a number of moving parts. But, the world of Wordpress has matured substantially. The available tools for online business owners on Wordpress has advanced substantially. So, all these pieces seem to work pretty well.
I’ve been through a lot of changes.
I can’t promise I’ll never change anything. 🙂 Testing different tools is what I do. And while I’m pretty happy with the tech stack I’m about to share, if something new comes along that seems to warrant a shift, I can’t rule it out.
So, what I’m about to share with you is my current membership site tech stack as of this writing in February 2022.
Let’s get on with it…
My Site Theme: BuddyBoss
The theme in use on this site is BuddyBoss.
Now that I have merged the original membership site (aka The Lab) with the blog (formerly powered by Thrive Theme Builder), now everything runs on Buddyboss.
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.
You will, of course, notice that there are numerous aspects of this site that do not look “out of the box” as Buddyboss. Those modifications were all done using the Elementor page builder.
Buddyboss and Elementor work together hand-in-hand. Any aspect of the site can be modified and customized using Elementor… all but alleviating the need to dive into the code of the child theme to make visual modifications.
In fact, the entire blog design here is built with Elementor. The default blog design that comes with the Buddyboss theme is rather plain and boring. But, that’s no problem because you can easily build your own with Elementor. You do need Elementor PRO to fully work with Buddyboss, so that’s what I have.
You can see this tutorial on how I customized the blog layout of Buddyboss using Elementor.
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: WooCommerce / Cartflows
For awhile, I ran all sales through Thrivecart. I still really like Thrivecart and, in some ways, wish I could continue to use it. However, I wanted a tight Wordpress integration and seamless account management experience. Since Thrivecart is a third-party hosted cart, it didn’t provide what I wanted for a membership site.
So, I switched to WooCommerce.
You can read my full Thrivecart review here and learn why I chose to use it. However, I have since switched because of specific needs to WooCommerce.
Since WooCommerce is so well supported and integrates directly with Wordpress, this means I have a tight integration with everything else on the site. Members can also manage their own accounts with on the site.
WooCommerce Subscriptions takes care of recurring billing. One nice thing about WooCommerce is that there is a plugin that can enable almost anything you’d ever want to do.
Case in point…
One of the awesome things about Thrivecart was the easy sales funnels, one-click upsells, etc. WooCommerce doesn’t do that “out of the box”. By default, WooCommerce works and looks like a standard shopping cart.
I use Cartflows to provide full sales funnel and upsell functionality on top of WooCommerce. Cartflows also works nicely with Elementor so that I can make those sales pages, upsell pages and more in a very visual way. In essence, Cartflows makes it so that you have all of the power of Thrivecart, but do it in-house on WooCommerce and all the flexibility that provides.
Word is that Cartflows is working on a full shopping cart to replace WooCommerce, so we shall see what happens there. 😉
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…
Membership Plugin: WP Fusion
WP Fusion is the glue that makes the membership work.
WP Fusion is, in my opinion, the best membership plugin for Wordpress that isn’t even positioned as a membership plugin at all. But, it simply works so well.
What WP Fusion does is “fuses” your Wordpress site with your CRM database and then allows you to fully control everything your user sees (or doesn’t see) based on tags on their profile.
WP Fusion also makes extremely tight integrations between other plugins. It works beautifully with WooCommerce, in fact. So, when a person makes a certain purchase, they are assigned certain tags in the CRM which, in turn, grants access to whatever they bought.
WP Fusion does access control on all courses. It shows/hides page elements when needed. It even has a great integration with Elementor so that I can show/hide any page element based on tags.
WP Fusion is like the Swiss army knife for Wordpress-based online marketing. You can read my full WP Fusion review here.
To work, though, it needs to be couple with a CRM. And mine. is…
Email CRM: FluentCRM
I used Drip for quite some time for my email list. And WP Fusion works very well with Drip. But, I have since made the switch to FluentCRM.
FluentCRM is a full marketing automation CRM that works right inside Wordpress. The fact that it works inside Wordpress means there is TIGHT integration with other elements of your tech stack. This means:
- You can use in-site triggers for automations
- Beautiful, full integration with WooCommerce. You can even see any contact’s full order history right on their profile.
- Full integration with Learndash, so you can see every course they’re enrolled in, their progress on the course, etc.
I’m so glad that I switched to FluentCRM. The native integrations within Wordpress just makes life easier. My email delivery and open rates are fine (in fact, open rates have increased). And I no longer have the huge monthly bill of Drip.
Online Courses & Videos
Like most membership sites, the core of the content inside the PRO membership comes in the form of online courses. And right now, there are 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. FluentCRM also works great with Learndash so I can view course progress right inside their CRM profile.
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 / Presto Player
All course videos are hosted by Vimeo. Specifically, the Vimeo PRO subscription.
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 membership, I have full protections on videos, nice management capability, ability to customize the player, and much more. Vimeo is really a great service.
More recently, I have begun to play around with Presto Player.
Presto Player works on top of Wordpress itself and has many of the same capabilities as Vimeo. It also (obviously) integrates nicely with the Wordpress stack, so you have easy drag/drop in the block editor, integration with Learndash, Elementor, etc. In many ways, Presto makes more sense than Vimeo.
Truth is, though, I have so many videos on Vimeo that it would be a big project to switch everything over. So, as it is, I use Presto in some places and Vimeo in others. If I were starting from scratch, I’d definitely go with Presto right away because it would save the subscription cost on Vimeo Pro.
You can see my Presto Player review here.
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
Advanced Custom Fields is… freakin’ awesome. You can use it to tailor Wordpress to your needs. It creates custom fields, of various types, anyplace in Wordpress that you need it.
There are other ways, of course, to make custom fields. You’ve got plugins like Pods and Metabox or you can even do it by code if you’re brave enough. But, I like the way ACF works and looks.
I use ACF in a number of places throughout the platform:
- Adding my own Vimeo embed field to LearnDash lessons (although you can use the block editor, too)
- 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 on blog posts to track things such as content audits, deadlines, etc.
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.
WP Fusion also works great with custom fields so I can make sure it is all synced back to member profiles.
There are so many possibilities of things one could build with ACF.
Admin Columns Pro
Admin Columns 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.
Forms: Fluent Forms
Any membership site is going to use forms to collect data. It could be for surveys, member requests, general contact forms, etc.
For quite some time, I was using Gravity Forms. It works well and it is well supported since it has been around for so long. It is hard to go wrong with Gravity Forms. But…
I switched 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 Fluent Forms. Done. FluentForms also has an integration with Elementor.
I’ve also become quite the fan of WP Manage Ninja, the company behind FluentCRM, Fluent Forms, Fluent Support and more. Their products work together very tightly, so there are benefits (especially for a membership site owner) of using their tech stack. For instance:
- I can view all forms submissions across the whole site for any individual user right in their CRM profile in FluentCRM.
- The integrations to send form input into FluentCRM or trigger automations is seamless and there’s no API complexity or Zapier needed.
- Fluent Forms has a great integration with Elementor.
That is why I now use Fluent Forms for all of my forms.
The Rest Of My Tech Stack
Like any site like this, there are some plug-ins you run that serve smaller functions. The ones I mentioned above are the core systems. But, there are others and I thought I would mention them.
I’m not going to mention every single plugin I use. In total I am using 58 plugins right now. That’s a lot to mention and not every single one of them even justifies a mention.
BTW, if you’re concerned I’m running too many plugins, check out my video on how many plugins is too many.
To be clear, AffiliateWP is no small plugin. I use it to run my affiliate program and it integrates beautifully with everything. This plugin deserves a bigger writeup and I will do that at some point.
The Block Visibility plugin gives some really cool conditional logic over Wordpress blocks in the block editor. It adds a full contextual menu on any block so you can control who sees it and who doesn’t. It is really quite powerful and enables all kinds of cool features on your site.
The PRO version adds some awesome features, but I am just using the free version currently to control visibility based on member tags using the built-in WP Fusion integration.
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”.
The Edit Author Slug 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).
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.
I use the PDF Embedder Premium plugin for the Document Library inside the membership. It allows PDF documents to be displayed right on site rather than opening the PDF in a browser tab.
In my case, I have created a custom post type for PDF documents and I organize documents that way. PDF Embedder simply enables the clean display of the documents from the Media Library.
See my tutorial on how to create a PDF library and cleanly embed PDFs.
PerfMatters is a great, lightweight Wordpress performance plugin. I use it to implement numerous optimizations across this site. I also use the built-in plugin manager to take control of the 58 plugins active on this site to ensure I am only activating them when they’re actually needed.
I also have various server optimizations in place, including Redis caching along with the Redis Object Cache plugin. I use WP Rocket for standard caching.
Pretty Links is a really solid link redirection plug-in. I mainly use it for affiliate links.
This one deserves a full writeup which I will do. But, yes, I use RankMath Pro as my SEO plugin. That isn’t super relevant to membership site content since it is all locked down anyway, but since this site also has the full blog I am using RankMath to handle my SEO needs.
I used to use Yoast SEO. It works nicely, too. But, I think RankMath is better designed and offers more for the money. Simple as that.
Uncanny Toolkit for Learndash
This handy plugin offers some additional functionality for Learndash. Uncanny Toolkit for Learndash actually does far more than I am using it for.
I am basically only using it to enable single-lesson courses. Honestly, that is functionality that should be built into Learndash, but it is what it is. And rather than take the time to figure out how to customize things myself for single lesson courses, I just bought this plugin to get the job done quickly.
If you’re using Learndash, too, then this add-on might provide some functionality you’ve been looking for.
You have to use a backup plugin and I use UpdraftPlus. It also syncs my backups to Dropbox automatically for me.
One of the benefits of such a Wordpress-focused tech stack is that my backups include… everything. My email list, orders, member database… everything. No longer do I have data spread out all over the place.
Yoast Duplicate Post
This plug-in is just a time saver to allow you to clone a page. Simple enough.
What do you use for opt-ins for the Free Membership + The EDGE?
I want to say FluentForms + Elementor (for landing page, popup form) + FluentCRM (including the new WordPress user automation)
Do you use CartFlows in anyway for that? or do you reserve CartFlows for the actual purchasing of products. Just asking since there’s this optin thing in CartFlows:
What plugin do you use for comments? Anti-spam?
On this site, people need to be logged into their membership to post a comment. That wards off the spambots.
Thank you for this. I’m learning how much I don’t know but I appreciate the overview.
If you have any questions, just ask. 🙂
Just wondering if blogmarketingacademy and the lab are one site? Or multiple sites?
As of yesterday, it is all back to one site again. I have some updates coming about this on the blog. 🙂
Great post David, full of valuable knowledge, thanks for the insider’s view. Do you use any type of SMTP plugin and service for your transactional email needs?
Yeah, I use FluentSMTP and Post SMTP in difference places. And I’m running some email through Sendgrid, and some through FastMail (since that’s what I use for my domain email).