{"id":2726,"date":"2019-05-29T16:40:39","date_gmt":"2019-05-29T20:40:39","guid":{"rendered":"https:\/\/learndash.com\/support\/docs\/developers\/transferring-learndash-courses\/"},"modified":"2025-08-25T12:46:13","modified_gmt":"2025-08-25T16:46:13","password":"","slug":"transferring-learndash-courses","status":"publish","type":"docs","link":"https:\/\/learndash.com\/support\/kb\/resources\/user-guides\/transferring-learndash-courses\/","title":{"rendered":"Transferring LearnDash Courses"},"content":{"rendered":"\n<p>There are two ways to transfer (or move) LearnDash courses from one site to another. The method you use depends on whether or not you need to retain existing user data or just move the course content.<\/p>\n\n\n\n<p>For demo users, you can export your progress and import it when you purchase LearnDash or LearnDash Cloud.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-transferring-courses-without-data\">Transferring Courses Without Data<\/h2>\n\n\n\n<p>If you just want to move course content from one site to another, then this can be done using the Export and Import options under the TOOLS menu in WordPress. Use this for all custom post types except for quizzes.<\/p>\n\n\n\n<p>Note that this process will not<strong> <\/strong>retain the associations between courses and lessons; after the import, you will need to connect your lessons to the appropriate courses again, which can easily be done using the <a href=\"https:\/\/learndash.com\/support\/docs\/core\/courses\/course-builder\/\">Course Builder<\/a>.<\/p>\n\n\n\n<p class=\"has-theme-palette-8-color has-theme-palette-1-background-color has-text-color has-background has-link-color wp-elements-b68a3526f9025f277a3fe6f70fa064b2\">Note that this process will not<strong> <\/strong>retain the associations between courses and lessons; after the import you will need to connect your lessons to the appropriate courses again, which can easily be done using the <a href=\"https:\/\/learndash.com\/support\/docs\/core\/courses\/course-builder\/\">Course Builder<\/a>.<\/p>\n\n\n\n<p>To export quizzes&#8230;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to LearnDash LMS &gt; Quizzes<\/li>\n\n\n\n<li>Click on the Actions menu in the header<\/li>\n\n\n\n<li>Select Import\/Export<\/li>\n\n\n\n<li>Select the quizzes you want to move<\/li>\n<\/ol>\n\n\n\n<p>This is the same process for importing the quizzes onto the new site.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-transferring-courses-with-data\">Transferring Courses With Data<\/h2>\n\n\n\n<p>If you want to move a LearnDash course to another site and retain all of the user progress\/data, then the process for doing so is more elaborate and should only be done by a capable developer.<\/p>\n\n\n\n<p class=\"has-theme-palette-8-color has-theme-palette-1-background-color has-text-color has-background has-link-color wp-elements-10930b4d8f1522a55b80838cf1e6d42e\">WARNING: LearnDash support provides limited assistance for this task and only when using the built-in import\/export tool. The team may not be able to help troubleshoot. It is strongly recommended to practice the transfer on a development site first before attempting it on a live site.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-using-the-built-in-learndash-import-export\">Using the Built-in LearnDash Import\/Export<\/h3>\n\n\n\n<p>LearnDash has now introduced a new Import\/Export feature to allow you to easily import\/export your entire LearnDash site, data, configuration, and settings to another site. This is now the recommended option when importing\/exporting your existing LearnDash site to another or a new site.<\/p>\n\n\n\n<p><strong>To use this feature:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to <strong>LearnDash LMS > Settings<\/strong><\/li>\n\n\n\n<li>Click on the &#8220;Advanced&#8221; tab<\/li>\n\n\n\n<li>Click on <strong>Import\/Export<\/strong><\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2038\" height=\"470\" src=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-import-export-page.png\" alt=\"Import\/Export page in LearnDash Advanced Settings menu\" class=\"wp-image-4740\" srcset=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-import-export-page.png 2038w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-import-export-page-400x92.png 400w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-import-export-page-800x184.png 800w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-import-export-page-768x177.png 768w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-import-export-page-1536x354.png 1536w\" sizes=\"auto, (max-width: 2038px) 100vw, 2038px\" \/><\/figure><\/div>\n\n\n<h4 class=\"wp-block-heading\" id=\"h-exporting\">Exporting<\/h4>\n\n\n\n<p>On this page, you can fine-tune what you want to export from your LearnDash site. To export:<br><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"672\" height=\"1774\" src=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/ld-export-options.png\" alt=\"\" class=\"wp-image-8977\" srcset=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/ld-export-options.png 672w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/ld-export-options-152x400.png 152w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/ld-export-options-303x800.png 303w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/ld-export-options-582x1536.png 582w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/ld-export-options-194x512.png 194w\" sizes=\"auto, (max-width: 672px) 100vw, 672px\" \/><\/figure><\/div>\n\n\n<ol class=\"wp-block-list\">\n<li>Select what data you want to export. &#8220;Everything&#8221; includes all of the data and settings on the site.<\/li>\n\n\n\n<li>&#8220;I want to select&#8221; allows you to pick, choose, and customize the export. You have the option to export:\n<ul class=\"wp-block-list\">\n<li>Courses<\/li>\n\n\n\n<li>Lessons<\/li>\n\n\n\n<li>Topics<\/li>\n\n\n\n<li>Quizzes<\/li>\n\n\n\n<li>Questions<\/li>\n\n\n\n<li>Transactions<\/li>\n\n\n\n<li>Groups<\/li>\n\n\n\n<li>Assignments<\/li>\n\n\n\n<li>Essays<\/li>\n\n\n\n<li>Certificates<\/li>\n\n\n\n<li>Coupons<\/li>\n\n\n\n<li>Users<\/li>\n\n\n\n<li>Others<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>You can also select to export either just the posts, the settings, or both.<\/li>\n\n\n\n<li>Once done, click on the export button.<\/li>\n\n\n\n<li>After that, the button will grey out and show &#8220;Export in progress&#8221;, just wait for this to complete.<\/li>\n\n\n\n<li>Once done, you&#8217;ll see a link to download the export at the top of the page<br><figure><a href=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/Advanced_\u00d4\u00c7\u2563_LD_Dev_1_\u00d4\u00c7\u00f6_WordPress2.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"2476\" height=\"816\" class=\"alignnone wp-image-4782 size-full\" src=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/Advanced_\u00d4\u00c7\u2563_LD_Dev_1_\u00d4\u00c7\u00f6_WordPress2.jpg\" alt=\"\"><\/a><\/figure><\/li>\n\n\n\n<li>Once you click &#8216;Download&#8217;, you&#8217;ll receive a .zip file containing all the information you have just selected.<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Select what data you want to export. &#8220;Everything&#8221; includes all of the data and settings on the site.<\/li>\n\n\n\n<li>&#8220;I want to select&#8221; allows you to pick, choose, and customize the export. You have the option to export:\n<ul class=\"wp-block-list\">\n<li>Courses<\/li>\n\n\n\n<li>Lessons<\/li>\n\n\n\n<li>Topics<\/li>\n\n\n\n<li>Quizzes<\/li>\n\n\n\n<li>Questions<\/li>\n\n\n\n<li>Transactions<\/li>\n\n\n\n<li>Groups<\/li>\n\n\n\n<li>Assignments<\/li>\n\n\n\n<li>Essays<\/li>\n\n\n\n<li>Certificates<\/li>\n\n\n\n<li>Coupons<\/li>\n\n\n\n<li>Users<\/li>\n\n\n\n<li>Others<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>You can also select to export just the posts, just the settings, or both.<\/li>\n\n\n\n<li>Once done, click on the Export button.<\/li>\n\n\n\n<li>After that, the button will grey out and show &#8220;Export in progress&#8221;, just wait for this to complete.<\/li>\n\n\n\n<li>Once done, you&#8217;ll see a link to download the export at the top part of the page<\/li>\n<\/ol>\n\n\n<style>.kadence-column2726_9beaa3-4a > .kt-inside-inner-col,.kadence-column2726_9beaa3-4a > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column2726_9beaa3-4a > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column2726_9beaa3-4a > .kt-inside-inner-col{flex-direction:column;}.kadence-column2726_9beaa3-4a > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column2726_9beaa3-4a > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column2726_9beaa3-4a{position:relative;}@media all and (max-width: 1024px){.kadence-column2726_9beaa3-4a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column2726_9beaa3-4a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column2726_9beaa3-4a\"><div class=\"kt-inside-inner-col\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2014\" height=\"118\" src=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-export-processing.png\" alt=\"\" class=\"wp-image-4741\" srcset=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-export-processing.png 2014w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-export-processing-400x23.png 400w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-export-processing-800x47.png 800w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-export-processing-768x45.png 768w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2021\/11\/learndash-export-processing-1536x90.png 1536w\" sizes=\"auto, (max-width: 2014px) 100vw, 2014px\" \/><\/figure><\/div><\/div><\/div>\n\n\n\n<ol start=\"7\" class=\"wp-block-list\">\n<li>Once you click on download, you&#8217;ll get a .zip file containing all the information you just selected.<\/li>\n<\/ol>\n\n\n\n<p class=\"p1 has-theme-palette-8-color has-theme-palette-1-background-color has-text-color has-background has-link-color wp-elements-1ec8c11c7d194ef2f56e8efd7806bc53\"><span class=\"s1\"><strong>IMPORTANT NOTE:<\/strong> By default, LearnDash does not offer a built-in feature to export a single course using the <a href=\"https:\/\/learndash.com\/support\/docs\/developers\/transferring-learndash-courses\/\"><span class=\"s2\">LearnDash export\/import tool<\/span><\/a>. The tool allows for the export of courses, lessons, topics, and quizzes collectively but does not allow you to export an individual course directly.<\/span><\/p>\n\n\n\n<p class=\"p2\"><span class=\"s1\"><b>Workaround Options &#8211;<\/b><\/span><\/p>\n\n\n\n<ol class=\"wp-block-list ol1\">\n<li><span class=\"s1\"><b>Manual Recreation<\/b>: If the course is not extensive, you can manually recreate it in the target LearnDash installation.<\/span><\/li>\n\n\n\n<li><span class=\"s1\"><b>Database Export<\/b>: For a more technical approach, you could access your site&#8217;s database and export the specific tables related to that course. This method requires knowledge of database management and should be done with caution.<\/span><\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-importing\">Importing<\/h4>\n\n\n\n<p>You can import the data that you just exported using this feature to another LearnDash site using the import feature.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>On the <strong>Import\/Export<\/strong> page, under &#8220;What do you want to import?&#8221;, select the .zip file from a previous export.<\/li>\n\n\n\n<li>Once selected, click on Import<\/li>\n\n\n\n<li>You will see a message that says &#8220;Import is in the processing queue. Please reload this page to see the import status.&#8221;<\/li>\n\n\n\n<li>Wait for the import to finish. You can refresh the page to see the status.<\/li>\n\n\n\n<li>Once done, you will see a message that says &#8220;Import completed successfully.&#8221;<\/li>\n\n\n\n<li>At this point, everything that you&#8217;ve exported will have been imported successfully to the new LearnDash site. All the course, lessons, topics, quizzes, and group associations will be kept, and all the settings (if you&#8217;ve chosen to export them) will be applied.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-database-considerations\">Database Considerations<\/h3>\n\n\n\n<p>The course progress LearnDash stores as part of the <code><strong>user_meta<\/strong><\/code> must<strong> <\/strong>match the post ID number for the related Course, Lesson, Topic and Quiz.<\/p>\n\n\n\n<p>Within the <code>wp_usermeta<\/code> table you have rows related to specific <code>user_id<\/code>. These are key\/value pairs. Within these various key\/value pairs there are a few user by LearnDash to track user Course and Quiz progression.<\/p>\n\n\n\n<p>For the Courses the meta_key will be named <code>'<strong>_sfwd-course_progress<\/strong>'<\/code> and the <code><strong>meta_value<\/strong><\/code> will be a serialized array.<\/p>\n\n\n\n<p>This array when expanded will contain references to the Course ID (matching the course post ID), also Lesson ID, Topic ID, etc. There will also be an indicator to show if the user completed that step in the course.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1168\" height=\"357\" src=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/learndash-Database-2.png\" alt=\"LearnDash Database Screenshots\" class=\"wp-image-4043\" srcset=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/learndash-Database-2.png 1168w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/learndash-Database-2-400x122.png 400w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/learndash-Database-2-800x245.png 800w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2019\/05\/learndash-Database-2-768x235.png 768w\" sizes=\"auto, (max-width: 1168px) 100vw, 1168px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>From the screenshot the top-level key 24978 (shown by the red arrow) is the Course ID and must match the existing course post ID. Within each course section you will have sub-sections for &#8216;lessons&#8217; and &#8216;topics&#8217;.<\/p>\n\n\n\n<p>Take the course 24978 for example. This course has 1 lesson indicated by the 24980 key within the &#8216;lessons&#8217; sub-section. The &#8216;1&#8217; on each key indicates the user completed this lesson.<\/p>\n\n\n\n<p>Within the &#8216;topics&#8217; sub-section, you will see the first tiers 24980, 24982. These are lesson IDs and must match the same lesson ID from the &#8216;lessons&#8217; sub-section.<\/p>\n\n\n\n<p>Within each &#8216;topics&#8217; lessons section you will see the topic ID (ex. 25000 and 24988) and the &#8216;1&#8217; indicating the topic was complete.<\/p>\n\n\n\n<p>Below the &#8216;lessons&#8217; and &#8216;topics&#8217; sub-sections, you will also see the keys &#8216;completed&#8217; and &#8216;total&#8217;. These are the completed steps and total steps of the course.<\/p>\n\n\n\n<p>Outside of this one user meta key\/value pair there is another set for user Quiz progress. However, this array structure is very different.<\/p>\n\n\n\n<p>Within the user meta table for each user there are also other key\/value pairs user by LearnDash to track the user. These are somewhat less important than the Course ( <code>_sfwd-course_progress<\/code> ) and Quiz ( <code>_sfwd-quizzes<\/code> ) progress items.<\/p>\n\n\n\n<p><strong>Additional items to consider for the transfer include&#8230;<\/strong><\/p>\n\n\n\n<p><code>learndash_group_users_XXX<\/code> &#8211; Used to indicate the user is assigned to a Group. The &#8216;XXX&#8217; on the key will match the meta_value. A user can be associated with many groups.<\/p>\n\n\n\n<p><code>learndash_course_expired_XXX<\/code> &#8211; Used to indicate when user&#8217;s access to a course has expired.<\/p>\n\n\n\n<p><code>course_completed_XXX<\/code> &#8211; A secondary record of the course progress. Used to indicate when the user completed the course.<\/p>\n\n\n\n<p>If you would like assistance with this process, then <a href=\"https:\/\/valet.io\">you can reach out to this firm<\/a>. You can also <a href=\"https:\/\/www.learndash.com\/codeable\">post the project on Codeable<\/a> to get a free quote.<\/p>\n\n\n\n<p class=\"note\">&nbsp;<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are two ways to transfer (or move) LearnDash courses from one site to another. The method you use depends on whether or not you need to retain existing user data or just move the course content. For demo users, you can export your progress and import it when you purchase LearnDash or LearnDash Cloud&#8230;.<\/p>\n","protected":false},"author":59,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_helpful_status":1,"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_swpsp_post_exclude":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"doc_category":[164],"doc_tag":[],"knowledge_base":[157],"class_list":["post-2726","docs","type-docs","status-publish","hentry","doc_category-user-guides","knowledge_base-resources"],"year_month":"2026-04","word_count":1303,"total_views":"8459","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"display_name":"Matt Cromwell","author_link":"https:\/\/learndash.com\/support\/author\/mattc\/"},"doc_category_info":[{"term_name":"User Guides","term_url":"https:\/\/learndash.com\/support\/kb\/resources\/user-guides\/"}],"doc_tag_info":[],"taxonomy_info":{"doc_category":[{"value":164,"label":"User Guides"}],"knowledge_base":[{"value":157,"label":"Resources"}]},"featured_image_src_large":false,"comment_info":0,"knowledge_base_info":[{"term_name":"Resources","term_url":"https:\/\/learndash.com\/support\/kb\/resources\/","term_slug":"resources"}],"knowledge_base_slug":["resources"],"_links":{"self":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs\/2726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/users\/59"}],"replies":[{"embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/comments?post=2726"}],"version-history":[{"count":18,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs\/2726\/revisions"}],"predecessor-version":[{"id":10562,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs\/2726\/revisions\/10562"}],"wp:attachment":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/media?parent=2726"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/doc_category?post=2726"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/doc_tag?post=2726"},{"taxonomy":"knowledge_base","embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/knowledge_base?post=2726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}