اگر میخواهید از LearnDash به پلتفرم دیگری منتقل شوید و از دست رفتن دورهها نگرانید، تنها نیستید. این راهنمای گامبه‑گام تمام ملاحظات کلیدی برای حفظ ساختار، محتوا و دادههای کاربران را پوشش میدهد. با تکیه بر تجربیات متخصصان LMS، ابزارهای ضروری و روشهای تست را بهصورت واضح معرفی میکنیم.
از استخراج محتوا تا تنظیم مجدد دسترسیها، هر مرحله بهگونهای طراحی شده که ریسک خطا را به حداقل برساند. نکات پیشرفته برای بهینهسازی عملکرد در سیستم جدید نیز آورده شده تا تجربه یادگیرندگان بهتر شود. با این مسیر واضح میتوانید با اطمینان مهاجرت کنید و زمان صرفهجویی شده را به ارتقای دورهها اختصاص دهید.
فهرست مطالب
- آشنایی با ساختار LearnDash
- برنامهریزی دقیق انتقال دادهها
- پشتیبانگیری کامل دورههای آموزشی
- انتخاب پلتفرم جایگزین مناسب
- نقشه گام به گام مهاجرت
- آزمون صحت دادههای منتقلشده
- بهینهسازی دورهها پس از انتقال
- سوالات متداول
آشنایی با ساختار LearnDash
LearnDash از ساختار «پست سفارشی» (Custom Post Type) برای مدیریت تمام مؤلفههای دورههای آموزشی استفاده میکند. هر دوره، درس، موضوع و آزمون بهصورت یک پست جداگانه در پایگاه داده وردپرس ذخیره میشود و برای شناسایی آنها از نوع پستهای مخصوصی مثل sfwd-courses یا sfwd-lessons استفاده میشود. این رویکرد باعث میشود که ابزارهای استاندارد پشتیبانگیری و مهاجرت وردپرس بتوانند بهراحتی این دادهها را استخراج کنند.
علاوه بر پست سفارشی، LearnDash تمام اطلاعات ساختاری را در متادیتا (post meta) و طبقهبندیها (taxonomies) ذخیره میکند. بهعنوان مثال، شناسهٔ دورهٔ مادر برای هر درس در متای course_id نگهداری میشود و ترتیب نمایش درسها توسط متای lesson_order تنظیم میشود. همینطور، آزمونها بهصورت یک طبقهبندی «quiz‑category» به دوره یا درس مرتبط میشوند تا بتوانند بهصورت سلسلهمراتبی سازماندهی شوند.
| نوع پست سفارشی | کلید متا مهم | نقش اصلی |
|---|---|---|
sfwd-courses | course_access_list, course_price | تعریف دورهٔ کامل و دسترسیها |
sfwd-lessons | course_id, lesson_order | سازماندهی دروندورهای |
sfwd-topic | lesson_id, topic_order | جزئیات زیردرسها |
sfwd-quiz | course_id, lesson_id, quiz_type | تعریف آزمونها و تنظیمات ارزیابی |
برای مهاجرت بدون از دست رفتن دورهها، نخست باید تمام پستهای سفارشی مربوط به LearnDash را بهصورت export بگیرید؛ ابزارهایی مثل WP‑CLI (wp export --post_type=sfwd-*) یا افزونهٔ «All In One WP Migration» میتوانند این کار را انجام دهند. سپس، فایلهای CSV یا XML تولید شده را در سایت مقصد بازخوانی کنید و بهدقت بررسی کنید که کلیدهای متای course_id، lesson_id و quiz_id بهدرستی بهروز شوند تا ارتباطات سلسلهمراتبی حفظ شود.
یک نکتهٔ عملی: پس از وارد کردن دادهها، یکبار بازسازی ساختار درسها (Rebuild Course Structure) را از منوی LearnDash → Tools اجرا کنید. این کار جدولهای داخلی را همگامسازی میکند و از بروز خطاهای «درس گمشده» یا «آزمون نامرتبط» جلوگیری میکند. با این روش میتوانید ساختار کامل LearnDash را بهدقت حفظ کرده و بهسرعت به سیستم جدید منتقل کنید.
پشتیبانگیری کامل دورههای آموزشی
قبل از هرگونه انتقال LearnDash، اولین گام اساسی اطمینان از داشتن یک پشتیبانگیری کامل از تمام اجزای دورههاست. این شامل محتوا (دورهها، درسها، آزمونها)، تنظیمات (نمرهگذاری، پیشنیازها) و دادههای کاربران (پیشرفت، نمرات) میشود. اگر حتی یک بخش از این دادهها گم شود، بازسازی دورهها میتواند زمانبر و پرهزینه باشد؛ بنابراین داشتن یک نقطه بازگشت مطمئن، ریسک از دست رفتن اطلاعات را بهطور چشمگیری کاهش میدهد.
برای استخراج دادههای ساختاری LearnDash، میتوانید از ابزارهای داخلی یا افزونههای صادراتی استفاده کنید. مراحل اصلی بهصورت زیر است:
- وارد پیشخوان وردپرس شوید و به LearnDash → Reports رفته، سپس گزینه «Export» را انتخاب کنید تا تمام نتایج آزمون و پیشرفت کاربران به صورت CSV ذخیره شود.
- از افزونهای مثل WP All Export استفاده کنید تا پستتایپهای مربوط به LearnDash (ld_course, ld_lesson, ld_topic, ld_quiz) را بهصورت XML یا CSV استخراج کنید.
- در بخش Tools → Export، تمام «Custom Post Types» را انتخاب کنید؛ این کار یک فایل XML شامل تمام محتوای دورهها تولید میکند.
- در صورت استفاده از WP‑CLI، فرمان
wp export --post_type=ld_course,ld_lesson,ld_topic,ld_quiz --filename=learnpress-backup.xmlمیتواند بهسرعت یک فایل خروجی تهیه کند.
پس از استخراج دادههای ساختاری، نوبت به پشتیبانگیری از فایلهای سایت میرسد. مهمترین پوشهها عبارتند از:
wp-content/uploads– تمام رسانههای آپلود شده (ویدئو، تصویر، PDF) که در دورهها استفاده میشوند.wp-content/plugins/learndash– کدهای اصلی افزونه LearnDash.wp-content/themes/your-theme– قالبی که ممکن است تنظیمات خاص دورهمحور داشته باشد.
برای این کار میتوانید از یک ابزار FTP یا از افزونههای پشتیبانگیری مثل UpdraftPlus یا BackupBuddy استفاده کنید و یک آرشیو فشرده از این مسیرها بسازید.
پس از تهیه نسخههای پشتیبان، حتماً صحت آنها را بررسی کنید. سادهترین راه، بارگذاری آرشیوها روی یک سایت تست (staging) و انجام یک restore آزمایشی است. اگر همه چیز بهدرستی بازگردد، میتوانید با اطمینان به مرحله مهاجرت پیش بروید. یک نکته عملی: هنگام بازیابی دیتابیس، از فرمان wp db import backup.sql در محیط خط فرمان استفاده کنید تا زمانبرداری بهحداقل برسد.
| مورد پشتیبانگیری | روش پیشنهادی | فایل خروجی |
|---|---|---|
| دادههای ساختاری (دوره، درس، آزمون) | WP All Export یا WP‑CLI | XML / CSV |
| دیتابیس کاربر (پیشرفت، نمره) | phpMyAdmin یا WP‑CLI | SQL Dump |
| رسانهها | FTP یا UpdraftPlus | ZIP Archive |
| کدهای افزونه و قالب | BackupBuddy یا دستی | ZIP Archive |
انتخاب پلتفرم جایگزین مناسب
قبل از اینکه بهسرعت یک پلتفرم جدید را انتخاب کنید، ابتدا باید نیازهای دقیق دورههای خود را شناسایی کنید. برای هر ویژگی-مانند قابلیت دسترسپذیری موبایل، پشتیبانی از پروگرامهای تکمیلی (مثلاً وبینار یا آزمون زماندار)، یا نیاز به یکپارچهسازی با سیستمهای پرداخت-امتیاز بدهید. این کار بهصورت یک جدول مقایسهای ساده میتواند تصمیمگیری را شفافتر کند.
| پلتفرم | هزینه (تقریبی) | انعطافپذیری | پشتیبانی | ویژگیهای کلیدی |
|---|---|---|---|---|
| LifterLMS | رایگان + افزونههای پرداختی | بالا (قابلیت افزودن ماژولهای سفارشی) | پشتیبانی جامعه + بلیتپرسی | دورههای چندسطحی، عضویتهای دورهای، درگاههای پرداخت متنوع |
| Tutor LMS | حدود $150 سالانه | متوسط (قالبهای از پیش ساختهشده) | پشتیبانی ایمیلی ۲۴/۷ | نقشهراه گرافیکی پیشرفته، آزمونهای تعاملی، سازگاری با Elementor |
| WP Courseware | حدود $199 سالانه | متوسط‑بالا (قابلیت درگ‑اند‑دراپ ساخت دروس) | پشتیبانی چت زنده برای پلنهای حرفهای | درج ویدیوهای MP4، گواهینامههای سفارشی، یکپارچهسازی با WooCommerce |
پس از پر کردن این جدول، به نکات فنی توجه کنید: آیا پلتفرم انتخابی از مهاجرت دادهها بهصورت خودکار پشتیبانی میکند یا نیاز به اسکریپتهای سفارشی دارید؟ برای مثال، LifterLMS یک ابزار واردکننده CSV ارائه میدهد که میتواند دورههای LearnDash را با حداقل مداخله منتقل کند. در عوض، Tutor LMS ممکن است نیاز به افزونهای ثالث برای همگامسازی آزمونها داشته باشد.
یک نکته عملی دیگر، آزمایش نسخهٔ آزمایشی (sandbox) یا نسخهٔ رایگان پلتفرم است. میتوانید یک دوره آزمایشی کوتاه با چند درس و یک آزمون راهاندازی کنید و سپس تجربهٔ کاربری دانشآموزان، سرعت بارگذاری، و سازگاری با تم فعلیتان را بررسی کنید. اگر در این مرحله عملکرد مطلوب را دریافت کردید، میتوانید بهسرعت بهروز رسانی به نسخهٔ کامل بپردازید.
در نهایت، به پشتیبانی فنی و جامعه کاربران توجه داشته باشید؛ هر چه جامعه بزرگتر باشد، یافتن راهحل برای مشکلات خاص آسانتر است. یک پلتفرم با مستندات واضح، ویدیوهای آموزشی و فروم فعال میتواند زمان مهاجرت را بهطور چشمگیری کاهش دهد و خطر از دست رفتن دادههای مهم را به حداقل برساند.
آزمون صحت دادههای منتقلشده
پس از انتقال محتوا از LearnDash به سامانهٔ جدید، اولین گام واقعی اطمینان از صحت دادههاست. حتی یک خطای کوچک میتواند باعث از دست رفتن پیشرفت دانشآموزان یا نادیده گرفتن ارزیابیها شود؛ بنابراین بهتر است قبل از راهاندازی نهایی، یک «» دقیق انجام دهید.
در این مرحله باید تمام اجزای کلیدی دورهها را بررسی کنید. موارد زیر را بهعنوان چکلیست اولیه در نظر بگیرید:
- دورهها و ماژولها: عنوان، توضیح، تاریخ شروع/پایان و تنظیمات دسترسی.
- دروس و تکلیفها: محتوا، پیوستها، زمانبندی و پیشنیازها.
- آزمونها و پرسشنامهها: سؤالها، گزینهها، وزن نمره و زمانسنجی.
- پیشرفت کاربران: وضعیت تکمیل درسها، نمرات آزمونها و گواهینامهها.
- دسترسپذیری: نقشها و سطوح دسترسی برای معلمها، دانشآموزان و مدیران.
یک روش عملی برای انجام این بررسی، ترکیبی از WP‑CLI و افزونههای مقایسهٔ داده است. بهصورت گام به گام میتوانید این کار را انجام دهید:
- از پایگاهدادهٔ قدیمی یک export کامل بگیرید (مثلاً با
wp db export old.sql). - پایگاهدادهٔ جدید را ایمپورت کنید و جدولهای مرتبط با LearnDash را جداگانه مقایسه کنید.
- با استفاده از دستورات
SELECT COUNT(*)تعداد دورهها، دروس و آزمونها را در هر دو پایگاه مقایسه کنید. - یک افزونهٔ گزارشگیری (مانند WP Data Access) را نصب کنید تا تفاوتهای ردیفبهردیف را بهصورت بصری نشان دهد.
بهعنوان مثال، فرض کنید کاربری به نام «علیرضا» در دورهٔ «طراحی وب» پیشرفت ۷۰٪ داشته است. پس از انتقال، میتوانید بهسرعت در جدول usermeta این مقدار را جستجو کنید و با مقدار قبلی مقایسه کنید:
SELECT meta_value FROM wp_usermeta WHERE user_id = 42 AND meta_key = 'ld_course_progress_101';
اگر مقدار بازگشتی ۷۰ باشد، انتقال درست انجام شده است؛ در غیر این صورت باید بهدنبال خطاهای احتمالی در فرآیند مهاجرت بگردید.
در ادامه میتوانید یک جدول خلاصهٔ سریع از موارد آزمون و روشهای تأیید را قرار دهید تا در طول فرآیند مرور راحتتری داشته باشید:
| مورد آزمون | روش تأیید |
|---|---|
| تعداد دورهها | SELECT COUNT(*) در جدول wp_posts با post_type = ‘sfwd-courses’ |
| پیشرفت کاربران | مقایسه مقادیر meta_keyهای ld_course_progress_* در wp_usermeta |
| نمرات آزمونها | بررسی جدول wp_learndash_user_quiz |
| دسترسپذیری نقشها | بررسی wp_capabilities در wp_usermeta |
نکتهٔ نهایی این است که این آزمونها را پس از هر بهروزرسانی یا افزودن ویژگی جدید دوباره اجرا کنید؛ این کار تضمین میکند دادههای مهم دورهها بهصورت پیوسته سالم بمانند و هیچیک از کاربران بهدلیل خطای مهاجرت دچار مشکل نشوند.
سوالات متداول
چگونه میتوانم دورههای LearnDash را بهصورت کامل استخراج کنم؟
ابتدا از بخش Tools > Export در وردپرس یک فایل XML بگیرید. سپس افزونه WP All Export را نصب کنید و فقط نوع post=sfwd-courses را انتخاب کنید. فایل CSV خروجی را برای سیستم جدید آماده کنید.
آیا میتوانم دادههای کاربران را بدون از دست رفتن نمرهها منتقل کنم؟
دادههای کاربران شامل نمرهها در جدول wp_learndash_user_activity ذخیره میشوند. با استفاده از افزونه WP Migrate DB میتوانید این جدول را بهصورت کامل به دیتابیس جدید کپی کنید. پس از انتقال، مطمئن شوید که شناسههای کاربری همراستا هستند.
بهترین افزونه جایگزین برای حفظ ساختار دروس کدام است؟
اگر میخواهید ساختار دروس، بخشها و کوییزها حفظ شود، LifterLMS یک گزینه قوی است. این پلتفرم امکان ایمپورت فایل CSV با فرمت مشابه LearnDash را دارد. همچنین افزونه LearnPress با افزونه Migration Pack میتواند بهصورت مستقیم انتقال بدهد.
در صورت بروز خطا در ایمپورت، چه کاری باید انجام دهم؟
ابتدا لاگهای خطا در wp‑admin > Tools > Site Health را بررسی کنید. اگر مشکل مربوط به حداکثر زمان اجرا است، مقدار max_execution_time را در php.ini افزایش دهید. در نهایت یک بار دیگر عملیات ایمپورت را با افزونه WP All Import اجرا کنید.
چکلیست سریع
- ساختار دورهها و تنظیمات LearnDash را بهدقت بررسی کنید.
- برنامه زمانبندی دقیق برای انتقال دادهها تنظیم کنید.
- پشتیبان کامل از محتوا، کاربران و تنظیمات بگیرید.
- پلتفرم جایگزین مناسب را با توجه به نیازهای آموزشی انتخاب کنید.
- نقشه گامبهگام مهاجرت را تدوین و اجرا کنید.
- دقت انتقال دادهها را با تستهای صحت بررسی کنید.
- پس از مهاجرت، دورهها را بهینهسازی و بهبود دهید.
با پیروی از این مراحل، میتوانید انتقال LearnDash به پلتفرم جدید را بدون از دست رفتن محتوا انجام دهید. هر مرحلهای که اجرا میکنید، اطمینان بیشتری برای دسترسی پایدار دانشجویان فراهم میکند. اگر سؤال یا تجربهای در این مسیر دارید، خوشحال میشویم آن را با ما به اشتراک بگذارید.
