FA-TOOLS — Header Component

راهنمای جامع انتقال سایت وردپرس به هاست جدید بدون قطعی

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

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

۱. اقدامات قبل از شروع انتقال

انتقال سایت وردپرس به هاست جدید — تصویر 2
پاسخ سریع: قبل از شروع جابه‌جایی سایت، حتماً یک بک‌آپ کامل (فایل و دیتابیس) بگیرید، مقدار TTL دامنه را کاهش دهید و دسترسی‌های هاست جدید (cPanel یا DirectAdmin) را تست کنید. این اقدامات از قطعی سایت و از دست رفتن اطلاعات جلوگیری می‌کنند.

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

  • کاهش مقدار TTL در DNS: حداقل ۲۴ ساعت قبل از انتقال، مقدار TTL (Time To Live) رکورد A دامنه خود را روی ۳۰۰ ثانیه (۵ دقیقه) قرار دهید. این کار باعث می‌شود تغییرات DNS پس از انتقال، بسیار سریع‌تر در کل اینترنت اعمال شود.
  • غیرفعال‌سازی افزونه‌های کش: افزونه‌های کش مانند WP Rocket یا LiteSpeed Cache را کاملاً غیرفعال کنید و کش آن‌ها را خالی کنید تا کدهای موقت وارد هاست جدید نشوند.
  • تهیه پشتیبان کامل (Full Backup): یک نسخه کامل از فایل‌ها و دیتابیس روی کامپیوتر خود ذخیره کنید. اگر روی سایت خود از اسکریپت‌های اختصاصی استفاده می‌کنید، مطمئن شوید که فایل‌های جانبی نیز پشتیبان‌گیری شده‌اند. برای یادگیری کدهای سفارشی توسعه سرور می‌توانید از اسکریپت‌های پایتون جهت خودکارسازی پشتیبان‌گیری نیز بهره ببرید.

۲. مقایسه روش‌های انتقال

انتقال سایت وردپرس به هاست جدید — تصویر 3

انتخاب روش مناسب بستگی به حجم سایت و میزان تسلط شما به مدیریت سرور دارد. جدول زیر ویژگی‌های هر روش را مقایسه می‌کند:

ویژگی انتقال دستی (Manual) انتقال با افزونه (Plugin)
مناسب برای حجم سایت نامحدود (حتی سایت‌های بالای ۵۰ گیگابایت) معمولاً زیر ۲ گیگابایت (در نسخه‌های رایگان)
میزان امنیت فرآیند بسیار بالا (بدون احتمال Timeout) متوسط (احتمال قطع شدن در سرورهای ضعیف)
پیچیدگی فنی نیازمند دانش پایه مدیریت هاست بسیار ساده و با چند کلیک
کنترل روی جزئیات کامل و ۱۰۰٪ دستی محدود به تنظیمات افزونه

۳. آموزش انتقال دستی (روش حرفه‌ای)

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

برای انجام انتقال دستی، مراحل زیر را به ترتیب انجام دهید:

  1. فشرده‌سازی و دانلود فایل‌های سایت:
    وارد مدیریت فایل (File Manager) هاست قدیمی شوید، به مسیر public_html بروید، همه فایل‌ها را انتخاب کرده و آن‌ها را به‌صورت یک فایل .zip فشرده کنید. سپس فایل را دانلود نمائید.
  2. خروجی گرفتن از پایگاه داده (Export Database):
    وارد ابزار phpMyAdmin در هاست مبدا شوید. دیتابیس مربوط به وردپرس خود را انتخاب کرده، روی تب Export کلیک کنید، روش Quick را انتخاب کرده و دکمه Go را بزنید تا فایل با پسوند .sql دانلود شود.
  3. ایجاد دیتابیس جدید در هاست مقصد:
    در هاست جدید (cPanel یا DirectAdmin)، به بخش MySQL Databases بروید. یک پایگاه داده جدید، یک نام کاربری جدید و یک رمز عبور قوی بسازید. سپس کاربر را با دسترسی کامل (ALL PRIVILEGES) به دیتابیس متصل کنید.
  4. بارگذاری فایل‌ها و ایمپورت دیتابیس:
    فایل Zip را در public_html هاست جدید آپلود و Extract کنید. سپس در phpMyAdmin هاست جدید، دیتابیس ساخته‌شده را انتخاب کرده، به تب Import بروید و فایل .sql را بارگذاری کنید.
  5. ویرایش فایل wp-config.php:
    در مدیریت فایل هاست جدید، فایل wp-config.php را باز کرده و مقادیر زیر را با اطلاعات دیتابیس جدید جایگزین کنید:

    define('DB_NAME', 'new_database_name');
    define('DB_USER', 'new_database_user');
    define('DB_PASSWORD', 'new_strong_password');
    define('DB_HOST', 'localhost');
