Teachable to LifterLMS: Moving Content, Students, Subscriptions and URLs

A step-by-step plan for moving from Teachable to LifterLMS: what Teachable lets you export, how to rebuild courses, import and enroll students, handle active subscriptions, and keep your URLs and search traffic.

  • Add as a preferred source on Google
Illustration for “Teachable to LifterLMS: Moving Content, Students, Subscriptions and URLs”

Moving from Teachable to LifterLMS means leaving a hosted platform for a WordPress site you own. You gain control of design, pricing, data and fees. You also take on the move itself, and Teachable does not make that a one-click job.

This guide is for Teachable school owners who have decided to switch, or are close to it. It covers what you can actually get out of Teachable, how each part of your school is rebuilt in LifterLMS, and how to handle the two things that cause the most trouble: active subscriptions and old URLs.

If you are still deciding, read our LifterLMS vs Teachable, Thinkific and Kajabi comparison first. For the general migration method that applies to any platform, see our LifterLMS migration guide.

What you can export from Teachable

Teachable's own help article on exporting school content and data sets the limits. At the time of writing it says:

  • Students: the Users area has an Export CSV option, and the file is emailed to you. Filters you apply first decide which users are included.
  • Sales: the Transactions area also exports to CSV.
  • Course content: there is no bulk export of courses. Videos, PDFs, audio and other files are downloaded one block at a time from the curriculum editor, and text is copied and pasted.

The help article does not cover quizzes or student progress. Teachable also has a public API, which includes a course progress endpoint, and that is the usual route for pulling progress data on larger schools. Check that your plan includes API access before relying on it.

Passwords never transfer between platforms. Every student will set a new password on your LifterLMS site, so plan the welcome email from the start.

Plan the mapping before you rebuild

Teachable and LifterLMS describe a school with different words. Settle the mapping first so the rebuild is consistent.

TeachableLifterLMSHow it moves
CourseCourseRebuilt in the Course Builder
SectionSectionSame idea, same name
LectureLessonText pasted in, video embedded from your new host
QuizQuiz on a lessonRecreated by hand; one quiz per lesson
Pricing plansAccess plansOne-time, subscription and payment plans recreated
BundlesMembershipsA membership can auto-enroll members into chosen courses
CouponsCouponsRecreated in LifterLMS; vouchers are also available
CertificatesCertificate templates and engagementsRedesigned in the certificate editor
Students and enrollmentsWordPress users and LifterLMS enrollmentsImported from CSV, then enrolled by script or API
CommentsNot migratedArchive them; start fresh discussion

Step 1: Move videos and course content

Video is the bulk of most Teachable schools, so decide where it will live before you download anything. Hosting video on your WordPress server is a mistake for paid courses: it is slow, hard to protect, and expensive at scale. Upload to a dedicated video host and embed the player in each lesson. Our comparison of video hosting for LifterLMS covers the main options.

  1. Export a list of every course, section and lecture so nothing is missed. A spreadsheet with one row per lecture works well.
  2. Download each video, PDF and audio file from its block in the Teachable curriculum editor, naming files by course and lecture number.
  3. Upload videos to your video host, organised in folders by course.
  4. Create the course in LifterLMS, add sections and lessons in the Course Builder, paste lesson text and embed each video.
  5. Upload downloads such as PDFs to the media library and, if they are for paying students only, use the media protection options in LifterLMS so the files are not publicly reachable.

Rebuilding is also the right moment to fix structure: very long lectures, empty sections and outdated content.

Step 2: Recreate pricing, checkout and access

Each Teachable pricing option becomes a LifterLMS access plan on the course or membership. Access plans support free access, one-time payments, recurring subscriptions, payment plans with a limited number of payments, and free trials. Recreate each price exactly as it was before you invite anyone, so returning students see familiar offers.

Card payments need a paid gateway add-on, such as Stripe or PayPal, because the free core includes only a manual gateway. If you used a custom Stripe account on Teachable, you can connect the same Stripe account to LifterLMS. That keeps your customer records and payout history in one place, even though each subscription still needs handling as described below.

Step 3: Import students and enroll them

