آموزش وردپرس | بلاگ وب‌داده

انتقال وردپرس بین هاست cPanel و DirectAdmin

می‌خواهید سایت وردپرسی‌تان را از سی‌پنل به دایرکت‌ادمین (یا برعکس) ببرید و نگرانید چیزی خراب شود؟ در این راهنما گام‌به‌گام یاد می‌گیرید فایل‌ها و دیتابیس را جابه‌جا کنید، wp-config.php را درست کنید و بدون از دست رفتن اطلاعات سایت را روی پنل جدید بالا بیاورید.
انتقال وردپرس بین هاست cPanel و DirectAdmin یعنی جابه‌جا کردن فایل‌ها، دیتابیس و تنظیمات یک سایت وردپرسی از یک کنترل‌پنل به کنترل‌پنل دیگر، بدون اینکه محتوا یا آدرس‌ها به‌هم بریزد. این کار در نگاه اول ترسناک به‌نظر می‌رسد، اما یک فرایند کاملاً مشخص و تکرارپذیر است؛ اگر ترتیب مراحل را رعایت کنید و از قبل بکاپ بگیرید، ریسک تقریباً صفر می‌شود. در این مقاله کل مسیر را از صادر کردن دیتابیس تا تغییر DNS و عیب‌یابی نهایی می‌بینید.
  • سه ستون انتقال: هر مهاجرت وردپرس شامل سه چیز است؛ فایل‌ها، دیتابیس و ویرایش فایل wp-config.php.
  • تفاوت کلیدی دو پنل: مسیر ریشه‌ی سایت در سی‌پنل و دایرکت‌ادمین یکسان نیست و باید فایل‌ها را در پوشه‌ی درست بگذارید.
  • پیشوند نام دیتابیس عوض می‌شود: چون نام‌کاربری حساب مقصد فرق دارد، نام دیتابیس و کاربر تغییر می‌کند و باید در wp-config.php اصلاح شود.
  • سه مسیر ممکن: روش دستی، ابزار رسمی تبدیل دایرکت‌ادمین (سطح مدیر سرور)، یا افزونه‌هایی مثل Duplicator و All-in-One.
  • DNS آنی نیست: بعد از انتقال، تغییر نیم‌سرور دامنه تا ۴۸ ساعت طول می‌کشد تا همه‌جا اعمال شود.

در یک نگاه

برای انتقال بین سی‌پنل و دایرکت‌ادمین سه چیز را جابه‌جا کنید: فایل‌ها، دیتابیس و اطلاعات اتصال در wp-config.php. حواستان به تفاوت مسیر public_html و تغییر پیشوند نام دیتابیس باشد. بستر هاست سی‌پنل و وردپرس و پشتیبانی راه‌اندازی را می‌توانید از وب‌داده بگیرید.
حتماً این مقاله را باز کرده‌اید چون قصد دارید سایتتان را بین دو کنترل‌پنل جابه‌جا کنید و نگرانید هنگام انتقال چیزی خراب شود یا اطلاعات از بین برود. این نگرانی طبیعی است، اما خبر خوب این است که همان مسیری را که تیم پشتیبانی وب‌داده هر روز طی می‌کند، اینجا ساده و قابل‌فهم توضیح می‌دهیم تا خودتان هم بتوانید با خیال راحت انجامش دهید.

انتقال وردپرس بین هاست cPanel و DirectAdmin چیست و چه زمانی لازم است؟

سی‌پنل (cPanel) و دایرکت‌ادمین (DirectAdmin) دو کنترل‌پنل محبوب برای مدیریت هاست هستند؛ هر دو کارهایی مثل مدیریت فایل، ساخت دیتابیس، ایمیل و دامنه را از طریق یک محیط گرافیکی ساده می‌کنند. انتقال یعنی همان سایتی که روی یکی از این پنل‌ها بالاست را عیناً روی پنل دیگر بازسازی کنید، طوری که کاربر هیچ تفاوتی حس نکند.
این جابه‌جایی معمولاً در چند موقعیت پیش می‌آید:
  • تعویض شرکت هاستینگ: هاست جدیدی انتخاب کرده‌اید که کنترل‌پنلش با هاست قبلی فرق دارد.
  • کاهش هزینه یا لایسنس: دایرکت‌ادمین معمولاً لایسنس ارزان‌تری دارد و بعضی هاست‌ها به آن مهاجرت می‌کنند.
  • ارتقا یا تغییر سرور: از هاست اشتراکی به سرور مجازی یا اختصاصی می‌روید که پنل دیگری روی آن نصب است.

