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

اگر نمی‌خواهید خودتان انجامش دهید، انتقال سایت به رایکت رایگان است و تیم فنی همه‌ی این مراحل را انجام می‌دهد.

قبل از شروع

  • هاست جدید را بخرید، اما هاست قبلی را لغو نکنید.
  • نسخه‌ی PHP هاست قبلی را یادداشت کنید تا روی هاست جدید همان را بگذارید.
  • کار را در ساعت کم‌بازدید انجام دهید؛ در فروشگاه، ثبت سفارش را موقتاً ببندید.

مرحله ۱: فایل‌ها را از هاست قبلی بگیرید

در File Manager هاست قبلی، وارد public_html شوید، همه را انتخاب و Compress کنید (فرمت zip) و فایل را دانلود کنید. پوشه‌ی مهم wp-content است که قالب‌ها، افزونه‌ها و تصاویر در آن قرار دارد.

مدیریت فایل سی‌پنل برای آپلود فایل‌های وردپرس
File Manager سی‌پنل: فشرده‌سازی و دانلود پوشه‌ی سایت

مرحله ۲: از دیتابیس خروجی بگیرید

در phpMyAdmin هاست قبلی، دیتابیس سایت را انتخاب کنید و از زبانه‌ی Export یک فایل SQL بگیرید. اگر نمی‌دانید کدام دیتابیس مال سایت است، مقدار DB_NAME را در فایل wp-config.php ببینید.

محیط phpMyAdmin برای خروجی گرفتن از دیتابیس
phpMyAdmin: خروجی گرفتن از دیتابیس وردپرس

مرحله ۳: روی هاست جدید دیتابیس بسازید

در سی‌پنل هاست جدید، از MySQL Databases یک دیتابیس و یک کاربر بسازید و کاربر را با همه‌ی دسترسی‌ها به دیتابیس وصل کنید. نام دیتابیس، نام کاربر و رمز را نگه دارید. (راهنمای کامل ساخت دیتابیس)

صفحه MySQL Databases در سی‌پنل برای ساخت دیتابیس
MySQL Databases: ساخت دیتابیس و کاربر روی هاست جدید

مرحله ۴: فایل‌ها و دیتابیس را وارد کنید

  1. فایل zip را در public_html هاست جدید آپلود و Extract کنید.
  2. در phpMyAdmin هاست جدید، دیتابیس تازه را انتخاب و فایل SQL را از زبانه‌ی Import وارد کنید.

اگر فایل SQL بزرگ است و Import خطا می‌دهد، آن را به‌صورت zip یا gz فشرده کنید؛ phpMyAdmin فایل فشرده را هم می‌پذیرد.

مرحله ۵: wp-config.php را ویرایش کنید

فایل wp-config.php را در هاست جدید باز کنید و این سه مقدار را با مشخصات دیتابیس جدید عوض کنید:

define( 'DB_NAME', 'نام_دیتابیس_جدید' );
define( 'DB_USER', 'نام_کاربر_جدید' );
define( 'DB_PASSWORD', 'رمز_جدید' );

مقدار DB_HOST معمولاً همان localhost می‌ماند.

مرحله ۶: قبل از تغییر DNS، سایت را تست کنید

این مرحله را خیلی‌ها رد می‌کنند و بعد خطاها را بازدیدکننده پیدا می‌کند. برای اینکه فقط کامپیوتر شما سایت را از هاست جدید ببیند، در فایل hosts سیستم‌تان یک خط اضافه کنید:

IP_هاست_جدید   example.com   www.example.com

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

مرحله ۷: دامنه را به هاست جدید وصل کنید

نیم‌سرورهای هاست جدید را در تنظیمات دامنه وارد کنید. به‌روز شدن DNS از چند دقیقه تا چند ساعت طول می‌کشد و در این مدت هر دو هاست سایت را نشان می‌دهند؛ برای همین هاست قبلی باید چند روز فعال بماند.

بخش اطلاعات میزبانی و نیم‌سرورها در صفحه سرویس
نیم‌سرورهای سرویس در ناحیه کاربری رایکت

چیزهایی که جا می‌ماند

مورد چرا مهم است
صندوق‌های ایمیل با فایل‌های سایت منتقل نمی‌شوند؛ باید جدا ساخته و منتقل شوند
فایل htaccess. فایل مخفی است و اگر نمایش فایل‌های مخفی خاموش باشد، در فشرده‌سازی جا می‌ماند
کرون‌جاب‌ها باید روی هاست جدید دوباره تعریف شوند
گواهی SSL روی هاست جدید باید دوباره فعال شود

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

سوال‌های رایج

آدرس سایت عوض نمی‌شود؛ باید در دیتابیس چیزی را تغییر دهم؟

نه. وقتی دامنه همان است، هیچ جایگزینی در دیتابیس لازم نیست. جایگزینی آدرس فقط وقتی لازم است که دامنه یا پروتکل (http به https) عوض شود.

با افزونه انتقال بدهم یا دستی؟

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

انتقال چقدر طول می‌کشد؟

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