It's been live for a few years now, but I wanted to write a post about a digital infrastructure project that had a lot of requirements and features.
ANCOLD has been a client of ours for close on 20 years. Originally we made their conference websites through an events company, and eventually took over their existing main website which we ran for about 5 years. When the time came to rebuild it, we went back to the drawing board and worked out from the beginning all the things that ANCOLD needed from a web presence.
That was extensive, and so through working out budgets and requirements, we came to the conclusion that we needed to leverage Wordpress and it's plugin infrastructure to achieve all the stuff, but without blowing out to the very big numbers.
Here's what we needed to make!!!!:
- A densely informational website with over 10 years of posts, pages, media and functional backlog
- Full eCommerce selling both physical and digital products, including website-hosted video/presentation embeds.
- ANCOLD organisation multi-tiered Membership applications, with approvals system
- Member website benefits permissions
- Bi-directional user's sync to CRM (Keap), and manage access and membership permissions
- Subscription payments
- Member profile, billing, and settings management
- Digital Rights Management of online technical guidelines.
- Content Management System (obviously).
- Automations for billings, marketing, membership approvals, etc etc
That's a solid set of requirements.
We usually build Wordpress themes with flexible content in Advanced Custom Fields (ACF) - with Will doing the template development. But this time considering budgets and the extent which I knew the client it was different.
Frontend Template Builds.
Recently I'd been working on a few small and medium-sized websites with Elementor in the months before starting this project. I'm a designer with enough dev skills to be dangerous as opposed to helpful, and so I love the power that Elementor gives me in conjunction with ACF - particularly being able to make complex data structures, and leverage that record data across the site through ACF relationships, taxonomies, and direct post data pulls. Things that Will can do, but I can't are now accessible. I'd been using Elementor Pro (I don't know what's extra from the free version but I think it's worth the money), and extending it with the Dynamic set which is great for more extensive data pull tools and frontend tricks. I also use the JetEngine stuff from Crocoblock, which I particularly use for their search filtering and a few specific extras. BTW, if you cant make something work with Jet tools, they'll often make it for you, or have already made it as an unreleased plugin. (Plus they're Ukrainian so your money is helping that effort).
Elementor Pro has a full templating engine, which means I can template all the different aspects of your site and conditionally use them for different post-types, data sets, cards, loops, singles, popups, etc etc. It's super powerful and you can get very advanced without writing too much code.
There's the odd buggy thing in Elementor, like sometimes the editor won't load when you have a site wide 'Page' template. I think. Also you can't use the latest versions of FontAwesome and a few other things. I've found the support for the extensions to be really strong, but Elementor's support is a bit average. It hasn't stopped development though.
I decided that Elementor was solid enough for me to use on this project to build out the frontend.
Members and the CRM
Because ANCOLD is funded by people within the water and dam build and management industry, it has a large membership base that converges around ANCOLD as a peak body. ANCOLD is funded partly by organisational and individual members who are at different stages of their careers.
To manage the people, we needed to choose a CRM. And with some real world syncing and automation requirements, we chose Keap. While we've since come to see some shortcomings with Keap, it's predecessor InfusionSoft was a trailblazer in Automation, and Keap continues that.
Individual members can join themselves. Organisations have multiple employees, and can opt to add and remove those employees to their organisational membership.
We were already using WooCommerce for the eCommerce aspects of the website, and so WooMemberships with the Teams extension was an integrated way to give that functionality, and allow admins to grant permissions on content and purchases while leaving the people management to the organisations. Additionally through the MyAccount area, users can manage their billings, purchased content and profile details.
Membership is by application only. The application is through a Gravity Form on the website, which creates a user and marks them as Pending. ANCOLD then evaluates the application offline and decides if they are membership material. (we'll come back to this)
The user is in Wordpress, but we needed to get them across as a user to keap. For this, we used the excellent plugin WPFusion which allows a lot of different connections, and lets you connect fields and data between the 2 systems seamlessly. Epic plugin. During the application process we tag the user as 'Pending membership'.
Once the user has been approved, Admin accesses Keap and changes their tag to eg 'Associate Member'. This sets off an automation which syncs back to the website through WPFusion, and activates the user's membership in real time - giving them access to all the member benefits on the website.
Took a few go's and different plugins to work all this out, but it's seamless now.
eCommerce with Woo
ANCOLD video records all the presentations at their annual conference. They then use a service to sync the video of the speaker to that speaker's powerpoint presentation, which can be accessed as a single navigable, scrubbable file and delivered in a webpage. I've never seen it before or since, but it's pretty cool functionality for delivering presentations online.
So while selling books and digital files is pretty standard functionality in WooCommerce, selling ACCESS to these presentations is quite a lot more complicated. You need to grant 1 user immediate access to a single page with an embedded file at the time of purchase, and give them a link to get to that. We had set this up on their old website, so remaking it was more about the huge content permissions structure. There's a bunch of tricks here, but basically I used the plugins Groups and Groups for WooCommerce to enable the individual user permissions. It's tricky and we had to use a lot of discipline and organisation for the content to match back to the product purchase to allow the access to work. Emily is the legend of that.
Digital Rights Management (DRM) with Vitrium
While we are on the subject of eCommerce, we also sell eResources which are mostly technical guidelines that definitely shouldn't be able to be shared. The external DRM system 'Vitrium' is very powerful and works well. Will did a development to tokenise Wordpress user access to Vitrium, which we manually grant access to either the individual or the organisation.
Individual users purchase a subscription to the service, which we manage through WooSubscriptions. I've used this plugin a lot, and it's a way to trigger the subscription payment outside your payment system, but without holding any CC details - which is importantly held within eg Stripe. This is all important because you want to have that subscription functionality on the website so you can grant or remove permissions when a payment isn't made, but also keep secure by offloading the payent process and storage. Best of both worlds. It works seamlessly with WooMemberships (which is nice!).
Content migration
The big backlog of content, especially the eCommerce products, had to be moved across to the new website. This is hugely complex to do directly to the database, or hugely boring (though safe) to do 1-by-1 manually.
We decided to try the plugin WP All Import. This took a huge load off the pile of content, but ultimately we'd changed a lot of data structure and so needed to fill in all the gaps. I recommend that pathway because it's partly quick, but then you're forced to do the intricate checks. The video pages are the hardest to setup, and so they were mostly done manually.
Obviously, new design and customised pages etc were built with Elementor and its templating engine. Still love the control I have with all of this.
Menus we built with Max Mega Menu, which I still find better than some of the other mega-menu builders.
All the important boring stuff.
- Hosting - Cloudways with Digital Ocean servers
- SEO - Yoast
- Security - Wordfence and Cloudflare
- Cache - Breeze for Cloudways and Object Cache Pro
- Data structures and CPT- ACF Pro
That's it.
Ok, so that's it for the post. This project took about 6 months to build end-to-end but I reckon with all the learnings I could probably do it again in half that. If your organisation wants to leverage some of these features that let you retain a Wordpress website while aiding the build of the more complex aspects of member and information that make your organisation valuable, please give Kindleman a shout. Love to build this again, and tweek it to your requirements.
Leave a Reply
Comments
No comments on this article.
comments powered by Disqus