Support

How can we help?

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

We typically respond within 24 hours

LearnDash

How to Export Your LearnDash Courses (2026)

Amir Tadrisi
Amir Tadrisi
AI for Education Specialist
15 min read

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. LearnDash's native tool moves courses, lessons, and topics cleanly. It leaves your quizzes, your course-to-lesson links, and every byte of learner progress behind unless you take 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 the 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, and then show you the one-click 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, understand the tools and their blind spots. LearnDash spreads "export" across three different mechanisms, and no single one of them gives you the whole picture.

What you want to moveNative LearnDash Import/ExportWordPress Tools > ExportSerialization-aware tool (e.g. Transfer)
Courses, lessons, topicsYesYes (post content only)Yes
Quizzes and questionsYes (kept on export)No - skipped entirelyYes
Course-to-lesson / lesson-to-topic linksYesNo - relationships lostYes
Group associationsYesNoYes
Settings (per object)Optional on exportNoYes
Enrolled users / accountsNoNo (users export separately, incomplete)Yes
Learner progress and completionNoNoYes
Certificates earnedNoNoYes
Quiz attempt data and essaysNoNoYes

Two rows in that table cause almost every botched LearnDash export. The first is the WordPress Tools > Export column: people assume WordPress's own exporter is a safe shortcut, and it quietly drops quizzes and every parent-child relationship. The second is the entire bottom block - users, progress, and certificates - which neither native tool carries at all.

The native LearnDash Import/Export tool is genuinely good at what it is designed for: a site-to-site transfer of course structure. It was never designed to be a full backup-and-restore of your learner data. 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, Import/Export)
  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. It does not cover your quizzes if you took the WordPress shortcut, and it does not cover a single learner. 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 what the native export drops: 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 concernNative LearnDash exportSerialization-aware tool
Carries learner progressNoYes
Carries certificatesNoYes
Rewrites embedded post IDsNo (IDs can shift)Yes
Requires users enrolled to export their datan/aYes
Best use caseSite-to-site clone of structureFull move with users and history

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.

The Honest Summary: What Native Export Actually Costs You

Stacking the steps above, a complete LearnDash export by hand looks like this:

  • Native Import/Export for courses, lessons, topics, and group associations.
  • A separate quiz export through LMS > Quizzes > Actions.
  • A separate serialization-aware tool (or a careful low-level DB migration) for users, progress, and certificates, with post-ID remapping.
  • A full database backup, a staging dry run, manual verification, and 301 redirects on cutover.

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 One-Click Alternative: Cubite's Migration Pipeline

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

Cubite runs a one-click migration pipeline built specifically for LearnDash. A connector plugin installs on your WordPress site and pulls the entire LMS out in one coordinated pass - not three separate exports you have to reconcile by hand:

  • Courses, lessons, and topics with their structure intact.
  • Quizzes, question banks, and exams - including the data the native tool makes you export separately.
  • User accounts and their progress and completion history, with the embedded post-ID problem handled automatically instead of left to chance.
  • Certificates earned and group assignments, preserved and reattached to the right learners.

The pipeline does the parts the manual path leaves to you: data reconciliation (every course, user, and progress record is matched and verified against the source, so nothing silently goes missing), a rollback plan (a clean way back if anything looks wrong, because your old site stays untouched until you say go), and a parallel-run window where the old LearnDash site and the new Cubite environment run side by side so you can verify real learner data before cutover.

In other words: the same outcomes the manual route is chasing - quizzes intact, links intact, progress intact, certificates intact - without you personally stitching together three exporters and praying 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 the one-click pipeline moves and what cutover looks like. No deck, no obligation.

Ready to get started?

Join thousands of learners and start building your skills today.

Cubite LMS is a fully managed platform at $290/mo: unlimited users and courses, with hosting, maintenance, and support bundled in, 0% transaction fees, native SCORM and xAPI, SSO, white-label branding, programmable certificates, built-in analytics, and the one-click LearnDash migration pipeline described above. 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 (LearnDash 4.3 or newer), choose what to export, and download the transfer file. This carries courses, lessons, topics, quizzes, and group associations for a site-to-site transfer. It does not carry users, progress, or certificates - those require a serialization-aware tool or Cubite's migration pipeline. The native tool is excellent for cloning course *structure* between LearnDash sites or moving to LearnDash Cloud. The moment you need learner accounts, completion history, or earned certificates to come with you, the native export alone is not enough, and you will need a serialization-aware tool such as Transfer or a full migration service that handles the user-data layer.
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 using a pipeline that handles ID remapping and reconciliation automatically.
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.

What to Do Next

The 60-second version:

  • Native export lives at LearnDash LMS > Settings > Advanced > Import/Export (4.3+) and cleanly moves courses, lessons, topics, quizzes, and group associations - for site-to-site transfers.
  • WordPress Tools > Export is a trap: it drops quizzes, links, and progress. Export quizzes via LMS > Quizzes > Actions instead.
  • Users, progress, and certificates need a serialization-aware tool (such as Transfer) or a full migration service - the native export does not touch them.
  • 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's one-click pipeline does all of it - courses, quizzes, exams, users, progress, certificates, groups - with reconciliation, rollback, and a parallel-run window so you can verify before you commit.

Stop exporting by hand. Let the pipeline do it.

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.

Ready to get started?

Join thousands of learners and start building your skills today.