Rastchin Content Migrator self-updates
WordPress plugin: safe WPBakery (Visual Composer) → clean HTML migration. Strips VC shortcodes while preserving text, links, images & SEO. Features Preview, Backup, Restore, Batch & Dry Run. Not an Elementor converter — prepares content for manual rebuild. By Amir.heydaripour. GPL-2.0.
by Amir.heydaripour · github.com/amirheydaripourodin1133/rastchin-content-migrator · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/amirheydaripourodin1133/rastchin-content-migrator/archive/refs/heads/main.zipShips its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.
Readme
Rastchin Content Migrator
نسخه: 6.0.1
نویسنده: Amir.heydaripour
لایسنس: GPL-2.0-or-later
افزونه وردپرس برای مهاجرت ایمن از WPBakery (Visual Composer) به HTML خالص — بدون از دست دادن متن، لینک، تصویر و محتوای سئو.
این افزونه صفحه را به Elementor تبدیل نمیکند. فقط shortcodeهای WPBakery را حذف میکند و محتوا را برای بازسازی دستی در Elementor آماده میکند.
مستندات
| فایل | مخاطب | توضیح |
|---|---|---|
| docs/USER-GUIDE.md | مدیر سایت / کاربر نهایی | راهنمای کامل نصب، Preview، Apply، Backup، راهنمای تست |
| docs/TEST-SAMPLE.wpbakery.txt | تست | نمونه WPBakery آماده paste در برگه تست |
| docs/DEVELOPER-GUIDE.md | توسعهدهنده / AI Debugger | معماری، pipeline مهاجرت، meta keys، نکات دیباگ |
نصب سریع
- پوشه
rastchin-content-migratorرا درwp-content/plugins/کپی کنید. - از Plugins → Installed Plugins افزونه را فعال کنید.
- بروید به Tools → Content Migrator.
نیازمندیها: WordPress 5.8+ · PHP 7.4+
اولین بار؟ یک برگه تست بسازید → محتوای TEST-SAMPLE.wpbakery.txt را paste کنید → Preview. جزئیات در USER-GUIDE → راهنمای تست.
قابلیتها
- Preview — مقایسه BEFORE / AFTER بدون ذخیره
- Apply To Post — ذخیره خروجی در
post_content - Backup — نسخه اصلی در
_rcm_original_content(فقط یکبار) - Restore — بازگردانی محتوای اصلی
- Batch Mode — پردازش چند ID یا کل یک Post Type
- Dry Run — تست بدون ذخیره
- Force — پردازش مجدد صفحات migrateشده
- گزارش — آمار shortcode، تصویر، لینک، خطا، زمان اجرا
اولویتهای طراحی
- هیچ متن، لینک یا تصویری از بین نرود
- حذف کامل وابستگی به WPBakery
- کد تمیز و قابل توسعه
Layout، Grid، Column و Responsive مهم نیستند — فقط محتوای سئو.
ساختار پروژه
rastchin-content-migrator/
├── rastchin-content-migrator.php # Bootstrap
├── includes/
│ ├── class-rcm-migrator.php # موتور تبدیل shortcode → HTML
│ ├── class-rcm-processor.php # Preview / Apply / Batch
│ ├── class-rcm-backup.php # Backup & Restore
│ ├── class-rcm-post-updater.php # ذخیره امن post_content
│ ├── class-rcm-stats.php # آمار مهاجرت
│ └── class-rcm-plugin.php # Singleton
└── admin/
├── class-rcm-admin.php # UI + admin-post handlers
├── views/admin-page.php
├── css/admin.css
└── js/admin.js
Meta Keys
| Key | توضیح |
|---|---|
_rcm_original_content |
بکاپ post_content قبل از اولین Apply |
_rcm_migrated |
1 = قبلاً migrate شده |
_rcm_migrated_at |
زمان migrate (MySQL datetime) |
امنیت
- Capability:
manage_options - Nonce برای هر action (
rcm_preview,rcm_apply,rcm_restore,rcm_batch) - Sanitize / Escape در ورودی و خروجی
- بدون SQL خام در مسیر عادی (fallback مستقیم
$wpdb->updateفقط برایpost_content)
مشارکت و دیباگ
قبل از هر تغییر در class-rcm-migrator.php، docs/DEVELOPER-GUIDE.md را بخوانید.
هرگز منطق strip-based unwrapping را با get_shortcode_regex() جایگزین نکنید — روی محتوای تو در تو WPBakery شکست میخورد.