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

چهار سناریوی انتقال

انتقال سایت وردپرسی به هاست جدید، چهار سناریوی اصلی دارد که هر کدام پیچیدگی خاص خودش را دارد:

  1. انتقال با همان دامنه: فقط هاست عوض می‌شود، دامنه ثابت است. ساده‌ترین حالت.
  2. انتقال با تغییر دامنه هم‌زمان: پیچیده‌تر، چون ریدایرکت هم لازم است — مسیرش در چگونه دامنه سایت را بدون افت سئو تغییر دهیم؟.
  3. انتقال از هاست اشتراکی به VPS: نیاز به پیکربندی نرم‌افزاری سرور.
  4. انتقال بین دو ارائه‌دهندهٔ داخلی: معمولاً همراه با تغییر پنل هاست.

در هر چهار سناریو، اصول پایه یکی است: بکاپ کامل، تست روی استیجینگ، و تغییر DNS در آخرین مرحله.

انتقال سایت، جابه‌جایی فایل نیست؛ انتقال مسئولیت‌های یک کسب‌وکار آنلاین است. آرام و دقیق.

مرحلهٔ صفر: پیش از هر اقدام

قبل از شروع، پنج کار الزامی است:

  1. بکاپ کامل: هم فایل و هم دیتابیس. اگر مطمئن نیستید چطور، چگونه از سایت وردپرسی بکاپ بگیریم؟ و چگونه از دیتابیس وردپرس بکاپ بگیریم؟ مسیر کامل را نشان می‌دهند.
  2. ثبت وضعیت فعلی: اسکرین‌شات از پیشخوان، فهرست افزونه‌های فعال، لیست کاربران، تعداد نوشته‌ها، و صفحهٔ اصلی سایت. این‌ها مرجع مقایسه بعد از انتقال هستند.
  3. بررسی هاست جدید: نسخهٔ PHP، فضای دیسک، MySQL، و پشتیبانی SSH را چک کنید. معیارها در بهترین هاست برای وردپرس کدام است؟.
  4. هماهنگی زمان: تغییر در ساعات کم‌ترافیک. برای سایت‌های فروشگاهی، در بازهٔ سفارش‌های کم.
  5. اطلاع‌رسانی به تیم: اگر سایت بخش تجاری دارد، به مشتریان و پشتیبانی خبر بدهید که ممکن است یک بازهٔ کوتاه اختلال وجود داشته باشد.

آماده‌سازی هاست جدید

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

یک نکتهٔ مهم که در پروژه‌های واقعی به آن برخوردم: قبل از انتقال، تمام تنظیمات PHP و MySQL هاست جدید را با هاست قدیم مقایسه کنید. تفاوت در max_execution_time یا memory_limit می‌تواند در روز انتقال، فاجعه بسازد. در یکی از پروژه‌ها، هاست جدید نسخهٔ PHP کمتری داشت و افزونهٔ اصلی سایت روی آن کار نمی‌کرد. اگر این تفاوت قبل از انتقال شناسایی می‌شد، می‌توانستیم با یک تماس با پشتیبانی، سریع رفعش کنیم.

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

دو روش اصلی: روش اول، دستی با FTP و phpMyAdmin. فایل‌ها را با FTP دانلود و در هاست جدید آپلود می‌کنید؛ دیتابیس را با phpMyAdmin Export و Import. مناسب سایت‌های کوچک و متوسط. روش دوم، با ابزارهای مهاجرت مثل Duplicator یا rsync. برای سایت‌های بزرگ، سریع‌تر و پایدارتر. توصیه‌ام برای سایت‌های بالای ۵۰۰ مگابایت، استفاده از روش دوم است. اگر با پنل cPanel کار می‌کنید، چگونه از cPanel بکاپ بگیریم؟ هم مسیر کمک‌کننده‌ای دارد.

نکتهٔ حیاتی: قبل از انتقال فایل‌ها، فایل‌های موقت (کش، لاگ، نسخه‌های قدیمی افزونه) را حذف کنید. این کار حجم انتقال را گاهی تا نصف کاهش می‌دهد.