سه چیز جابه‌جا می‌شود، نه بیشتر

کل ماجرای مهاجرت وردپرس فقط سه بخش دارد: پوشه‌ی فایل‌های سایت (شامل wp-content)، دیتابیس MySQL، و فایل wp-config.php که این دو را به هم وصل می‌کند. اگر این سه را درست منتقل کنید، سایت دقیقاً مثل قبل بالا می‌آید؛ فرقی نمی‌کند از سی‌پنل به دایرکت‌ادمین بروید یا برعکس.

تفاوت مسیر ریشه‌ی سایت را جدی بگیرید

در سی‌پنل فایل‌های سایت اصلی معمولاً در /home/user/public_html/ قرار دارند، اما در دایرکت‌ادمین مسیر ریشه‌ی هر دامنه /home/user/domains/domain.com/public_html/ است. هنگام آپلود فایل‌ها حتماً آن‌ها را در پوشه‌ی public_htmlِ درستِ همان دامنه قرار دهید، نه جای دیگر.
نمای کلی انتقال وردپرس بین هاست cPanel و DirectAdmin شامل فایل‌ها و دیتابیس

پیش‌نیازها: قبل از شروع این‌ها را آماده کنید

قبل از دست‌زدن به چیزی، این سه مورد را آماده داشته باشید تا مهاجرت روان و بی‌دردسر پیش برود:

۱) بکاپ کامل

از کل پوشه‌ی سایت روی پنل مبدأ و یک خروجی SQL از دیتابیس، نسخه‌ی پشتیبان بگیرید. این نسخه راه بازگشت شما در صورت هر مشکلی است و باید پیش از هر تغییری آماده باشد.

۲) دسترسی هر دو پنل

یوزر و پسورد کنترل‌پنل مبدأ و مقصد (سی‌پنل یا دایرکت‌ادمین)، و اگر با FTP کار می‌کنید، اطلاعات حساب FTP. دامنه هم باید در دسترس شما برای تغییر DNS باشد.

۳) ابزارهای کار

phpMyAdmin (در هر دو پنل موجود است)، یک نرم‌افزار فشرده‌سازی برای zip کردن فایل‌ها، و در صورت تمایل یک کلاینت FTP مثل FileZilla برای فایل‌های حجیم.

چرا بکاپ اینقدر مهم است؟

در فرایند انتقال، بیشترین ریسک مربوط به مرحله‌ی جابه‌جایی و ویرایش دیتابیس است. اگر پیش از شروع یک بکاپ سالم داشته باشید، حتی بدترین اشتباه هم قابل جبران است و می‌توانید از نو شروع کنید. تا وقتی از سالم بودن سایت روی پنل مقصد مطمئن نشده‌اید، اکانت مبدأ را حذف نکنید.

مراحل مهاجرت سایت بین دو کنترل‌پنل، گام‌به‌گام

حالا که پیش‌نیازها آماده است، انتقال را در هشت قدم انجام می‌دهیم. ترتیب مراحل مهم است، پس آن‌ها را به همین ترتیب دنبال کنید. این مراحل چه از سی‌پنل به دایرکت‌ادمین بروید و چه برعکس، تقریباً یکسان هستند و فقط نام و چیدمان ابزارها کمی فرق می‌کند.

قدم اول: صادر کردن دیتابیس از پنل مبدأ

در پنل مبدأ، ابزار «phpMyAdmin» را باز کنید. نام دیتابیس سایت را از داخل فایل wp-config.php (مقدار DB_NAME) پیدا کنید و آن را از ستون کناری انتخاب کنید. سپس روی تب «Export» بزنید، حالت «Quick» و فرمت «SQL» را نگه دارید و «Go» را بزنید. یک فایل با پسوند .sql دانلود می‌شود که کل محتوای سایت شماست.