نکته تخصصی در مورد داده‌های سریالی شده (Serialized Data):
اگر در جابه‌جایی دامنه قصد تغییر نام دامنه را نیز دارید، هرگز نام دامنه را مستقیماً از طریق دستورات SQL جایگزین نکنید! وردپرس تنظیمات قالب و افزونه‌ها را به‌صورت داده‌های Serialization ذخیره می‌کند و جایگزینی متنی ساده باعث خراب شدن ساختار آن‌ها می‌شود. برای اجرای کدهای فنی یا دستکاری ساختار دیتابیس می‌توانید راهنماهای موجود در تکه‌کدهای آماده وردپرس را مطالعه کنید یا از ابزار WP-CLI استفاده نمایید.

۴. انتقال با افزونه (روش سریع)

انتقال سایت وردپرس به هاست جدید — تصویر 5

اگر حجم سایت شما کمتر از ۲ گیگابایت است، افزونه Duplicator بهترین و راحت‌ترین گزینه است. این افزونه تمام فایل‌ها و دیتابیس را در قالب یک بسته و یک فایل نصب‌کننده (installer.php) خروجی می‌دهد.

  1. افزونه Duplicator را روی سایت فعلی نصب و فعال کنید.
  2. به مسیر Duplicator > Packages رفته و روی Create New کلیک کنید.
  3. مراحل اسکن را طی کرده و بسته خود را ایجاد کنید. سپس هر دو فایل Archive (فایل زیپ) و Installer.php را دانلود کنید.
  4. این دو فایل را در پوشه public_html هاست جدید آپلود کنید.
  5. یک دیتابیس خالی در هاست جدید بسازید.
  6. آدرس yourdomain.com/installer.php را در مرورگر باز کنید و اطلاعات دیتابیس جدید را وارد کنید تا نصب خودکار انجام شود.

۵. راهکار انتقال بدون قطعی (Zero Downtime)

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

چگونه مطمئن شویم سایت در هاست جدید سالم است در حالی که هنوز DNSها به سرور جدید اشاره نمی‌کنند؟

کافی است فایل hosts را در سیستم عامل خود (ویندوز یا مک) ویرایش کنید:

  • در ویندوز به مسیر C:WindowsSystem32driversetchosts بروید و آن را با Notepad (در حالت Administrator) باز کنید.
  • IP هاست جدید را به همراه نام دامنه خود در انتها اضافه کنید (مثلاً: 192.0.2.1 yourdomain.com).
  • فایل را ذخیره کنید. حالا فقط سیستم شما سایت را از هاست جدید بارگذاری می‌کند و می‌توانید تمام بخش‌ها، فرم‌ها و لینک‌ها را تست کنید. پس از اطمینان، این خط را حذف کنید.

اگر قالب سایت نیاز به تغییرات ساختاری فرانت‌اند داشته باشد، می‌توانید به مجموعه کدهای HTML و همچنین تکه‌کدهای استایل CSS جهت اصلاح کدهای قالب متصل شوید.

۶. چک‌لیست و اقدامات پس از انتقال

پس از اینکه تغییر DNS انجام شد و دامنه به هاست جدید متصل گردید، مراحل زیر را حتماً بررسی کنید:

  • ذخیره مجدد پیوند‌های یکتا: وارد پیشخوان وردپرس شوید، به مسیر تنظیمات > پیوندهای یکتا بروید و بدون تغییر دادن چیزی، روی «ذخیره تغییرات» کلیک کنید تا فایل .htaccess بازنویسی شود.
  • بررسی گواهی SSL: مطمئن شوید که گواهی SSL در هاست جدید فعال شده و پروتکل HTTPS بدون خطا کار می‌کند.
  • تست ارسال ایمیل‌ها و فرم‌ها: یک فرم نمونه ارسال کنید تا مطمئن شوید تابع mail() یا تنظیمات SMTP سرور جدید درست کار می‌کند. در صورت نیاز به بررسی رفتارهای تعاملی صفحه می‌توان از قطعه کدهای جاوا اسکریپت برای عیب‌یابی رویدادهای سمت کاربر استفاده کرد.
  • تست عملکرد و سرعت: سرعت بارگذاری سایت را سنجیده و افزونه‌های کش را مجدداً فعال کنید.
  • پاکسازی هاست قدیم: حداقل ۷ روز هاست قدیمی را فعال نگه دارید و پس از اطمینان کامل از کارکرد صحیح هاست جدید، سرویس قبلی را لغو کنید. جهت دسترسی به سایر ابزارها می‌توانید به مخزن اصلی تکه‌کدها مراجعه کنید.

