We were recently asked to design and build a website for a new not for profit association, and below are the details of how we addressed the specific client needs and solved their membership sign up problem.
The client’s site was built in WordPress (and we love Wordrpress), so it made sense to keep it on the platform, and bolt on the right plug in to manage member sign ups, and access to member-only pages.
There are many out-of-the box options for building a member website in WordPress, but the problem (as we found out) is they are designed to build out a mass audience with one level of membership. One person pays, and that person gets access to protected content for however long they are a member – a month, or year.
Complex membership needs
Of course, if you are running a professional association, they just don’t work that way. A professional association has more complex needs such as:
Multiple levels of membership
There might be a ‘Standard’ member, a ‘Premium’ member, ‘Student’ member, ‘Associate’ member, and ‘Company’ member. Each would have its own member pricing, and possibly different access to content on the site.
A searchable directory of members
Most out-of-the-box plug ins don’t offer this – again they are assuming a completely different member model.
But for an association, a directory is a critical feature for the public to find and verify members. The plug-ins we found that do offer a directory, weren’t terribly flexible, with no ability to add in custom fields. (Maybe you need to show multiple office locations? Or show industry credentials?)
Having a flexible directory will let you sort and search for members with fields that make sense – for example: by city, by company name, membership level, by first or last name, by languages spoken. A flexible directory will also let you adjust the sort order in searches, showing the Premium members first, then the Standard members.
Ability to approve members once they sign up
If its a professional association made up of credentialed members, then the association will likely want to verify the applicant is real, and not a random person who just paid for the membership. So when a person signs up, we need to process the payment, but then ‘hold’ the member for approval.
Ability to automatically renew memberships year after year
If there isn’t an auto renew function, chasing after memberships every year becomes a huge pain, and almost certainly negatively impacting annual renewals.
If an admin person is sending three reminder emails to lapsed members, and processing fees manually – its a huge drain on their time. Far better to send out renewal notifications, and charge the credit card on file.
OK, so how did we build it?
Well, as we said, the standard membership plug-ins were not going to work. So we went our trusty custom post type builder, Toolset. We’ve used this paid plug-in for years on various sites for building out databases, so it was a natural choice.
Toolset let us create all the user types we wanted, and would let us give different access for each type of user, if we ever needed it. It also let us add on any custom fields we wanted, such as languages spoken.
It also let us create a solution for ‘company’, where a company would include standard members within it. When users signed up as a company, (typically done by an admin person), the company would have a contact person, and get links for however many standard memberships would be attached to it.
Collecting payments for membership subscriptions
The most reliable way to collect payments in this case is Woocommerce (for the shopping cart and subscription features), plus Stripe to do the credit card transactions. (The site was designed and built for a Canadian association. Payment choices where you are may be different.)
Woocommerce subscription subscriber problem
The only hang up we had here was Woocommerce’s subscription plug in only understands one type of subscription level. Whether you signed up as a Premium user, or a Student – Woocommerce always ended up making the user a ‘Subscriber’. The subscription plug in was going to make reminder notifications and renewals easy, we we really wanted to find some way of making this work.
With some good support from Toolset, we were able to add some PHP to get it to understand and keep the right user role when they signed up.
We did have some other ways of doing this, but we’re happy we were able to make Woocommerce’s subscription plug in work.
Client side and member support
As much as we all would like to run a complex membership site hands-free, some admin work is still required on the client side. In this case, members need to be approved manually (a requested feature) – so someone needs to be in charge of receiving those notification emails, and has site access to approve new members.
Inevitably, there will be various member requests that will come up over time that will require some service:
- Requests to upgrade / downgrade memberships. This can be made self-serve, but the ‘company’ membership scenario complicates that. This particular association has about 500 members, so it shouldn’t be unmanageable.
- Users who want to edit their public info. They can do this themselves in the system, but not everyone is web savvy, and someone will need some handholding to get it changed.
- Writing notifications. There will be about a dozen emails that will need to be written, from the initial ‘welcome’ email, to ‘sorry your application to join has been rejected’ email. Know this will need to be taken care of before launch.
Website maintenance
If you are contemplating an online membership system, the internal organization support, as well as support from your system provider, will be ongoing. Aside from annual web hosting fees and regular software updates, issues do crop up from time to time that will need attention. So just be aware of this as you put together your annual IT budget.
Launching the online membership system
If your site has existing paying members, you’ll need to decide how to handle that. We can import in member details, but decisions will need to be made about renewal dates. The system can be configured so everyone keeps their own annual renewal date, or it can be set so everyone renews on the same date.
Summing up
So can a membership website with complex needs be designed and built in WordPress? Yes, for sure! Just not out of the box. With the right tools (and team!) you can get the membership website you need, and streamline your membership operations.