قدم دوم: بسته‌بندی فایل‌های سایت

در «File Manager» پنل مبدأ وارد پوشه‌ی ریشه‌ی سایت شوید (در سی‌پنل معمولاً public_html و در دایرکت‌ادمین domains/domain.com/public_html). کل محتوا را انتخاب و در یک فایل zip فشرده کنید. این آرشیو شامل هسته‌ی وردپرس، قالب‌ها، افزونه‌ها و پوشه‌ی مهم wp-content است.
بسته‌بندی و فشرده‌سازی فایل‌های وردپرس در File Manager کنترل‌پنل مبدأ

قدم سوم: ساخت دیتابیس و کاربر در پنل مقصد

در سی‌پنل ابزار «MySQL Databases» و در دایرکت‌ادمین بخش «MySQL Management» را باز کنید. یک دیتابیس جدید بسازید، سپس یک کاربر با پسورد قوی ایجاد کنید و همان کاربر را با «ALL PRIVILEGES» به دیتابیس اضافه کنید. نام دیتابیس، نام کاربر و پسورد را یادداشت کنید؛ در قدم ششم به آن‌ها نیاز دارید.

پیشوند نام حتماً عوض می‌شود

در هر دو پنل نام دیتابیس و کاربر با پیشوند حساب شما ساخته می‌شود (مثل newuser_wpdb). چون نام‌کاربری حساب مقصد با مبدأ فرق دارد، این پیشوند تغییر می‌کند. پس نام کاملِ پیشونددارِ جدید را باید در wp-config.php بگذارید، نه نامی که در هاست قبلی بود.

قدم چهارم: ایمپورت دیتابیس در پنل مقصد

در پنل مقصد ابزار «phpMyAdmin» را باز کنید و دیتابیس تازه‌ساخته را از ستون کناری انتخاب کنید. روی تب «Import» بزنید، فایل .sql مرحله‌ی اول را انتخاب و «Go» را بزنید. پس از چند لحظه جدول‌های سایت وارد دیتابیس می‌شوند. اگر دیتابیس حجیم است و با خطای حجم مواجه شدید، راهنمای ایمپورت دیتابیس‌های بزرگ در phpMyAdmin کمکتان می‌کند.

قدم پنجم: آپلود و استخراج فایل‌ها در public_html مقصد

در پنل مقصد «File Manager» را باز کنید و وارد پوشه‌ی public_htmlِ درستِ همان دامنه شوید. اینجا همان جایی است که تفاوت دو پنل اهمیت پیدا می‌کند: در دایرکت‌ادمین باید داخل domains/domain.com/public_html بروید. فایل zip مرحله‌ی دوم را آپلود کنید، روی آن راست‌کلیک کرده و «Extract» را بزنید. دقت کنید فایل‌ها مستقیماً داخل public_html قرار بگیرند، نه در یک زیرپوشه.

قدم ششم: ویرایش فایل wp-config.php

فایل wp-config.php را در File Manager پیدا کنید، روی آن راست‌کلیک و «Edit» بزنید. سه مقدار مربوط به دیتابیس را با اطلاعاتی که در قدم سوم ساختید جایگزین کنید (به پیشوند جدید حساب مقصد دقت کنید):
// فایل wp-config.php روی هاست مقصد (DirectAdmin یا cPanel)
// این سه مقدار را با اطلاعات دیتابیسی که تازه ساختید جایگزین کنید
define( 'DB_NAME', 'newuser_wpdb' );      // نام دیتابیس با پیشوند حساب مقصد
define( 'DB_USER', 'newuser_wp' );        // نام کاربر دیتابیس با پیشوند مقصد
define( 'DB_PASSWORD', 'YourStrongPass' );// پسورد همان کاربر
define( 'DB_HOST', 'localhost' );         // در اغلب هاست‌ها localhost درست است

مقدار DB_HOST را الکی عوض نکنید

در اکثر هاست‌های سی‌پنل و دایرکت‌ادمین، دیتابیس روی همان سرور سایت است و مقدار localhost درست کار می‌کند. فقط در معدودی از هاست‌ها که دیتابیس روی سرور جداست، باید آدرس اختصاصی هاست را بگذارید؛ این آدرس را از پشتیبانی یا مستندات هاست بگیرید.