۷. عیب‌یابی سریع و رفع خطاهای رایج

خطای Error Establishing a Database Connection

علت: اطلاعات اتصال دیتابیس در wp-config.php اشتباه است.
راه حل: نام دیتابیس، نام کاربری و رمز عبور را در فایل wp-config.php چک کنید. مطمئن شوید کاربر دیتابیس به پایگاه داده متصل شده و دسترسی ALL PRIVILEGES دارد.

خطای ۵۰۰ (Internal Server Error)

علت: خرابی فایل .htaccess یا عدم تطابق نسخه PHP سرور جدید.
راه حل: نام فایل .htaccess را به .htaccess_old تغییر دهید. اگر مشکل حل شد، به بخش پیوندهای یکتا بروید و تنظیمات را مجدداً ذخیره کنید. همچنین نسخه PHP هاست جدید را با هاست قبلی هماهنگ کنید.

خطای ۴۰۴ در بره‌ها و نوشته‌ها

علت: عدم فعال‌سازی mod_rewrite در سرور یا به‌روزرسانی نشدن تنظیمات پیوند یکتا.
راه حل: وارد پیشخوان شده و به مسیر تنظیمات > پیوندهای یکتا بروید و یک بار روی ذخیره تغییرات کلیک کنید.

۸. پرسش‌های متداول

آیا انتقال سایت روی سئو و رتبه گوگل تاثیر منفی می‌گذارد؟

خیر، اگر انتقال بدون قطعی انجام شود و آدرس صفحات (URLها) تغییر نکند، سئوی سایت هیچ آسیبی نخواهد دید. حتی اگر سرور جدید سریع‌تر باشد، رتبه شما بهبود می‌یابد.

ست شدن کامل DNSهای جدید چقدر زمان می‌برد؟

برای دامنه‌های ملی (.ir) بین ۴ تا ۲۴ ساعت و برای دامنه‌های بین‌المللی (.com، .net) معمولاً بین ۲ تا ۱۲ ساعت زمان نیاز است.

اگر حجم دیتابیس بسیار زیاد باشد و در phpMyAdmin آپلود نشود چه باید کرد؟

می‌توانید از پشتیبانی هاست بخواهید فایل دیتابیس را از طریق ترمینال (SSH) یا ابزار BigDump ایمپورت کند تا با محدودیت حجم آپلود مواجه نشوید.

آیا تمام اطلاعات ایمیل‌های هاست قبلی نیز منتقل می‌شوند؟

خیر، انتقال دستی فایل‌های وردپرس شامل اکانت‌های ایمیل نمی‌شود. برای انتقال ایمیل‌ها باید از ابزار Transfer هاست استفاده کنید یا پوشه mail را از طریق FTP منتقل کنید.

سوالات متداول

آیا انتقال سایت وردپرس باعث افت سئو یا قطعی سایت می‌شود؟

اگر تمامی مراحل انتقال طبق اصول فنی و راهکار Zero Downtime انجام شود، هیچ‌گونه قطعی یا افت رتبه در گوگل رخ نخواهد داد. تنها کافیست تغییرات DNS را با کاهش TTL بهینه کنید.

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

افزونه Duplicator بهترین و پرکاربردترین ابزار برای جابه‌جایی وردپرس است. این افزونه برای سایت‌های زیر ۲ گیگابایت فرایند انتقال را بسیار سریع و ساده می‌کند.

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

زمان انتقال دستی عمدتاً به حجم فایل‌ها و دیتابیس سایت شما بستگی دارد. به طور معمول برای یک سایت متوسط، این فرایند بین ۱۵ تا ۳۰ دقیقه زمان می‌برد.

در صورت تغییر دامنه هنگام انتقال هاست چه باید کرد؟

در صورت تغییر نام دامنه نباید آدرس‌ها را مستقیماً در دیتابیس جایگزین متنی کنید. حتماً از ابزارهایی مانند WP-CLI یا افزونه‌های مخصوص تغییر URL برای حفظ داده‌های سریالی استفاده نمایید.

Table of Contents

آخرین نوشته‌ها

دیدگاهتان را بنویسید

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