Configuring WordPress Membership Site For WordPress Multisite
Published on September 4, 2018 • by Avinash Kumar Updated on December 9, 2023 • 9 min Read
WordPress is currently being used by over 27% of the internet. Its open source and adaptive nature along with a highly active community of WordPress theme and plugin developers make it suitable for a wide diversity of businesses. Whether it is a blog, an eCommerce store, an informational website or a WordPress membership site, WordPress suits them all.
The dedicated WordPress development team at The Brihaspati Infotech has helped thousands of clients over the years in launching their web business using WordPress.
With this article, we share our experiences with helping an online membership/subscription-based business in setting up a WordPress membership site using WordPress multisite.
The Skeleton of a Membership Site
A membership/subscription portal is a lot different than a standard eCommerce venture. It is aimed towards providing consistent services to your customers and generating business from them on a recurring basis.
While it is not necessary for a Membership website to provide subscription services, for the sake of explaining our use case, we are considering a membership website that supports paid subscriptions.
In a majority of membership/subscription websites, multiple membership levels are used to provide access to either the frequency, amount or quality of paid services at different price points.
A short glance at some of the most popular membership services such as – purchasing an International number on Skype, online courses on Udemy, services like Amazon Prime, or a third party online marketing and analytics tool like Hubspot, reveals the core concept of a membership site. This involves:
A hustle free process for customers to join the membership and select their choice of plan
A membership dashboard that is accessible after authentication where services are either provided or managed by the subscriber
A payment gateway which is able to capture payment details and charge customers automatically if they are active members.
Developing Membership Sites in WordPress
Setting up a membership website in WordPress saves a lot of development time. The credit largely goes to a plethora of existing themes and plugins which are available for setting up an effective membership/subscription portal experience.
In our use case, we utilized WooCommerce memberships plugin to set up the ability for admin to create multiple membership levels which customers can sign up for. The plugin allows the admin to define membership levels as products which can be shown on the front-end as text fields.
Once the products(membership levels) are set up in WooCommerce memberships, the registration process is automatically created on the front-end. All we need to do is style it according to our theme.
The registration steps involve a straightforward step for users to make a payment after filling out their profile information. The payments are processed through Stripe payment gateway.
Once the payment is processed, the user is able to login into his account where the WordPress website identifies the user and his membership status based on his username and password.
As soon as the user logs in, he can gain access to the paid content/posts in the website as well as his payment records. All these pages are built as standard WordPress Pages and posts.
WordPress Membership Site Using MultiSite: Our Use Case and Approach
The project we took over was planned to be implemented as a network of two websites which will share the same WordPress database. Website A – was used to take registrations from users which were recurring subscriptions in order to grant access to paid content.
Website B – was used as a portal where users can log in and access the paid content.
This multi-site setup made sense as the business grew to a point where managing incoming signups and subscriptions and managing paid content on two different domains respectively was a lot easier from a data segmentation and marketing point of view.
However, Implementing a WordPress membership site using WordPress multisite is quite a unique use case. There are always more than one ways to approach this and determining which one suits the best needs a proper analysis of requirements.
We can either use the default WordPress MU to set up a multisite network or we could create different WordPress installations and programmatically make them share a single database.
Our Analysis Report
After a thorough analysis, we realized that:
1. Using WordPress MU would mean that although both websites would share the same database, they will have unique tables (9 each) for maintaining the data of customers
2. Taking customer payments on Website A and then allowing them to log in on Website B would mean creating two different orders for the same subscriber. This could lead to data redundancy and unnecessary confusions during development and data analysis.
3. Having unique tables for both websites and running different CRUD operations could have a negative impact on the performance of the website.
4. As both websites have different records of the same customer subscription data, it could lead to complex coding for setting up a free trial option and making sure user subscription is extended or canceled at the right time based on the due date of the subscription
Concluding from our analysis, we decided that the traditional WordPress MU option will not fit in. Hence, we implemented two different WordPress installations and made them share a single database.
We defined custom conditions using prefixes for each website in order to programmatically distinguish which data will be shown in which WordPress.
Even though this approach did not allow us to manage the multi-sites from a single dashboard, we diminish any chance of data redundancies as all the data is being saved in the default WordPress database tables.
Our approach looked like this:
We deactivated the original WordPress MU setup
Created two different WordPress installations on the same server.
Used the WordPress configuration file to define website URLs and pointed the database they need to use for different WordPress installations.
This approach allowed us to set up the same admin and database for both WordPress installations.
After setting up the config file, we create multiple check and prefixes based on which we defined which data needs to be used on which website.
The trick to take user registrations on one website and managing those registrations on a different website involved installing the WooCommerce membership plugin in both WordPress installations.
While on Website A – the plugin was utilized to capture orders and process transactions using Stripe as a payment method, on Website B – it was simply used to hide paid content from non-members by checking their subscription status.
Our approach to programmatically share the data between two WordPress installations from a single database allowed us to make sure that the functionality remains robust, extensible and data redundancy is diminished.
WordPress and its plugins have made membership portal implementation a piece of cake. Its unique use cases like these which extend the functionality of WordPress to its limits, which is required if you are looking to implement a unique business model.
There are several highly robust WordPress membership plugins available in the WordPress marketplace which can be used to set up membership portals in no time. WooCommerce memberships, Memberpress, S2member are some of the top players.
We hope our brief case study helped you in understanding how you can implement your own WordPress membership site and how to deal with unique use cases like setting up a WordPress membership site in a multisite model. If you have any queries or would like to consult about your requirements, then Hire WordPress developers from The Brihaspati Infotech today and claim a 1 day free trial of our services today.
Please correct the marked field(s) below.
Thank you for Signing Up
Job Application Form
Please Fill Out the Form Below to Submit Your Job Application!