WP Manifestindependent plugin directory
manifest / updates / rastchin-content-migrator

Rastchin Content Migrator

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.

★ 1stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/amirheydaripourodin1133/rastchin-content-migrator/archive/refs/heads/main.zip
Updates itself. It ships its own updater, so new versions appear under Dashboard → Updates.

نسخه: 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، نکات دیباگ

نصب سریع

  1. پوشه rastchin-content-migrator را در wp-content/plugins/ کپی کنید.
  2. از Plugins → Installed Plugins افزونه را فعال کنید.
  3. بروید به 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، تصویر، لینک، خطا، زمان اجرا

اولویت‌های طراحی

  1. هیچ متن، لینک یا تصویری از بین نرود
  2. حذف کامل وابستگی به WPBakery
  3. کد تمیز و قابل توسعه

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 شکست می‌خورد.