How to Create a Course in LifterLMS: From Blank Page to Published
Build one LifterLMS course from start to finish: the course post, Course Options, the outline, lesson content, a quiz, an access plan, publishing…
Read articleA migration to LifterLMS is rarely blocked by course content. Lessons are text, video and files, and those can be moved, even if the last resort is copy and paste. What goes wrong is everything attached to the content: who is enrolled in what, how far they got, which subscriptions are still billing, and which URLs your customers and search engines already know.
This guide covers how to plan and run the move from another WordPress LMS such as LearnDash, Tutor LMS or LearnPress, or from a hosted platform such as Teachable, Thinkific or Kajabi. It is specific about which tools exist, what they do, and where you will need manual work or a script.
One rule first: the old system stays live and untouched until the new one has passed a full rehearsal.
Start by listing everything the current system holds.
| What | Typical route | Watch for |
|---|---|---|
| Course structure | Migration tool (LearnDash) or rebuild in the Course Builder | LifterLMS uses course, section, lesson. A fourth level, such as LearnDash topics, becomes lessons. |
| Lesson content and files | Tool, WordPress export, or copy across | Shortcodes and blocks that belong to the old LMS stop rendering once it is removed. |
| Video | Re-point embeds or re-upload | Video stored by a hosted platform must be downloaded and re-hosted. |
| Quizzes | Tool or rebuild | Core has multiple choice, picture choice and true or false. Other types need the Advanced Quizzes add-on or a redesign. |
| Users | Already present (same WordPress site) or imported from CSV | Do not expect a hosted platform's export to include passwords you can load into WordPress. Plan a password reset. |
| Enrollments and progress | Tool, or a script using the LifterLMS REST API or CLI | The built-in LifterLMS importer does not carry these. |
| Certificates | Rebuild the templates | Certificates already earned are records, not only designs. |
| Orders and subscriptions | Usually not transferable | A subscription lives inside one checkout system and one gateway account. |
| URLs | Redirect map | Every indexed or bookmarked address needs a destination. |
A recurring payment created by another plugin or platform keeps being billed by that system until someone cancels it. LifterLMS orders are created by the LifterLMS checkout and cannot adopt an agreement made elsewhere without custom development. Stripe does offer a payment data import from another processor, but the previous processor has to cooperate, it takes time, and matching LifterLMS orders still have to be created.
One smaller trap: video stored on the old platform goes with the account when it closes. Download it before you cancel anything.
LifterLMS has a course exporter and an importer, and it is easy to assume they are a migration tool. They are not. The LifterLMS course importer under LifterLMS > Import reads only the JSON files produced by the LifterLMS exporter. It moves courses between LifterLMS sites: it creates draft courses with their sections, lessons, quizzes, questions and access plans. The export file holds no student accounts, enrollments or progress, so none of that comes across.
The LifterLMS LearnDash migration page points to Transfer, a paid third-party plugin from Honors WP. By its vendor's description it works only with LearnDash and LifterLMS, and it covers courses, lessons, topics, quizzes and questions along with user data such as course progress. The vendor also lists limits: data belonging to other plugins and custom fields is not transferred, and post IDs change on import.
WP All Import can move post content too, but the same LifterLMS page describes it as content-only: lessons arrive unattached, and you assign them to courses and sections by hand.
We have not found a maintained tool that converts Tutor LMS or LearnPress data into LifterLMS. Plan for a rebuild of the course structure plus a scripted transfer of enrollments and progress. Because all three are WordPress plugins, your user accounts are already in place if you stay on the same site.
Teachable and Thinkific both state in their help centers that a course cannot be exported as a single file. You download videos and files one by one and copy text and quiz content manually. Teachable documents a CSV export of users. Kajabi's help center likewise describes a manual backup of course content, with individual videos downloadable and contacts exportable. The LifterLMS importer does not read user CSVs, so accounts go in through a WordPress user-import plugin or a script.
For enrollments and progress, LifterLMS ships a REST API and WP-CLI commands with resources for students, student enrollments and student progress. That is what a developer uses to write a script you can run again: read the old records, create the enrollment, mark the completed lessons.
Write down what exists and where each item is going.
Anything without a clean equivalent gets a decision and an owner now, not during cutover.
One caution: creating students and enrollments in bulk can trigger LifterLMS notifications and engagement emails. Review LifterLMS > Settings > Notifications and your engagements before a bulk run, on staging and again on production.
Cutover is a short window in which nothing changes on the old system while you copy its final state.
/course/ and /lesson/ bases by default and lets you edit its slugs on the WordPress Permalinks settings screen, which can shorten the redirect list if the old site used a similar pattern. Send old login and account pages to the LifterLMS Student Dashboard.If you are moving a handful of courses with no active subscriptions, you can probably run this yourself. Start with the inventory, rebuild on staging, and use our LifterLMS setup guide for the base configuration.
Bring in help when the stakes are higher: active subscriptions, years of progress or certification records that must survive, a source with no migration tool, or a business that cannot absorb a failed launch weekend. Our LifterLMS migration service covers the mapping, scripted transfer, rehearsal and cutover. Still deciding whether to move at all? Read how LifterLMS compares with other WordPress LMS plugins, or send us your inventory and we will tell you where the hard parts are.
Build one LifterLMS course from start to finish: the course post, Course Options, the outline, lesson content, a quiz, an access plan, publishing…
Read article
Know what every control in the LifterLMS Course Builder does: section and lesson actions, each field in the lesson settings panel, the quiz editor…
Read article
Decide how many sections you need, how big a lesson should be, whether order is enforced, which lessons to open as free previews, and where quizzes…
Read articleSkip the trial and error. Get specialist LifterLMS help and ship faster.