قدم هفتم: به‌روزرسانی آدرس‌های سایت (در صورت تغییر دامنه)

اگر دامنه‌ی سایت ثابت مانده و فقط پنل عوض شده، معمولاً نیازی به تغییر آدرس‌ها نیست. اما اگر دامنه یا آدرس سایت تغییر کرده، همه‌ی آدرس‌های داخل دیتابیس باید به‌روز شوند. ساده‌ترین راه برای مبتدی‌ها، افزونه‌ی «Better Search Replace» است؛ آن را نصب کنید، از مسیر «ابزارها ← Better Search Replace» آدرس قدیمی را به جدید تغییر دهید و اول حالت «Dry Run» را بزنید. اگر به خط فرمان و ابزار رسمی WP-CLI دسترسی دارید، همین کار را امن‌تر انجام می‌دهید:
# به‌روزرسانی امن آدرس‌ها با WP-CLI (داده‌ی سریالایز را درست پردازش می‌کند)
# اول با dry-run فقط گزارش بگیرید، بدون تغییر واقعی
wp search-replace 'https://old-domain.com' 'https://new-domain.com' --dry-run --skip-columns=guid

# وقتی خروجی درست بود، همان دستور را بدون dry-run و با precise اجرا کنید
wp search-replace 'https://old-domain.com' 'https://new-domain.com' --skip-columns=guid --precise --all-tables

چرا REPLACE خام SQL ممنوع است؟

وردپرس بخشی از داده‌ها را به‌صورت «سریالایز‌شده» با شمارش تعداد کاراکتر ذخیره می‌کند. یک دستور REPLACE ساده در SQL این شمارش را به‌روز نمی‌کند و در نتیجه ویجت‌ها، تنظیمات قالب و بخشی از داده‌ها خراب می‌شوند. همیشه از افزونه یا WP-CLI که سریالایز را درست پردازش می‌کنند استفاده کنید و ستون guid را دست نزنید.

قدم هشتم: تغییر DNS و ری‌ست پیوند یکتا

حالا باید دامنه را به هاست جدید وصل کنید. از پنل مدیریت دامنه، نیم‌سرورها (Name Server) را به هاست مقصد تغییر دهید. این تغییر تا ۴۸ ساعت زمان می‌برد تا در همه‌ی شبکه اعمال شود. پیش از انتشار کامل DNS، می‌توانید با ویرایش فایل hosts سیستم خودتان سایت را روی هاست جدید تست کنید. در پایان، وارد پیشخوان شوید و از «تنظیمات ← پیوندهای یکتا» فقط دکمه‌ی «ذخیره» را بزنید تا ساختار لینک‌ها بازسازی شود.

سه روش انتقال بین دو پنل؛ کدام مناسب شماست؟

برای همین کار سه مسیر دارید. جدول زیر کمک می‌کند بدانید کدام به شرایط شما نزدیک‌تر است:
معیارروش دستی (phpMyAdmin + File Manager)ابزار رسمی تبدیل DirectAdminافزونه (Duplicator / All-in-One)
سطح دسترسی لازمکاربر هاستمدیر سرور (root)کاربر هاست
سطح مهارت لازممتوسطبالا / فنیمبتدی‌پسند
کنترل روی جزئیاتکاملکامل (سطح اکانت)محدودتر
مدیریت داده‌ی سریالایزدستی (با ابزار search-replace)خودکارخودکار هنگام import
مناسب براییک سایت روی هاست اشتراکیانتقال انبوه چند اکانتسرعت و کمترین خطا
محدودیت حجم (نسخه رایگان)بستگی به هاستندارددر دیتابیس‌های خیلی بزرگ محدود

جمع‌بندی جدول

اگر فقط یک سایت روی هاست اشتراکی دارید، روش دستی رایج‌ترین و شفاف‌ترین گزینه است. ابزار رسمی تبدیل دایرکت‌ادمین (cpanel_to_da) قدرتمند است اما فقط در سطح مدیر سرور کار می‌کند و برای کاربر عادی هاست در دسترس نیست. اگر سرعت و کمترین خطا برایتان مهم است، افزونه‌ای مثل Duplicator یا All-in-One کار را ساده می‌کند؛ فقط حواستان به محدودیت حجم نسخه‌ی رایگان باشد. در هر سه حالت، بکاپ‌گرفتن قبل از شروع واجب است.

