How Evolutionary Herbalism Untangled Ontraport and Found Its WooCommerce Path
Founder, Sajah’s paid members were losing access, and he couldn’t untangle the stack alone.
A thriving school, a global membership, and a platform fighting itself.
The School of Evolutionary Herbalism, founded by Sajah Popham.
Sajah teaches herbalism as transformation, blending science, spirituality, and traditional wisdom into a comprehensive system of natural healing. Courses integrate traditional healing systems with modern insights across physical, emotional, and spiritual well-being, with community learning and plant-based practice at the center, and he runs it all as a solo founder-educator for a paying membership around the world.
But don't take our word for what this project really was.
The honest read, from inside the project.
This didn’t start as a migration project. It started as an emergency.
A stack this layered usually means patch or rebuild. Sajah needed stability first.
Membership, billing, and access logic lived in Ontraport and adjacent tools, and routine updates had become genuinely risky. Before any migration could be planned, the learning experience itself had to stop breaking.
- Navigation and breadcrumbs
- Progress and status cues
- Hierarchy rendering
- Bonus content gating
- Less Ontraport dependency
- Commerce native to WooCommerce
- Subscriptions and AffiliateWP
The real question
Paid members were hitting broken access, and Sajah couldn’t debug a brittle, tag-driven stack himself. The question was whether to keep patching a setup owned by external tools, or reclaim the entire user lifecycle.
All in all, it came down to these 6 non-negotiables.
Membership and subscription logic couldn’t stay split across Ontraport and AccessAlly, a fragmentation breaking sidebars, navigation, and lesson counts.
Breadcrumbs had to tell the truth, with parent relationships and consistent sizing, so learners knew where they were and what came next.
The custom visual states, completed, in-progress, and locked, had to actually render instead of being overridden by BuddyBoss theme CSS.
Bonus content had to honor the GamiPress points-based unlock flow, not default to LearnDash access logic through template overrides.
The BuddyBoss app compatibility issue needed a careful path: Developer Toolkit, app code sync, repository setup, and custom code changes.
Account logic couldn’t keep depending on tags, external automation, and cross-platform syncing, with commerce running outside WooCommerce.
We treated this as a stabilization-first, migration-aware project.
6 workstreams, splitting today's repairs from tomorrow's architecture.
01 · The Migration Path
A direction chosen on evidence, away from dependency.
We reviewed how deeply Ontraport was tied to subscriptions, access, and customer workflows, analyzed the fragmentation across Ontraport, AccessAlly, and WordPress, kept immediate LMS recovery separate from migration decisions, and clarified a scalable WordPress-native future: WooCommerce, subscriptions, and AffiliateWP.
-
Dependency mapped Ontraport’s reach documented in full.
-
Two tracks, split Urgent repairs kept apart from architecture calls.
-
A path out From external dependency to a unified WordPress stack.
02 · The Learning Experience
Making the platform behave the way it teaches.
The Sub-Lessons customization was debugged at template level and renamed Sub-Modules, so the full Course > Module > Sub-Module > Lesson hierarchy works across the focus-mode sidebar, navigation, breadcrumbs, and counts. CSS specificity fixes stopped BuddyBoss overriding status flags, and lost cues returned across titles, pagination, icons, and progress.
-
Hierarchy restored All four levels matching the teaching model.
-
States that mean something Completed, in-progress, and locked, distinct again.
-
Cues brought back Titles, pagination, icons, and a module-level progress bar.
03 · Access & The App
Gated content honored, app risk handled honestly.
Code-level debugging fixed frontend templates that prioritized LearnDash access over the GamiPress Restrict Content add-on, restoring the points-based unlock flow central to the product model. The BuddyBoss app error was worked from support’s instructions, repository setup and code changes included, with scope honesty preserved throughout.
-
Points-based gating back Bonus content unlocking as designed.
-
A possible app path Cautious, best-effort implementation.
-
Honesty over promises App work named as outside core expertise.
From an emergency call to a stable platform with a chosen direction.
Subscription orders carried across
Completed orders carried across
Hierarchy, every level working
Spent across the engagement
When it all came together, here's what Sajah walked away with.
From a fragile, layered stack to a platform with a next chapter
fragile, tag-driven, fraying
Business logic scattered across Ontraport, AccessAlly, and PilotPress
Broken navigation, invisible progress states
Bonus gates misfiring, updates risky
stable, owned, direction set
A stabilized LMS on a working 4-level hierarchy
Points-based access rules honored again
A WooCommerce-led migration path chosen on evidence
Losing control of your membership site?
Fix what’s breaking today, then move to a WooCommerce setup you fully own. One stack, working access, and room to grow.
- See what owning your subscriptions takes
- Learn how renewals survive the changeover
- Explore your path out of platform lock-in
Tech Partners Driving Business Outcomes
For 14+ years, we’ve partnered with ambitious businesses across industries that are investing seriously in growth and need websites built for what comes next.