LifterLMS core has no CSV importer for students, so the import happens in two stages.

  1. Create the WordPress accounts. Use a user import plugin, or WP-CLI: wp user import-csv students.csv reads a CSV with columns such as user_login, user_email, display_name and role. Use the student role, which LifterLMS creates. Do not send WordPress's default new-user email; you will send your own.
  2. Enroll each student in the right courses and memberships. A short WP-CLI script calling llms_enroll_student() works on the server, or an external script can call the LifterLMS REST API route /wp-json/llms/v1/students/{id}/enrollments/{course_id}. Our LearnDash migration article includes an enrollment script that also preserves original enrollment dates, which you can adapt.

Enrollment triggers LifterLMS notifications and engagements, so pause the enrollment email under LifterLMS > Settings > Notifications and any welcome engagements while you import. Otherwise every student receives a stream of emails before you have told them about the move.

If you pulled completion data through the API, mark finished lessons complete with llms_mark_complete() so returning students do not start from zero. Many schools skip this for short courses and simply tell students where they left off.

Step 4: Handle active subscriptions

Subscriptions are the hardest part of any move from Teachable, because the recurring payment lives with whoever processes the card.

  • Teachable's own payment processing. The subscription and card details sit with Teachable's payment system. You cannot move them yourself. The realistic path is to ask subscribers to restart their subscription on your new site, ideally with an incentive such as a locked-in price or a free month, and to cancel the Teachable subscription once they have.
  • A custom Stripe gateway on Teachable. Teachable's article on custom payment gateways explains that payments then go to your own Stripe account. The customers and saved cards are already yours. A developer can create matching LifterLMS orders tied to those customers so billing continues without asking anyone to re-enter a card. This is custom work and must be tested end to end.

Whichever path applies, set a firm date. Before it, students use Teachable. After it, they use your new site and Teachable billing stops. Running both open-ended causes double charges and confused access.

Step 5: Keep your URLs and search traffic

If your Teachable school used a custom domain, you can point that domain at the new WordPress site, which keeps your brand and links. The paths will change, though. Crawl or export every public URL on the Teachable school, especially sales pages and any blog posts, and map each one to its new LifterLMS course, membership or page.

Add those mappings as 301 redirects on the new site, with a redirect plugin or server rules. Then submit the new sitemap in Google Search Console and watch for crawl errors in the weeks after launch.

Common migration mistakes

  • Announcing before the site is tested. Buy every access plan yourself with a real card, then refund it. Log in as a test student and complete a lesson and a quiz.
  • Forgetting quiz answers. Teachable does not export quizzes, so copy questions and correct answers before you close the school.
  • Closing Teachable too soon. Keep the account until every subscriber has moved and you have downloaded transaction exports for your accounting.
  • Re-uploading videos to WordPress. Use a video host. Your server and your students will both be happier.

Frequently asked questions

Can I export my whole Teachable course in one file?

No. Teachable's help article says it does not support bulk export of course files. Videos and files are downloaded block by block, and text is copied manually.

Will students keep their logins?

Their email addresses will, but passwords cannot be moved. Send a welcome email with a password set link and clear instructions.

How long does a Teachable to LifterLMS move take?

Content rebuild time depends mostly on how many lectures and videos you have. The student and subscription steps add a few days of preparation and a switch-over period of a few weeks while subscribers move.

Can I keep Teachable running while I build?

Yes, and you should. Build on staging, keep selling on Teachable, and switch only when the new site is ready.

Next steps

Start by exporting your users and transactions from Teachable and counting your lectures, videos, quizzes and active subscribers. Those numbers decide whether this is a weekend rebuild or a planned project.

If you have hundreds of students or active subscriptions, our LifterLMS migration service handles the rebuild, imports, subscription plan and redirects. Get in touch with your numbers and we will outline the move.

Add LifterLMS Expert to your preferred sources

Add lifterlmsexpert as a preferred source on Google, or open this article in your AI assistant to use it as a source.

  • Add as a preferred source on Google
Free consultation

Prefer expert help over DIY?

Skip the trial and error. Get specialist LifterLMS help and ship faster.

Talk to a LifterLMS Expert Explore our services

Replies within one business day