عیب‌یابی پس از انتقال و نکات صادقانه

گاهی بعد از انتقال، سایت دقیقاً مثل قبل بالا نمی‌آید. نگران نباشید؛ بیشتر خطاها رایج و قابل‌حل‌اند. مهم‌ترین‌ها را ببینیم.

خطای «Error establishing a database connection»

این رایج‌ترین خطای بعد از مهاجرت است و تقریباً همیشه یعنی اطلاعات دیتابیس در wp-config.php اشتباه است. نام دیتابیس، یوزر و پسورد را با همان پیشوند جدید حساب مقصد دوباره بررسی کنید. راهنمای کامل رفع این مشکل را در مطلب رفع خطای اتصال به دیتابیس نوشته‌ایم.

صفحه‌ی سفید یا به‌هم‌ریختگی ظاهر سایت

اگر سایت باز می‌شود اما استایل ندارد یا صفحه سفید است، معمولاً یا فایل‌ها در پوشه‌ی public_htmlِ درست قرار نگرفته‌اند، یا آدرس‌های قدیمی در دیتابیس مانده، یا نسخه‌ی PHP دو پنل فرق دارد. اول مسیر فایل‌ها را چک کنید، سپس در صورت تغییر دامنه search-replace را کامل انجام دهید و در نهایت نسخه‌ی PHP سازگار با وردپرس (نسخه 8.1 یا بالاتر) را انتخاب کنید.

تصاویر نمایش داده نمی‌شوند

نبود تصاویر معمولاً یعنی پوشه‌ی wp-content/uploads کامل آپلود نشده یا آدرس تصاویر هنوز به دامنه‌ی قبلی اشاره می‌کند. کامل بودن پوشه‌ی uploads را چک کنید و اگر دامنه عوض شده، دوباره search-replace را اجرا کنید.

معایب و محدودیت‌هایی که باید بدانید

صادقانه بگوییم، این کار بی‌عیب نیست. نخست، ابزار رسمی تبدیل فقط در سطح مدیر سرور کار می‌کند و کاربر هاست اشتراکی به آن دسترسی ندارد؛ پس اغلب مجبورید روش دستی را انتخاب کنید. دوم، روش دستی برای تازه‌کارها خطاپذیر است؛ اشتباه در پیشوند نام دیتابیس، مسیر متفاوت public_html یا مجوز فایل‌ها می‌تواند وقت‌گیر شود. سوم، اگر دامنه عوض شود و آدرس‌ها با ابزار نادرست تغییر کنند، داده‌ی سریالایز خراب می‌شود. چهارم، انتشار DNS آنی نیست و ممکن است تا دو روز کاربران نسخه‌ی قدیمی را ببینند. و در نهایت، تفاوت نسخه‌ی PHP بین دو پنل می‌تواند خطاهای سازگاری قالب یا افزونه ایجاد کند که باید جداگانه رفع شوند.

مرجع رسمی: تغییر آدرس‌ها را با ابزار انجام دهید

طبق هندبوک رسمی مدیریت وردپرس، هنگام جابه‌جایی سایت گاهی لازم است داده‌ی دیتابیس دستی اصلاح شود و «ابزارهای متعددی برای این کار وجود دارند که معمولاً باید به‌جای اصلاحِ دستیِ دیتابیس استفاده شوند». منبع: راهنمای Migrating WordPress در سایت رسمی وردپرس.

میزبانی وردپرس روی هاست وب‌داده

