A complete guide for migrating a WordPress community, membership site, or course platform to Tenant.so — covering LearnDash, MemberPress, BuddyPress, LifterLMS, bbPress, WooCommerce Memberships, and the rest of the plugin stack.
Running a community on WordPress means running a stack: an LMS plugin, a membership plugin, a forum or BuddyPress, WooCommerce or MemberPress for payments, an email plugin, Zapier or Uncanny Automator for automation, a security plugin, backup plugin, caching plugin, page builder, and a theme. Ten plugins, four vendors, and a maintenance calendar. This guide moves you from that stack to a single hosted platform without losing content, members, or search ranking.
- Who This Guide Is For
- Why Migrate
- What You'll Save
- Common WordPress Stacks
- Feature Comparison
- Migration Checklist
- Step-by-Step Guide
- Data Export from WordPress
- Handling Redirects & SEO
- Setting Up Tenant.so
- Member Communication
- Post-Migration Checklist
- FAQ
- When NOT to Migrate
- Support
You'll get the most out of this guide if you're running any of these on WordPress today:
- LearnDash, LifterLMS, Tutor LMS, or Sensei for courses
- MemberPress, Restrict Content Pro, Paid Memberships Pro, or WooCommerce Memberships for paywalls
- BuddyPress, BuddyBoss, PeepSo, or Ultimate Member for community
- bbPress, wpForo, or Asgaros for forums
- WooCommerce for course/product sales
- FluentCRM, MailPoet, or an external email tool bolted on
- Uncanny Automator, WP Fusion, or Zapier for automation
If your WordPress site is a blog with a comments section, this guide isn't for you. If it's a community, course platform, or membership business that requires 5+ plugins to run, keep reading.
- Plugin conflicts - LearnDash updates and suddenly BuddyPress notifications break. MemberPress rolls out a new billing feature and WooCommerce hooks fire twice.
- Update paralysis - every plugin update is a decision. Delay too long and you're vulnerable. Update too fast and something breaks in production.
- Security patches - every plugin is an attack surface. You are the security team.
- Performance - 20+ plugins loading on every request. Caching plugins to compensate. CDN to compensate for the caching. It's plugins all the way down.
- Feature gaps - no real-time chat, no proper gamification, no built-in email marketing that doesn't cost extra, no AI course assistant, and every "add-on" is another $99/year.
- Modern UX - BuddyPress and bbPress look like 2013 unless you buy a premium theme and spend weeks styling it.
- Mobile experience - either "responsive-ish" or you pay for a companion app that syncs poorly.
- Vendor lock-in through complexity - the more plugins you add, the harder it is to leave any single one.
| WordPress Stack | Tenant.so Feature |
|---|---|
| LearnDash / LifterLMS / Tutor | Built-in course engine (sections, lessons, quizzes, progress) |
| MemberPress / RCP / PMP | Built-in paywalls, subscriptions, and free tier |
| BuddyPress / BuddyBoss | Built-in community spaces (feed, chat, events) |
| bbPress / wpForo | Feed spaces with threaded replies |
| WooCommerce (for course sales) | Built-in Stripe checkout with subscriptions |
| FluentCRM / MailPoet | Built-in email marketing (campaigns + sequences + transactional) |
| Uncanny Automator / WP Fusion | Built-in triggers, tags, and integrations |
| GamiPress / MyCred | Built-in gamification (streaks, badges, leagues) |
| Custom Discord bot dev | Native Discord bot integration |
| Zapier | 31+ built-in integrations |
| Backup + security + caching plugins | Hosted platform — not your problem |
A representative WordPress community stack — priced by annual license, spread monthly:
| Component | Monthly Equivalent |
|---|---|
| Managed WordPress hosting (Kinsta, WP Engine, etc.) | $30-100/mo |
| LearnDash Pro | $17/mo ($199/yr) |
| MemberPress Basic | $15/mo ($179/yr) |
| BuddyBoss Platform + Theme | $28/mo ($328/yr) |
| WooCommerce Subscriptions | $17/mo ($199/yr) |
| FluentCRM Pro | $10/mo ($129/yr) |
| Uncanny Automator | $12/mo ($149/yr) |
| GamiPress + add-ons | $8/mo ($99/yr) |
| Backup + security + caching (Wordfence, UpdraftPlus, etc.) | $20/mo |
| Zapier (for anything not covered) | $49/mo |
| ConvertKit / Mailchimp (if you don't trust FluentCRM alone) | $79/mo |
| Total (typical stack) | $285-425/mo |
| Plus: 5-15 hours/month of maintenance | Priceless |
Annual savings: $3,420 - $5,100 in software, plus 60-180 hours of your time.
The maintenance time is often the bigger win. Community operators consistently underestimate what a plugin-based stack actually costs when you count the hours spent on updates, conflicts, and support tickets.
Which one describes you? Migration steps are similar but with different data-export tools.
Course platform with community bolted on. Very common. Migration priority: courses first, community second.
Paywalled content library with member forums. Migration priority: subscription list first, then content.
Old-school forum with premium sections. Migration priority: user list + high-value threads. Most WordPress forums have years of low-value posts you should leave behind.
Selling courses/memberships as WooCommerce products. Migration priority: order history + active subscriptions.
Six plugins from four vendors with custom code holding it together. Migration priority: users + payment data first, everything else is a chance to simplify.
Compared to a typical LearnDash + MemberPress + BuddyBoss stack:
| Feature | WordPress Stack | Tenant.so |
|---|---|---|
| Community feed | BuddyBoss (Yes) | Yes |
| Real-time chat | Add-on required | Yes (built-in) |
| Online courses | LearnDash (Yes) | Yes |
| Quizzes | LearnDash (Yes) | Yes |
| Certificates | LearnDash add-on | Yes |
| Events | Add-on required | Yes |
| Gamification | GamiPress plugin | Yes (streaks, badges, leagues) |
| AI course assistant | No | Yes (Jarvis, RAG) |
| Built-in email marketing | FluentCRM or external | Yes |
| Native Discord bot | Custom dev | Yes |
| Free member tier | MemberPress config | Yes (built-in) |
| Custom domain | Yes | Yes |
| API | Yes (WP REST API) | Yes (tRPC + REST) |
| Crypto payments | Third-party plugin | Yes (incl. Monero) |
| BNPL / ACH | Stripe plugin | Yes (built-in) |
| Multi-tenant | No | Yes |
| Hosting included | No (you pay separately) | Yes |
| Backups | Plugin required | Managed |
| Security patches | You handle | Managed |
| Mobile app | Companion plugin (limited) | In beta (iOS submission) |
- Full WordPress backup (files + database) using UpdraftPlus or your host
- Export users via Tools → Export Personal Data or All-Import Pro
- Export course structure from LearnDash/LifterLMS (see Data Export)
- Export order + subscription history from WooCommerce or MemberPress
- Export forum posts from bbPress if you're keeping high-value threads
- Screenshot your site's structure and branding
- Document every plugin and its purpose (you'll want this list for the "canceling" checklist)
- Inventory active integrations (Zapier zaps, webhook endpoints, external services)
- Note your custom domain, DNS provider, and SSL configuration
- Baseline your Google Analytics / Search Console metrics before migration
- Set up Tenant.so account and configure branding
- Recreate space structure
- Import courses (this is the biggest chunk of work)
- Bulk-invite members using exported CSV
- Configure email domain (replaces FluentCRM/MailPoet)
- Set up Stripe payment plans mirroring your WooCommerce/MemberPress plans
- Enable gamification (replaces GamiPress)
- Test full member journey end-to-end
- Prepare 301 redirect map (see Redirects & SEO)
- Point custom domain to Tenant.so
- Deploy 301 redirects on WordPress → new Tenant.so URLs
- Send migration announcement to members
- Monitor Search Console for indexing changes over the next 4-8 weeks
- Keep WordPress running in read-only mode for 30-60 days
- Sunset WordPress: cancel plugins, downsize hosting, keep an archive
The specific tools depend on your stack. See the Data Export section for per-plugin instructions.
At minimum, before you touch anything else, capture:
- User list with roles (CSV: email, name, join date, role)
- Course structure (course → module → lesson tree with content)
- Active subscriptions (email, plan, next billing date, Stripe customer ID)
- URL map of high-traffic pages (for redirects)
| WordPress Concept | Tenant.so Equivalent |
|---|---|
| Site | Tenant |
| Membership Level (MemberPress) | Group with paywall |
| Course (LearnDash) | Space (COURSE type) inside a Group |
| Lesson (LearnDash) | Lesson (with progress tracking) |
| Topic (LearnDash) | Sub-lesson or lesson section |
| Quiz (LearnDash) | Quiz lesson |
| Group (LearnDash Groups) | Group with member access |
| BuddyPress Group | Space with private visibility |
| BuddyPress Activity Feed | Space (FEED type) |
| bbPress Forum | Space (FEED type) with threaded discussions |
| bbPress Topic | Post |
| WooCommerce Product (course) | Priced Space or Course paywall |
| WooCommerce Subscription | Tenant.so Subscription |
| BuddyBoss Direct Message | DM |
| User Role | Role (Admin, Moderator, Member) + Group access |
- Create your community at tenant.so
- Configure branding — logo, colors, theme
- Create Groups — one per membership tier from MemberPress/WooCommerce
- Create Spaces — recreate your course structure and community sections
- Import courses — see Step 4
- Configure payments — connect your existing Stripe account
- Set up email — configure sending domain
- Enable integrations — replace Zapier zaps with native integrations where possible
Courses are usually the highest-value content and the most time-consuming to migrate. Approach:
- Export the course tree from LearnDash/LifterLMS/Tutor as XML or CSV
- Recreate the structure in Tenant.so (space → sections → lessons)
- Copy lesson content — text can be pasted, video embeds (Vimeo, YouTube, Wistia) work identically, images need to be re-uploaded to Tenant.so's R2-backed media library
- Recreate quizzes — question banks don't have a universal format, so this is manual
- Test progress tracking — walk through a lesson as a test student
For large course libraries (10+ courses), consider a phased migration: launch with your top 3 courses, add the rest over 30-60 days.
Option A: Bulk Invite (Recommended)
- Export member list from WordPress (
users.csvwith email + role) - Use Tenant.so's admin invite wizard to bulk-invite with the correct Group access
- Members accept the invite and set a password (they don't lose access to their WordPress account until you shut it down)
- Members with active Stripe subscriptions in WordPress get invited to the equivalent Group
Option B: Sync Subscriptions
- Export Stripe customer + subscription data from WooCommerce/MemberPress
- Because Stripe is the same underlying account, subscriptions can continue
- Use Tenant.so's admin to grant Group access based on the existing subscription
- Build a URL map: every high-traffic WordPress URL → its Tenant.so equivalent
- Deploy 301 redirects at the WordPress level (see Redirects & SEO)
- Update DNS to point your custom domain at Tenant.so
- Keep WordPress accessible at a sub-domain (
old.yourdomain.com) for the transition period - After 60 days, archive the WordPress database and shut down the site
- Users: Users → All Users → Export (or use All-Import Pro for more control)
- Posts/pages: Tools → Export → All Content (XML)
- Courses: LearnDash LMS → Overview → Reports → Export
- Students + progress: LearnDash LMS → Reports → Progress → Export CSV
- Quiz results: LearnDash LMS → Reports → Quiz → Export
- Course content: manual - copy lesson content per lesson (there's no clean XML export of lesson body text)
- Courses: LifterLMS → Tools → Course Export
- Students: LifterLMS → Reports → Students → Export CSV
- Orders: LifterLMS → Orders → Export
- Courses: Tutor LMS → Tools → Export (JSON)
- Students: Tutor LMS → Enrollments → Export CSV
- Members: MemberPress → Members → Export CSV
- Subscriptions: MemberPress → Subscriptions → Export CSV
- Transactions: MemberPress → Transactions → Export CSV
- Customers: WooCommerce → Customers → Export
- Subscriptions: WooCommerce → Subscriptions → Export CSV
- Orders: WooCommerce → Orders → Export
- Members: standard WordPress users export
- Activity/posts: BuddyPress does not have a native export tool - use a plugin like WP All Export Pro or query the
_bp_activitytable via WP-CLI - Groups: recreate manually (usually cleaner than importing)
- Topics/replies: Tools → Export → Forums
- User signatures/profiles: standard WP users export
- Subscribers: Contacts → Export CSV (tag-based export supported)
- Sequences: manually recreate in Tenant.so's email builder
- Segments: rebuild using Tenant.so's audience filters
- Points/badges: not directly exportable in a useful format - decide whether to reset (recommended) or manually grant equivalent recognition badges
If your WordPress site has SEO traffic, redirect handling matters. Do not skip this step or you will lose rankings.
Common URL patterns to map:
| WordPress URL | Tenant.so URL |
|---|---|
/courses/[course-slug]/ |
/spaces/[course-space-slug] |
/courses/[course-slug]/lessons/[lesson]/ |
/spaces/[course-space-slug]/lessons/[lesson-slug] |
/groups/[group-slug]/ |
/groups/[group-slug] |
/forums/topic/[topic-slug]/ |
/spaces/discussion/posts/[post-slug] |
/blog/[post-slug]/ |
Marketing site or new blog space |
/pricing/ |
tenant.so marketing site or a public info space |
Option A: WordPress plugin during transition (Redirection or Rank Math)
- Install the Redirection plugin on WordPress before you sunset
- Bulk-import your URL map as 301 redirects
- Keep WordPress running (thin, redirect-only) for 6-12 months
Option B: Server-level redirects (post-sunset)
- Export your redirect map as Apache
.htaccessrules or nginxrewritedirectives - Point your custom domain DNS at Tenant.so
- Use a lightweight service (Cloudflare Rules, a small VPS, or Vercel edge middleware) to serve the 301s
- Add the Tenant.so-hosted URL as a new property in Google Search Console
- Submit the new sitemap
- Use the Change of Address tool if you're moving to a new domain
- Monitor "Coverage" reports for 4-8 weeks - expect a temporary dip in traffic
Community and course platform URLs rarely rank for high-value keywords on their own — the marketing pages do. Most of the SEO risk lives in:
- Blog posts (keep them on a marketing site or migrate to a public info space)
- Course landing pages (recreate as Tenant.so-native paywalled space pages)
- Forum topics that got Google traffic (these are usually a small subset - audit before assuming they matter)
Groups:
- Public - landing space, blog-style feed, event previews
- Members - main course library, community feed, live chat
- (optional) VIP - coaching, mastermind, direct access
Spaces inside Members Group:
- General Discussion (FEED) - replaces BuddyPress activity feed
- Live Chat (CHAT) - the thing WordPress couldn't do without a hacky add-on
- Course: [Signature Course] (COURSE) - replaces LearnDash course
- Additional courses (COURSE) - one space per course
- Events (EVENT) - replaces The Events Calendar plugin
- Resource Library (FEED, pinned) - replaces "Downloads" pages
Recreate your WooCommerce/MemberPress pricing on Tenant.so:
- Connect your existing Stripe account
- Recreate subscription plans (Tenant.so uses Stripe under the hood, so pricing continuity is straightforward)
- Enable BNPL, ACH, and (optionally) crypto for higher-ticket offerings
Subject: We're moving to a new platform (here's what changes for you)
Hi [Name],
I've been running our community on WordPress for a while. It's served us well,
but the plugin stack is holding us back. I'm moving everything to Tenant.so —
one platform instead of ten plugins.
Here's what you'll notice:
- Real-time chat (not just forum replies)
- Faster pages (no more waiting on plugins to load)
- A cleaner mobile experience
- Streaks and badges for engagement
- A course assistant that answers your questions from lesson content
- Same courses, same content, better everything else
What you need to do:
1. Watch for an invitation email from Tenant.so (arriving [DATE])
2. Set a new password (your data comes with you)
3. Your subscription and course access transfer automatically
Migration date: [DATE]. WordPress will stay live in read-only mode for 60 days
after that — plenty of time for you to make the switch.
Reply if you have questions.
[Your name]
🚀 We've moved!
Our new home: [LINK]
Everything you love is still here — plus real-time chat, faster pages, and
a much better mobile experience. This WordPress site will stay in read-only
mode for 60 days, then close.
Join us: [LINK]
Welcome to our new home!
Coming from our WordPress community? Here's what's different:
- Chat is real-time now (check the Live Chat space)
- Pages load faster - no more plugin bloat
- You can earn streaks and badges
- Jarvis, our course assistant, answers questions about lesson content
- Everything is in one place - no more toggling between forum, LMS, and email tools
Update your profile and drop an intro in General Discussion.
Glad you're here.
- Monitor signup rate - send reminders to non-migrated members
- Verify Stripe subscriptions are firing correctly on Tenant.so
- Check Search Console for any indexing errors
- Confirm 301 redirects are serving correctly (test 10-20 URLs)
- Personally welcome new signups
- Second reminder to non-migrated members
- Host your first live event on the new platform
- Turn on gamification if you haven't already
- Cancel Zapier, ConvertKit, and other tools now replaced by Tenant.so
- Cancel plugin licenses no longer in use (LearnDash, MemberPress, BuddyBoss, GamiPress, etc.)
- Downsize WordPress hosting to the smallest tier that keeps redirects working
- Final reminder to remaining members
- Audit external links (website, socials, email signatures) for stale WordPress URLs
- Sunset WordPress fully OR keep as thin redirect layer indefinitely
- Archive the WordPress database as a compressed backup
- Review Search Console - traffic should have recovered by now
- Celebrate the maintenance calendar you deleted
Yes, because Tenant.so uses your existing Stripe account. Subscription IDs remain valid. Members are moved to the equivalent Tenant.so Group access.
Course structure (course/lesson/quiz tree) can be recreated. Lesson body text needs to be copy-pasted since LearnDash doesn't expose a clean content export. Video embeds work identically.
See Redirects & SEO. Traffic to blog posts and course landing pages needs 301 redirects. Traffic to forum threads and member-only pages usually isn't SEO-relevant.
For a typical LearnDash + MemberPress + BuddyBoss stack, plan 2-4 weeks of setup work + a 4-8 week member migration window. Larger course libraries extend this.
For 30-60 days, yes — to serve 301 redirects and give stragglers time to migrate. After that, you can shut it down and archive the database.
Expect 70-90% migration rate for active members (higher for LMS-first communities than for casual forums). Inactive members typically don't migrate anywhere.
Yes. Many operators split content marketing (WordPress blog) from the community platform (Tenant.so). Point your community subdomain at Tenant.so and keep WordPress at the root.
Probably. Custom PHP hooks tied to LearnDash/MemberPress don't have equivalents. Most custom hooks fall into two categories: (1) integrations, which Tenant.so replaces with native features or webhooks, and (2) UX tweaks, which are often no longer needed on a modern platform. Audit what you actually use.
Tenant.so integrates with 31+ external services and exposes a full API. Anything that isn't native is usually one webhook or integration away.
Be honest with yourself. Tenant.so is not right for you if:
- You need full self-hosting for compliance or data-residency reasons that Tenant.so's hosting model can't meet
- Your WordPress site is 90% blog + 10% community, and you're mostly running an SEO content site
- You depend on a WooCommerce ecommerce ecosystem (physical products, complex shipping) - Tenant.so does subscriptions and digital goods, not general ecommerce
- You have deep custom PHP that would be uneconomic to replatform
- You already have a happy, high-performing WordPress community and the pain is theoretical, not real
If none of those describe you, migration is almost always a net win.
Need help with your migration?
- Tenant.so Support Community
- Community Platform Comparison
- Circle to Tenant.so Migration Guide
- Skool to Tenant.so Migration Guide
- Community Builder Toolkit
Built by Tenant.so — The Community Operating System