Support

How can we help?

Send us a message and we'll get back to you shortly.

We typically respond within 24 hours

LearnDash Migration

What Transfers When You Leave LearnDash (Free Worksheet)

Amir Tadrisi
Amir Tadrisi
AI for Education Specialist
16 min read
What Transfers When You Leave LearnDash (Free Worksheet)

A fillable data-inventory worksheet for anyone planning a migration

Cubite, one of the nine destinations below, publishes this page.

Short answer (October 21, 2026): Cubite compared what 9 platforms, including its own, import from LearnDash; learner progress and earned certificates are where most importers stop. Cubite's row: courses, lessons, quizzes, quiz attempts, users, enrollments, progress and groups move, certificates are re-issued, passwords are not. Cubite LMS replaces a LearnDash plugin stack for $290 a month or $2,900 a year, with native SCORM, xAPI and a built-in LRS. Cubite moves the whole LearnDash site, including learners, enrollments, progress, quiz attempts and groups, with earned certificates re-issued, as a migration it runs for you from that database export.

The LearnDash exit matrix: what nine destinations import

Each cell comes from the destination's own documentation, except the LifterLMS column, whose own post points to third-party tools (source 3); read on October 21, 2026, with the bracketed number pointing to the source in the list under the table. Yes means the vendor documents an import of that data; Partial means with a limit the cell names; No means the vendor says it does not move; Not documented means the vendor pages listed under the table do not say, which in practice means a rebuild by hand or a script. Tutor LMS's tool and LD to Lifter run on the same WordPress site as LearnDash, so user accounts and passwords stay as they are; Tutor's tool also deletes the LearnDash courses after it migrates them, so back up first. Masteriyo's importer is not in the table because it imports only into Masteriyo.