بخش بزرگی از راحتیِ یک مهاجرت موفق به بستر هاست برمی‌گردد: کنترل‌پنلی که دسترسی به phpMyAdmin و File Manager را ساده کند، امکان بکاپ سریع پیش از هر تغییر، و پشتیبانی که وقتی گیر کردید کمکتان کند. ما در وب‌داده تلاش کرده‌ایم این‌ها را فراهم کنیم:
✅ زیرساخت سرورهای نسل جدید HPE (Gen11 و Gen10) با دیسک‌های سریع برای پاسخ‌دهی بهتر سایت.
✅ دیتاسنترهای متنوع در ایران، هلند و آلمان برای انتخاب نزدیک‌ترین لوکیشن به کاربران شما.
✅ کنترل‌پنل به‌همراه phpMyAdmin، File Manager و ابزار بکاپ برای انجام امنِ همین انتقال.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک در مهاجرت، ایمپورت دیتابیس و رفع خطاهای بعد از انتقال.

تجربه‌ی پشتیبانی وب‌داده

در تیم پشتیبانی وب‌داده بارها پیش آمده که کاربری سایتش را از یک کنترل‌پنل به پنل دیگر منتقل کرده و بعد با خطای اتصال دیتابیس روبه‌رو شده است. الگوی حل تقریباً همیشه یکی است: اول اطلاعات wp-config.php را با نام پیشونددارِ جدید حساب مقصد تطبیق می‌دهیم، بعد مطمئن می‌شویم فایل‌ها در پوشه‌ی public_htmlِ درست قرار گرفته‌اند و در پایان نسخه‌ی PHP سازگار را انتخاب می‌کنیم. همین چند قدم ساده، اکثر مشکلات بعد از مهاجرت را برطرف می‌کند.
اگر به‌دنبال بستری ساده و مطمئن برای وردپرس هستید، می‌توانید هاست سی‌پنل وب‌داده را ببینید که ابزارهای لازم برای همین انتقال را دارد. اگر هم می‌خواهید از صفر شروع کنید، مطلب آموزش نصب وردپرس روی سی‌پنل کمکتان می‌کند.

پرسش‌های پرتکرار درباره‌ی انتقال وردپرس بین سی‌پنل و دایرکت‌ادمین

جمع‌بندی و چک‌لیست نهایی انتقال

دیدیم که جابه‌جایی سایت وردپرسی بین سی‌پنل و دایرکت‌ادمین، در اصل یعنی جابه‌جا کردن سه چیز: فایل‌ها، دیتابیس و اطلاعات اتصال در wp-config.php. اگر ترتیب مراحل را رعایت کنید، به تفاوت مسیر public_html و پیشوند نام دیتابیس دقت کنید و از قبل بکاپ داشته باشید، این کار بی‌خطر و کاملاً شدنی است. چک‌لیست زیر را پیش از تمام‌کردن کار یک بار مرور کنید.

چک‌لیست سریع انتقال

✅ از فایل‌ها و دیتابیس پنل مبدأ بکاپ کامل گرفتم.
✅ دیتابیس را از phpMyAdmin مبدأ خروجی گرفتم و در پنل مقصد ایمپورت کردم.
✅ در پنل مقصد دیتابیس و کاربر با ALL PRIVILEGES ساختم.
✅ فایل‌ها را داخل public_html درستِ همان دامنه آپلود و استخراج کردم.
✅ سه مقدار دیتابیس را با پیشوند جدید در wp-config.php درست کردم.
✅ در صورت تغییر دامنه، آدرس‌ها را با Better Search Replace یا WP-CLI به‌روز کردم (بدون REPLACE خام).
✅ نیم‌سرور دامنه را تغییر دادم و پیوند یکتا را ذخیره کردم.
✅ خطای دیتابیس، تصاویر و نسخه‌ی PHP را بررسی کردم و بعد اکانت مبدأ را حذف کردم.
در صورتی که سوالی داشتید می‌توانید در بخش نظرات با ما در ارتباط باشید.
وب داده
وب داده

جدید ترین مطالب آموزشی و کاربردی را در اینجا بخوانید !
ما با بهره‌گیری از دانش روز و تجربه متخصصان حوزه فناوری، مجموعه‌ای از آموزش‌های کاربردی و مقالات تخصصی را گردآوری کرده‌ایم که هر یک، پاسخی دقیق به پرسش‌های شماست. ؛ از مفاهیم پایه تا پیچیده‌ترین تکنیک‌های حرفه‌ای. اینجا، دانش با زبانی ساده اما عمیق در اختیار شما قرار می‌گیرد.

مقاله‌ها: 55
پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *