Support

How can we help?

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

We typically respond within 24 hours

LearnDash

Move off LearnDash without losing learner data: what the export carries (2026)

Amir Tadrisi
Amir Tadrisi
AI for Education Specialist
20 min read
Move off LearnDash without losing learner data: what the export carries (2026)

Short answer (updated October 9, 2026): 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 LMS costs $290 a month or $2,900 a year. Start with the free LearnDash migration assessment.

Cubite sells Cubite LMS and publishes this guide. The export steps below work the same whichever platform you choose.

If you came here to get your courses out of LearnDash, here is the single most important thing to know before you click anything: the export button you are looking for does not export everything you think it does. WordPress's own exporter moves course content but drops your quizzes, your course-to-lesson links and every byte of learner progress. LearnDash's own Import/Export tool can include users, but its file is built to import into another LearnDash site. Getting learner data anywhere else takes separate, deliberate steps.

This guide is the honest version. We will walk through the actual native export mechanics step by step, show you exactly what each tool can and cannot carry, flag the two gotchas that silently corrupt a migration (the quiz caveat and the serialized post-ID trap), give you the non-negotiable backup rule, show you how to keep a record of grades and transcripts, and then explain the done-for-you path if you would rather not hand-assemble all of this yourself.

When you want to export LearnDash courses for a real platform move (not just a site-to-site clone), the difference between "I exported my courses" and "I exported my courses, quizzes, links, users, progress, and certificates" is the difference between a clean migration and a week of cleanup.

What You Can and Cannot Export from LearnDash

Before touching a single setting, know where each kind of data lives and which export carries it. LearnDash spreads "export" across three mechanisms (its own Import/Export, its quiz export and WordPress's export), and none of them gives a different platform the whole picture.

DataWhere LearnDash keeps itIn WordPress's export (WXR)?How to move it
Courses, lessons and topicsWordPress posts and their custom fieldsYes, but the course-to-lesson links are lost on importLearnDash's Import/Export for another LearnDash site; for another platform, its importer or a migration
Quizzes and questionsQuiz and question posts, plus LearnDash's quiz tablesNo: LearnDash says not to use it for quizzesLearnDash's quiz XML export (LearnDash LMS > Quizzes > Actions > Import/Export)
Learner accountsWordPress users and user metaNo: it lists only the authors of the exported postsLearnDash's Import/Export (Users) for another LearnDash site; a database export for a hosted LMS
Enrollments, progress and completionUser meta (progress sits in _sfwd-course_progress) and LearnDash's activity table, wp_learndash_user_activityNoA database export
Quiz attempts and scoresUser meta (_sfwd-quizzes), plus Quiz Statistics for per-question answers where that option was onNoA database export; keep LearnDash's Quiz Data report (CSV) as a record
Groups and group membershipGroup records, plus user meta (learndash_group_users_ keys) for each memberNot the membershipLearnDash's Import/Export keeps group associations between LearnDash sites; a database export for a hosted LMS
CertificatesA certificate template, filled in with each learner's name, course title and completion date when they earn itThe template onlyRe-issued by the new platform from completion data

Two parts of that table cause almost every botched LearnDash export. The first is the WordPress export column: people assume WordPress Tools > Export is a safe shortcut, and it quietly drops quizzes and the course-to-lesson links. The second is the learner rows - accounts, enrollments, progress, quiz scores and certificates - which live in user meta and LearnDash's own tables rather than in the posts the WordPress export carries.

LearnDash's own Import/Export tool is the right choice when the destination is another LearnDash site: LearnDash recommends it for moving a whole site, and it can export users along with courses, quizzes and groups (LearnDash, Transferring LearnDash Courses). Its file is built to import into another LearnDash site, though, so a move to a different platform needs another route. Knowing that boundary up front is what keeps you out of trouble.

How to Export LearnDash Courses with the Native Import/Export Tool

LearnDash shipped a built-in Import/Export tool in version 4.3, so first confirm you are on 4.3 or newer (wp-admin > Dashboard > Updates, or check the plugin version on the Plugins screen). On older versions this menu simply will not exist.

Here is the step-by-step:

  1. Go to the tool. In wp-admin, navigate to LearnDash LMS > Settings > Advanced > Import/Export. This is the native, first-party exporter - no plugin required on 4.3+.
  1. Choose what to export. You can export everything, or scope it down to specific post types. If you only need lessons to reuse on another site, export just the lessons and leave the parent course behind. For a full course move, select courses, lessons, topics, and quizzes together so the structure stays intact.
  1. Decide whether to include settings. The tool lets you carry per-object settings along with the content. For a true clone you want settings included; for reusing content in a differently configured site you may want them excluded.
  1. Generate and download the export file. LearnDash produces a transfer file built for site-to-site transfer - the easiest way to move existing LearnDash data into a new site, server, or LearnDash Cloud instance. (LearnDash, Transferring LearnDash Courses)
  1. Import on the destination. On the receiving site (LearnDash 4.3+ installed), go to the same LearnDash LMS > Settings > Advanced > Import/Export screen, choose your file, and import. Courses, lessons, topics, quizzes, and group associations come across, and any settings you chose to export get reapplied. (LearnDash Support, Transferring Courses)

That covers course structure, plus users if the destination is another LearnDash site. It does not cover your quizzes if you took the WordPress shortcut, and it does not move learners into a different platform. Both of those are the next two sections, and skipping them is where migrations break.

Gotcha #1: The Quiz Export Caveat

Here is the trap that catches people who try to be clever and use WordPress's own exporter instead of the LearnDash tool.

WordPress's built-in Tools > Export does NOT carry quizzes. LearnDash's own documentation is explicit: the WordPress Export and Import options under the Tools menu should be used for all custom post types except quizzes. (LearnDash Support, XML Quiz Import/Export) The same shortcut also drops your course-to-lesson links and all progress, because WordPress exports posts as flat content and knows nothing about LearnDash's relationship structure.

LearnDash quizzes have to be exported through their own dedicated path:

  • Go to LearnDash LMS > Quizzes.
  • Open the Actions menu in the header.
  • Choose Import/Export, then Export.

This produces a separate quiz file (XML) that you import on the destination the same way. If you forget this step, your new site will have perfectly structured courses with empty holes where every assessment used to be - and you usually do not notice until a learner complains.

The rule of thumb: the native LearnDash Import/Export tool keeps quizzes; the generic WordPress exporter does not. If you are using the WordPress Tools menu for anything LearnDash, you have already lost data.

The quiz file is a separate file. Treat it like one.

Add "export quizzes via LMS > Quizzes > Actions" as its own line item on your migration checklist, with its own downloaded file. The most common LearnDash export failure is a course that looks complete until someone tries to take an assessment.

Gotcha #2: The Serialized Post-ID Trap (This One Is Silent)

This is the gotcha that does not throw an error, does not show a warning, and does not surface until a learner logs into the new site and finds their progress gone.

LearnDash embeds WordPress post IDs inside serialized completion data. A learner's progress is not stored as "completed Lesson: Intro to Safety." It is stored as a serialized PHP blob referencing the numeric post ID of that lesson. When you import courses into a new site, WordPress assigns new post IDs to those courses, lessons, and topics. If a single ID shifts, every serialized progress record that pointed at the old ID now points at nothing.

The result: the import "succeeds," the courses look right, and the progress is silently broken because the IDs underneath no longer line up.

There are only two safe ways through this:

  • Preserve the original post IDs on import (only viable in a controlled, low-level database migration where you can guarantee no collisions on the destination), or
  • Use a serialization-aware tool that understands LearnDash's data model and rewrites the embedded IDs as it imports, so progress, certificates, and completion stay attached to the right content.

For the second path, a tool such as Transfer by Honors WP exports your LearnDash data as a zipped JSON package and carries enrolled users, their course progress, certificates earned, group membership, quiz attempt data, and submitted assignments. (Honors WP, Transfer) Because it is built around LearnDash's structure, it handles the post-ID remapping instead of leaving you with orphaned serialized blobs.

One more constraint worth knowing: a user must be enrolled in a course or group for their data to export. Serialization-aware tools use the course/group relationship to find and move user data, so courses and users have to migrate together. (Honors WP, Transfer) An unenrolled user with historical progress can fall through the cracks if you move content and people separately.

Migration concernLearnDash Import/ExportSerialization-aware toolDatabase export
Where it can importAnother LearnDash siteA WordPress LMS site with the same plugin installed, such as another LearnDash site or LifterLMS (LifterLMS's own migration guide uses Transfer to move LearnDash data into LifterLMS)Any platform whose migration reads it
Learner dataUsers are an export option; LearnDash recommends this tool for moving a siteUsers, progress, certificates earned and quiz attemptsAll of it: learner data lives in the database
Rewrites embedded post IDsNot documentedYesMapped by the migration to the new platform's records
Requires users enrolled to export their dataNot documentedYesNo
Best use caseMoving a LearnDash site to a new site, server or LearnDash CloudA WordPress-to-WordPress move that must keep historyA move to a hosted LMS

Grades and transcripts: keep a record before you move

Compliance and credential programs need each learner's history, not just their current status. Before you change anything, download the two CSV reports LearnDash gives administrators and group leaders from its Reports menu (LearnDash, User Data):

  • Course Data: each learner's course progress, the lesson they are on, and whether the course is complete.
  • Quiz Data: each learner's quiz scores, when each quiz was taken, and whether it was passed.

LearnDash says these exports are for reporting purposes only, so keep them as your transcript of record rather than as an import file. Per-question answers sit in Quiz Statistics only for quizzes where that option was turned on, and the option is not retroactive. Certificates work differently again: a LearnDash certificate is a template that LearnDash fills with each learner's name, course title and completion date when they earn it (LearnDash, Create a Certificate), so the new platform re-issues certificates from completion data. In a move to Cubite LMS, quiz attempts and scores come across in the migration, and certificates are re-issued with the original completion date.

The Rule You Do Not Get to Skip: Backup First, Staging Always

Every export above touches production data, and LearnDash's serialized progress format is unforgiving when something goes sideways. Two non-negotiables before you export anything:

  1. Take a full database backup. Not just files - the database, because that is where courses, quizzes, and the serialized progress blobs live. If an import corrupts relationships, the backup is your only clean way back.
  1. Run the import on staging, never straight to production. Spin up a staging copy of the destination, run the full export-and-import there, and verify three things by hand: course structure is intact, a real quiz actually loads and scores, and a test learner's progress shows correctly. Only then promote to production.

And when you do go live with a new domain or URL structure, set up 301 redirects from your old LearnDash course URLs to the new ones. A 301 (permanent redirect) preserves the link equity and search rankings you have already earned, so the move does not cost you traffic. Dropping your old URLs without redirects is the most common self-inflicted SEO wound in any LMS migration.

Backup, staging, verify, then 301. In that order.

If you only remember one operational rule from this article: never run a LearnDash import for the first time against the site real learners are using. Prove it on a copy first.

Move off LearnDash without losing learner data: the steps

Put together, a move off LearnDash that keeps learner data looks like this:

  1. Count what you have: courses, lessons, quizzes, learners, enrollments and certificates, so you can prove later that nothing dropped.
  2. Back up the database and work on a copy. Never run a first import against the site your learners use.
  3. Export the course content with LearnDash's Import/Export if the destination is another LearnDash site; a different platform takes content through its own importer or migration.
  4. Export every quiz as XML through LearnDash LMS > Quizzes > Actions > Import/Export, as its own file.
  5. Download the Course Data and Quiz Data reports as your record of each learner's progress and scores.
  6. Take a database export (an SQL dump) for a move to a hosted LMS: it is where learners, enrollments, progress, quiz attempts and group membership live.
  7. Import on staging and verify by hand: the counts match, a real quiz loads and scores, a test learner's progress shows, and certificates carry the right completion date.
  8. Cut over with 301 redirects from every old course URL to its new one.

Appendix: the LearnDash migration checklist turns these steps into a printable, section-by-section runbook, and the what-transfers worksheet helps you count what your site holds before you start. The LearnDash exit matrix on that page shows what nine destinations, Cubite included, import from LearnDash, cell by cell with a dated source each.

None of that is impossible. It is, however, three different export mechanisms, a real risk of silent progress loss, and a verification burden that grows with every course and every enrolled learner. For a hobby site with five courses and no learner history worth keeping, the manual path is fine. For a course business or training program where progress, certificates, and enrollments are the product, the manual path is where weekends go to die.

If you are weighing a platform change rather than a same-site clone, it is worth seeing the full set of options before you commit. We mapped every realistic exit in the hub guide - compare all the ways off LearnDash - and walked the specific destination step by step in migrate from LearnDash to Cubite without losing data.

The done-for-you path: a migration from your database export

Everything above is the do-it-yourself path. Here is the done-for-you one.

If you are moving to Cubite LMS, Cubite runs the migration for you from a copy of your LearnDash database export, as one project instead of three separate exports you reconcile by hand. It moves:

  • Courses, lessons, and topics with their structure intact.
  • Quizzes and question banks.
  • Learner accounts, enrollments and progress, mapped onto the matching courses in Cubite LMS.
  • Quiz attempts and scores, and groups.
  • Earned certificates, re-issued in Cubite with each learner's original completion date.

Cubite works from a copy, so your live LearnDash site is not touched, and you review the record counts and sign off before launch. Passwords do not move: migrated learners sign in from an invite or an emailed sign-in link.

In other words: the outcomes the manual route is chasing - quizzes, course links, progress and certificates - without you personally stitching together three exporters and hoping the serialized IDs survive.

See your actual migration scoped in 30 minutes.

Tell us your LearnDash setup - course count, learner count, whether progress and certificates need to come across - and we will show you exactly what moves and what cutover looks like. No deck, no obligation.

Get a free LearnDash migration assessment

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

Cubite LMS is a fully managed platform at $290 a month or $2,900 a year: unlimited users and courses, with hosting, maintenance, and support bundled in, 0% transaction fees, native SCORM and xAPI, white-label branding, programmable certificates and built-in analytics. SSO with Google, GitHub or Facebook sign-in is included at $290; SAML SSO and SCIM are Enterprise. It is built for exactly the operators who feel the most pain in a manual export - the ones whose progress and certificates are the value contract with their learners.

Frequently Asked Questions

01How do I export courses from LearnDash?
Go to wp-admin > LearnDash LMS > Settings > Advanced > Import/Export, choose Everything or pick the data types (courses, lessons, topics, quizzes, groups, users and more), and download the .zip file. That file is built to import into another LearnDash site. For a move to a different platform, 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 that data in a migration it runs for you from the database export, with earned certificates re-issued. Cubite LMS costs $290 a month or $2,900 a year.
02Does the LearnDash export include quizzes?
The native LearnDash Import/Export tool does include quizzes. The trap is WordPress's own Tools > Export, which does NOT export quizzes, course-to-lesson links, or progress. If you must export quizzes on their own, use LearnDash LMS > Quizzes > Actions > Import/Export > Export, which produces a separate quiz file. This is the single most common LearnDash export mistake: reaching for the familiar WordPress exporter instead of LearnDash's own tool. WordPress treats your courses as flat posts and has no concept of LearnDash quizzes or the relationships between courses, lessons, and topics, so it silently leaves them behind. Always use the LearnDash-native paths.
03Why did my learner progress disappear after a LearnDash import?
Because LearnDash stores progress as serialized data that embeds WordPress post IDs. When you import into a new site, those courses and lessons get new IDs, and the old serialized references no longer match - so progress points at nothing. The fix is to preserve the original IDs or use a serialization-aware tool that rewrites them on import. This failure is silent: the import reports success and the courses look correct, so you often do not catch it until a learner reports their completed lessons are marked incomplete. It is the strongest argument for testing every migration on staging and verifying a real learner's progress by hand before cutover - or for a migration that maps every record and has you sign off on the record counts before launch.
04Do I need a backup before exporting LearnDash?
Yes - always take a full database backup before any export or import, and run the import on a staging copy first, never directly on the live site. LearnDash's serialized progress data is fragile, and a corrupted import can be hard to undo without a clean backup. Verify structure, quizzes, and a test learner's progress on staging before going live. When you do go live on a new domain or URL structure, add 301 redirects from your old LearnDash course URLs to the new ones so you keep the search rankings and link equity you have already earned.
05Does LearnDash's export include learner progress and quiz scores?
Not WordPress's export: it carries posts and their custom fields, while LearnDash keeps progress and quiz results in user meta and its own activity table. LearnDash's own Import/Export is its documented way to move a site with its user data, but its .zip file imports into another LearnDash site. For a move to a hosted LMS, take a database export, and keep LearnDash's Course Data and Quiz Data reports (CSV) as a record.
06How do I keep quiz scores and transcripts when I leave LearnDash?
Download LearnDash's Course Data and Quiz Data reports (CSV, from the Reports menu) before you change anything: they list each learner's progress, quiz scores, quiz dates and whether each quiz was passed. Per-question answers exist in Quiz Statistics only for quizzes where that option was on. In a move to Cubite LMS, quiz attempts and scores come across in the migration, and certificates are re-issued with the original completion date.
07Can I import my LearnDash courses into Cubite myself?
Partly. Cubite LMS imports a LearnDash quiz XML export on its own, one quiz per file: its questions go into a quiz block (with the quiz's settings) or a question bank. Single- and multiple-choice questions import as they are; other question types come in as single choice for you to review, and the question-bank import skips, with a warning, any question that has fewer than two answer options or no correct answer. Cubite has no self-serve importer for the WordPress export or for learner data: everything else moves in the migration Cubite runs for you from your database export.

What to Do Next

The 60-second version:

  • Native export lives at LearnDash LMS > Settings > Advanced > Import/Export and moves courses, lessons, topics, quizzes, group associations and, if you select them, users - into another LearnDash site.
  • WordPress Tools > Export is a trap: it drops quizzes, links, and progress. Export quizzes via LMS > Quizzes > Actions instead.
  • Users, progress, quiz scores and certificates live in the database: for another LearnDash site, LearnDash recommends its own Import/Export; a serialization-aware tool such as Transfer can move them to a WordPress LMS that runs the same plugin; and a move to a hosted LMS starts from a database export.
  • Keep a record: download the Course Data and Quiz Data reports before you change anything.
  • The silent killer is the serialized post-ID trap: any ID change on import breaks progress unless IDs are preserved or remapped.
  • Always back up the database, dry-run on staging, verify by hand, and 301-redirect your URLs on cutover.

If your courses are the easy part and your learners are the part you cannot afford to lose, the manual route is a lot of careful, breakable work. Cubite runs that migration for you from your database export - courses, quizzes, learners, enrollments, progress, quiz attempts and groups, with earned certificates re-issued - and you review the record counts and sign off before launch.

Stop exporting by hand. Let Cubite run the migration.

Bring us your LearnDash site and we will show you the full move - what comes across, how we verify it, and what cutover day looks like - in a single 30-minute call.

Get a free LearnDash migration assessment

Bring your LearnDash site and we will map what comes across, how it is checked and what cutover day looks like.