Data typeCubite LMSTutor LMSLifterLMSLearnWorldsThinkificKajabiTalentLMSMoodleOpen edX
CoursesYes [1]Yes [2]Yes [3]No, rebuilt by hand [4]No, rebuilt by hand; video, audio and PDF files bulk-upload with the Content Uploader [5]No, rebuilt by hand [6]Partial: course records (title, code, description, category, duration, price) from a file; no content [7]Partial: IMS Common Cartridge 1.0 or 1.1 packages; no LearnDash converter [8]Partial: OLX course import from a .tar.gz; no LearnDash converter (one site wrote its own unreleased script through the course APIs) [9]
LessonsYes [1]Yes [2]Yes (topics become lessons) [3]No, rebuilt by hand [4]No, rebuilt by hand, as above [5]No, rebuilt by hand [6]Not documented [7]Partial, as above [8]Partial, as above [9]
QuizzesYes [1]Yes [2]Yes (one quiz per lesson) [3]Not documented [4]Not documented [5]Not documented [6]Not documented [7]Not documented [8]Partial, as above [9]
Quiz attemptsYes [1]Not documented [2]Partial: scores and dates, not the answer-by-answer review [3]Not documented [4]Not documented [5]Not documented [6]Partial: one course score per learner [7]Not documented [8]Not documented [9]
UsersYes [1]Yes [2]Yes (the same WordPress accounts) [3]Yes: bulk import on Pro Trainer or higher [4]Yes: import from a file [5]Yes: contacts import, email required [6]Yes: file import with login, first name, last name and email [7]Yes: the Upload users tool [8]Partial: no account import; staff can enroll an email address before the learner registers and activates an account [9]
PasswordsNo: learners sign in from an invite or an emailed link [1]Yes: same WordPress site, accounts untouched [2]Yes: same WordPress site with LD to Lifter, accounts untouched [3]Not documented [4]Partial: a new password per row, or an Express Sign-in link [5]Not documented [6]Partial: a new password per row, else a random one [7]Partial: a new password per row [8]No: each learner registers an account and activates it by email [9]
EnrollmentsYes [1]Yes [2]Yes [3]Yes: bulk enrollment on Learning Center or above [4]Yes: import and enroll in one file [5]Partial: grant an offer to a contact [6]Yes: Usertocourses and Course columns [7]Yes: optional on upload [8]Yes: batch enrollment by email [9]
ProgressYes [1]Not documented [2]Yes: finished lessons and topics [3]Partial: marked by hand [4]Partial: progress rates cannot be imported; a Completed_date marks a course 100 percent [5]Not documented [6]Partial: completion status, date and score [7]Not documented [8]Not documented [9]
CertificatesYes, re-issued with the original completion date [1]Partial: generated afresh if the certificate add-on is enabled [2]Yes, where the LearnDash certificate was earned [3]Not documented [4]Not documented [5]Not documented [6]Not documented [7]Not documented [8]Not documented [9]
GroupsYes [1]Not documented [2]No: LD to Lifter lists groups as not migrated [3]Not documented [4]Yes: Group_names on the migration spreadsheet, or Add to groups in Smart Importer; groups must exist first [5]Not documented [6]Yes: Group and Branch columns [7]Not documented [8]Not documented [9]
OrdersNot documented [1]Yes: sales and order data, into WooCommerce, EDD or Native [2]Not documented [3]Partial: active subscribers moved onto Stripe plans as a paid service; no order history [4]Not documented (subscriptions must be re-created) [5]Not documented [6]Not documented [7]Not documented [8]Not documented [9]
  1. Cubite: the LearnDash migration page (what moves and the price, as recorded on 2026-09-29 and 2026-10-19) (cubite.io/learndash-migration, read October 21, 2026).
  2. Tutor LMS: Themeum, LearnDash to Tutor LMS Migration (updated October 15, 2025), and the Tutor LMS post Migrate from LearnDash to Tutor LMS (docs.themeum.com/?p=7529, read October 21, 2026).
  3. LifterLMS: LifterLMS, LearnDash Migration: Move Courses, Lessons, and Student Data to LifterLMS (LifterLMS's own post; it points to two third-party tools, Transfer by Honors WP and WP All Import, and says Transfer keeps user progress), and the free third-party LD to Lifter plugin by EVOLVE on wordpress.org (version 2.3.10), which LifterLMS does not name; the LifterLMS cells describe what LD to Lifter documents (lifterlms.com/?p=213657, read October 21, 2026).
  4. LearnWorlds: LearnWorlds Help Center, How to migrate to LearnWorlds and How to migrate your users to LearnWorlds (both modified April 22, 2026) (support.learnworlds.com/support/solutions/articles/12000030540, read October 21, 2026).
  5. Thinkific: Thinkific Help Center, Migration Support: Bulk Student Import and Course Enrollment Instructions (updated September 8, 2026), Import Users in Bulk using Smart Importer (September 22, 2026), Thinkific Course Migration Guide (September 24, 2025) and Can I transfer student subscriptions from my existing site to Thinkific? (August 14, 2023) (support.thinkific.com/hc/en-us/articles/360030354314, read October 21, 2026).
  6. Kajabi: Kajabi Help Center, Can I import existing Courses to Kajabi? and Import contacts into Kajabi (help.kajabi.com/articles/products/courses/can-i-import-existing-courses-to-kajabi, read October 21, 2026).
  7. TalentLMS: TalentLMS Help Center, How to add multiple users to your TalentLMS portal at once (updated August 24, 2026), How to add users to courses (September 29, 2026), How to import historical completion data (July 20, 2026) and How to import export data (October 9, 2026) (help.talentlms.com/hc/en-us/articles/9652274499484, read October 21, 2026).
  8. Moodle: the Moodle source tree on GitHub (public/backup/converter holds the imscc1 and imscc11 converters, IMS Common Cartridge 1.0 and 1.1; public/admin/tool/uploaduser: users may be uploaded, and optionally enrolled in courses, from a file with username, password, firstname, lastname and email). docs.moodle.org refuses automated reads, so the code is cited (github.com/moodle/moodle/tree/main/public/backup/converter, read October 21, 2026).
  9. Open edX: docs.openedx.org, Manage Course Enrollments (batch enrollment by email), Enrollment Requirements (staff can enroll learners before or after they register) and Import a Course (OLX in a tar.gz), and the discuss.openedx.org thread Migrating from LearnDash to Open edX (2022-04-26 to 2025-04-30; the 2025-04-09 answer describes a custom, unreleased script through the course APIs) (docs.openedx.org/en/ulmo/educators/how-tos/student_management/manage_course_enrollments.html, read October 21, 2026).

To see which cells apply to your own site, count what it holds with the worksheet below, then get a free LearnDash migration assessment or book a call; the migration into Cubite LMS is included at no extra cost with every paid Cubite LMS plan.

Before you move anything, take an honest inventory

Most LearnDash migrations do not go wrong because the new platform is missing a feature. They go wrong because of a quiet assumption: that "all the data comes with us." Some of it does. Some of it does not. And the parts that do not tend to be the parts learners and finance teams care about most, like who finished what, who has a valid certificate, and which subscriptions are active.

The reason is structural. LearnDash does not store your program in one neat place. It spreads it across WordPress core tables, LearnDash's own tables, and a handful of plugin-specific schemas (quizzing, membership, e-commerce, certificates, SCORM/H5P add-ons). There is no single clean export that captures all of it, so what survives a move depends entirely on the destination and the method.

That is why an honest inventory has to come before you pick a platform, sign a contract, or schedule a cutover. Once you can see, on one page, exactly how much data you have and what is at risk for each type, three things happen:

  1. You stop being surprised. The "we lost everyone's progress" conversation happens on paper, with you in control, instead of in production three days after launch.
  2. You can price the move correctly. A migration that needs scripting and a managed export is a different project from a copy-paste of two courses.
  3. You can hold any vendor to a clear standard. You hand them this worksheet and ask, row by row, "what happens to this?"

Fill this out before you talk to anyone. It takes about fifteen minutes and it will save you from the most expensive kind of migration mistake: the one you only discover after the old system is gone.

How to use it: print this page, or copy it into a doc or spreadsheet. Go row by row. Count what you actually have, read the pre-filled "What happens on migration" column, and write your own notes. Then run the scoring section at the bottom.

A quick note on the three migration paths

The pre-filled column below assumes one of three common destinations. Knowing which path you are on changes the answer for almost every row, so pick yours before you start.

  • WordPress to WordPress (for example, moving to another LearnDash-based host or a different WordPress LMS plugin). This preserves the most, because the underlying database structure is similar. It is also the path that keeps you on the plugin stack you may be trying to leave.
  • Hosted SaaS, do-it-yourself import. A self-serve importer on a SaaS platform. Courses and users usually come across. The fragile, plugin-specific data (in-progress completion, quiz attempt history, issued certificates) is commonly dropped unless you export and rebuild it yourself first.
  • Managed migration (for example, Cubite's). A vendor scripts the move directly against your LearnDash database, including the fragile data. Progress and quiz history are mapped and carried across, and earned certificates are re-issued, rather than left behind. This is the path the "scripted across" notes below refer to.

The worksheet uses shorthand in the pre-filled column so you can see all three outcomes at a glance.

Your data inventory

Fill in the second column with your real numbers. The third column is pre-filled from known data-fidelity facts so you do not have to guess. Use the last column to flag anything specific to your setup (custom plugins, weird quiz types, manual workarounds, anything a vendor would need to know).

AssetHow many you have (fill in)What happens on migrationYour notes
CoursesWP to WP: preserved. SaaS DIY: usually imported. Managed: scripted across. Low risk overall.
Lessons and topicsWP to WP: preserved. SaaS DIY: usually imported with the course. Managed: scripted across. Low risk, but check nested topic structure survives.
QuizzesSingle-choice and multiple-choice questions transfer cleanly on every path. Matrix sorting, sorting, fill-in-the-blank, and essay question types usually need rework or rebuild. Count these types separately.
EnrollmentsWP to WP: preserved. SaaS DIY: usually imported. Managed: scripted across. Low risk, but verify group and cohort assignments come with them.
User accountsWP to WP: preserved. SaaS DIY: usually imported (passwords often need a reset email). Managed: scripted across. Low to medium risk.
Progress and completionTHE FRAGILE ONE. WP to WP: usually preserved. SaaS DIY: in-progress completion is commonly dropped, so learners restart from zero. Managed: scripted across so learners resume where they left off. High risk on the DIY path.
Quiz attempt historyWP to WP: usually preserved. SaaS DIY: attempt history is commonly lost unless exported first. Managed: scripted across. High risk if you need historical scores for compliance or grading.
Issued certificatesWP to WP: usually preserved. SaaS DIY: issued certificates are commonly dropped; learners must re-earn them. Managed: scripted across so existing certificates stay valid. High risk if certificates are tied to compliance or CE credit.
SCORM packagesPath-dependent and add-on dependent. The package file can often be re-uploaded, but learner completion and scoring inside SCORM is commonly lost unless the destination has a native runtime. Needs scripting or a native SCORM engine. Medium to high risk.
H5P contentThe interactive content often has to be re-exported and re-imported. Learner results from H5P are commonly lost unless explicitly migrated. Needs scripting or rework. Medium risk.
WooCommerce orders and subscriptionsE-commerce data lives in WooCommerce, not LearnDash. Order history and active subscriptions need a deliberate, separate migration and often scripting. Lost or broken unless exported first. High risk for revenue continuity.
MemberPress or RCP membershipsMembership levels, active status, and renewal dates live in the membership plugin. These need scripting to map onto the destination's access model. Lost unless exported first. High risk for paid-access continuity.
Custom fields and metadataAnything custom (extra user fields, course metadata, plugin-specific data) is the most likely to silently disappear. Needs scripting and a manual mapping. Medium to high risk; inventory exactly what you rely on.

Tip: for any row where you wrote a number greater than zero in a "needs scripting" or "lost unless exported first" line, add a note describing why it matters to you. "We need 2024 quiz scores for our auditor" is the kind of detail that decides whether a migration method is acceptable.

Score your risk

Now read back down your completed worksheet. The pattern in the "What happens on migration" column tells you how risky a self-serve move would be, and how much a managed migration is worth to you.

Count your rows.

  • Count every row where you have data (a number greater than zero) AND the pre-filled note contains "needs scripting", "lost unless exported first", "commonly dropped", or "commonly lost." Call this your At-Risk count.

Read your score.

  • 0 to 2 at-risk rows. Your move is relatively contained. You probably have courses, lessons, and simple quizzes, and not much fragile completion, commerce, or membership data. A careful migration on almost any path can work, though you should still verify progress and certificates explicitly.
  • 3 to 5 at-risk rows. This is the most common band, and the danger zone for do-it-yourself imports. You likely have real learner progress, quiz history, or certificates that a self-serve SaaS import would drop. A managed migration starts paying for itself here, because the cost of recreating this data by hand (or explaining to learners why it vanished) is higher than the cost of doing the move properly once.
  • 6 or more at-risk rows. A self-serve import will almost certainly cost you data that matters. You have a combination of fragile completion data, quiz history, certificates, and probably commerce or membership records. A scripted, managed migration is clearly the right call. The question is not whether to invest in the migration, it is which vendor can prove they preserve every at-risk row on your sheet.

The rule of thumb: the more rows that read "needs scripting" or "lost unless exported first," the more a managed migration is worth it. Each of those rows is data you would otherwise have to recreate by hand, ask learners to redo, or simply accept losing. A migration that scripts that data across is not a luxury at that point. It is the only version of the move that does not quietly destroy something you spent years building.

What a managed migration changes

Everything in the "needs scripting" and "lost unless exported first" lines above exists because no clean standard export captures it. A managed migration solves that by going straight to the source: a vendor scripts the move directly against your LearnDash database, maps the fragile data, and carries it across instead of leaving it behind.

That is the model Cubite uses. LearnDash's WordPress export (WXR) carries course content only; learners, enrollments, progress, quiz scores and certificates live in the database, so a move to a hosted LMS needs a database export. Cubite moves the whole LearnDash site, including learners, enrollments, progress, quiz attempts and groups, with earned certificates re-issued, as a migration it runs for you from that database export. Cubite works from a copy, your live LearnDash site is not touched, and you review the record counts and sign off before launch. Start with a free LearnDash migration assessment.

And the platform you land on is fully managed, so you are not trading one plugin stack for another:

  • $290/mo flat. Unlimited users and unlimited courses. Hosting, maintenance, and support are bundled in, not billed as add-ons.
  • 0% transaction fees on what you sell.
  • Native SCORM and xAPI, so externally authored content and its learner data are first-class, not a paid add-on plus a separate record store.
  • White-label branding, certificates, and analytics included. SSO with Google, GitHub or Facebook sign-in is included at $290; SAML SSO and SCIM are Enterprise.

A soft next step

You now have, on one page, an honest picture of what is at risk in your move. That is the hard part, and you have done it.

If your scoring landed in the 3-or-more band, the most useful next step is simply to have someone look at your actual numbers. Bring this completed worksheet to a free migration assessment with Cubite. We will go row by row, tell you honestly what transfers cleanly and what needs scripting on your specific setup, and show you what your post-migration site would look like, so nothing on this worksheet gets lost in the move.

No pressure, no obligation. Worst case, you walk away with a second expert opinion on your own data inventory.

Get a free LearnDash migration assessment

Tell us what your LearnDash site holds and we will map exactly what carries over before anything moves.

Keep reading

This worksheet is provided free by Cubite. Cubite is a fully managed LMS: one flat price, unlimited users and courses, hosting, maintenance, and support included, 0% transaction fees, native SCORM and xAPI, white-label, certificates and analytics. Cubite runs the migration for you from your LearnDash database export. The data-fidelity notes above reflect common outcomes across migration methods; your specific results depend on your plugins and configuration, which is exactly what an assessment confirms.