پیکربندی روی هاست جدید

بعد از انتقال، سه تنظیم باید به‌روزرسانی شوند:

  1. فایل wp-config.php: اطلاعات دیتابیس جدید (نام، کاربر، رمز، میزبان). اگر آدرس هاست دیتابیس تغییر کرده، آن هم باید به‌روزرسانی شود.
  2. آدرس سایت در دیتابیس: اگر دامنه عوض نشده، نیاز به تغییر نیست. اگر عوض شده، از ابزار Better Search Replace استفاده کنید.
  3. پیوندهای یکتا: در پیشخوان به «تنظیمات → پیوندهای یکتا» بروید و یک بار Save کنید تا قواعد بازنویسی در هاست جدید فعال شوند.

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

تغییر DNS با حداقل اختلال

تنها در صورتی که سایت روی هاست جدید بدون مشکل باز شد، DNS را تغییر دهید. سه نکته: اول، دو روز قبل از تغییر، TTL رکوردهای DNS را روی ۳۰۰ ثانیه بگذارید. جزئیات در رکوردهای DNS کدامند؟ و پروپاگیشن DNS چیست و چقدر طول می‌کشد؟. دوم، اگر دامنه روی هاست قدیم است، آن را از هاست قدیم به هاست جدید منتقل یا نقطه‌زنی کنید — مسیر در چگونه هاست را به دامنه متصل کنیم؟. سوم، بعد از تغییر DNS، حتماً در دو بازه (چند دقیقه و چند ساعت بعد) سایت را تست کنید.

جدول چک‌لیست انتقال

مرحلهاقدامابزار
قبلبکاپ کامل فایل و دیتابیسافزونه/phpMyAdmin
قبلثبت وضعیت فعلی سایتاسکرین‌شات و گزارش‌ها
قبلآماده‌سازی دیتابیس و کاربر روی هاست جدیدcPanel / DirectAdmin
حینانتقال فایل‌ها با FTP یا rsyncFileZilla / rsync
حینانتقال دیتابیس با Export/ImportphpMyAdmin / mysqldump
حینبه‌روزرسانی wp-config.phpویرایشگر متن
حینفعال‌سازی SSL روی هاست جدیدLet\'s Encrypt / پنل هاست
حینتست سایت روی هاست جدید با میزبان مجازیفایل hosts یا افزونه
حینتغییر DNSپنل دامنه
بعدبازبینی کامل و پایش دو هفتهابزارهای تست و سرچ‌کنسول

بازبینی بعد از انتقال

بعد از انتقال، دو هفتهٔ اول بحرانی است. چک‌لیست بازبینی:

  1. صفحهٔ اصلی، صفحهٔ نوشته و صفحهٔ تماس باز می‌شوند؟
  2. پیشخوان باز می‌شود و اطلاعات کاربران کامل است؟
  3. تصاویر آپلودشده در کتابخانه رسانه دیده می‌شوند؟
  4. فرم تماس کار می‌کند؟ (ارسال آزمایشی)
  5. لینک‌های داخلی به ۴۰۴ نمی‌خورند؟ — مسیر در خطای ۴۰۴ در وردپرس چیست و چگونه رفع می‌شود؟.
  6. سرعت سایت با همان معیار قبل قابل مقایسه است؟
  7. ایمیل‌های تراکنشی (SMTP) درست ارسال می‌شوند؟
  8. گواهی SSL فعال است و هشدار امنیتی نمی‌دهد؟
  9. در Search Console، خطای جدیدی گزارش نشده؟
  10. افزونه‌های حیاتی (کش، امنیت، بکاپ) روی هاست جدید فعال هستند؟

اشتباهات پرهزینه در انتقال

  • انتقال بدون بکاپ: بدترین اشتباه. حتی با تجربه، همیشه امکان خطا هست.
  • نادیده گرفتن فایل‌های پنهان: فایل‌هایی مثل .htaccess گاهی در انتقال دستی فراموش می‌شوند.
  • تغییر DNS قبل از آماده بودن هاست جدید: سایت برای ساعاتی از دسترس خارج می‌شود.
  • بستن هاست قدیم بلافاصله: حداقل دو هفته هاست قدیم را فعال نگه دارید تا اگر جایی مشکل داشت، بازگشت امکان‌پذیر باشد.
  • نادیده گرفتن ایمیل: انتقال هاست فقط سایت را منتقل می‌کند؛ ایمیل‌های سازمانی نیاز به تنظیم رکوردهای MX و SPF دارند.
  • نداشتن پلن بازگشت: اگر بعد از انتقال، افت شدید ترافیک یا سرعت داشتید، باید بدانید چگونه به هاست قدیم برگردید. مسیرش در بازیابی سایت از بکاپ چگونه انجام می‌شود؟.

نگاه پیشرفته به انتقال به‌عنوان پروژه

برای توسعه‌دهندهٔ ارشد، انتقال سایت به هاست جدید یک «پروژهٔ کوچک» است که در سه لایهٔ معماری اتفاق می‌افتد: لایهٔ زیرساخت (وب‌سرور، PHP، MySQL، SSL)، لایهٔ داده (فایل‌ها، دیتابیس، تنظیمات)، و لایهٔ نمایش (DNS، ریدایرکت، کش). موفقیت در انتقال، وقتی اتفاق می‌افتد که هر سه لایه هم‌زمان و با هم‌راستایی منتقل شوند.

سه اصل عملی که در پروژه‌های خودم رعایت می‌کنم: اصل اول، استیجینگ الزامی. همیشه قبل از تغییر روی سایت زنده، یک نسخهٔ آزمایشی روی هاست جدید بالا بیاورید و از طریق فایل hosts روی سیستم خودتان یا از طریق زیردامنه، آن را تست کنید. این کار، ریسک را به‌شدت کاهش می‌دهد. اصل دوم، تست قبل و بعد. قبل از انتقال، اعداد سرعت و ترافیک را ثبت کنید. بعد از انتقال، همان اعداد را اندازه بگیرید. تفاوت‌های محسوس، هشدار هستند. اصل سوم، پایش فشردهٔ دو هفتگی. در دو هفتهٔ اول بعد از انتقال، روزانه لاگ‌ها و Search Console را بررسی کنید. اگر خطای جدید یا افت ترافیک دیده شد، در همان روزها می‌توان اصلاح کرد؛ بعد از یک ماه، تشخیص علت بسیار سخت‌تر می‌شود.

در پایان، یک درس شخصی از تجربه‌های خودم: بیشتر پروژه‌هایی که در انتقال دچار مشکل شدند، نه به‌دلیل ضعف فنی، بلکه به‌دلیل عجله در انجام مراحل شکست خوردند. انتقال را مثل یک پروژهٔ سه‌روزه ببینید، نه یک کار شش‌ساعته. با آرامش، هر مرحله را تمام کنید و بعد سراغ مرحلهٔ بعدی بروید. اگر این نظم را رعایت کنید، احتمال موفقیت بالای ۹۵٪ است. برای مطالعهٔ مسیر تکمیلی، تاثیر هاست بر سرعت سایت چقدر است؟ و چگونه مصرف منابع هاست را کاهش دهیم؟ و چگونه امنیت سرور را افزایش دهیم؟ و اشتباهات رایج در انتخاب هاست و هاست ارزان چه معایبی دارد؟ را پیشنهاد می‌کنم. و یک قاعدهٔ پایانی: هاست جدید را با بودجهٔ سه‌ساله بسنجید، نه با قیمت ماه اول. تفاوت ماهانه در سایت‌های کوچک، چند صد هزار تومان است، ولی تفاوت کیفیت، در سرعت، پایداری و نگهداری، چند برابر آن.

اگر تجربه‌ای از انتقال سایت به هاست جدید دارید — چه انتقالی که بدون اختلال انجام شد و چه انتقالی که به درس تبدیل شد — سناریو را در دیدگاه بنویسید. همین جزئیات، برای خوانندهٔ بعدی که در آستانهٔ همین تصمیم است، از هر راهنمای عمومی ملموس‌تر است. 🚚