انتقال سایت از هاست یا سرور مجازی


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

مهم‌ترین نکته: هر وب‌سایت از دو بخش اصلی تشکیل شده است:

  • فایل‌ها (Files): شامل هسته وردپرس، قالب‌ها، افزونه‌ها و فایل‌های رسانه‌ای شما (تصاویر، ویدیوها و…).
  • دیتابیس (Database): قلب تپنده سایت شما که تمام محتوای متنی، تنظیمات، کاربران، سفارشات و اطلاعات حیاتی در آن ذخیره می‌شود.

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

اقدامات مهم قبل از شروع انتقال (برای تمام روش‌ها)

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

  • ۱. کاهش TTL دامنه‌: وارد پنل مدیریت دامنه خود (جایی که دامنه را ثبت کرده‌اید) شوید و مقدار TTL (Time To Live) رکوردهای DNS خود را به کمترین مقدار ممکن (مثلا ۳۰۰ ثانیه یا ۵ دقیقه) کاهش دهید. این کار باعث می‌شود پس از تغییر DNS، سایت شما با سرعت بسیار بیشتری روی سرور جدید بارگذاری شود.
  • ۲. نکته مهم در مورد دامنه: شما فقط آدرس‌دهی (DNS) دامنه را تغییر می‌دهید، نیازی به انتقال دامنه به یک ثبت‌کننده (Registrar) جدید نیست. دامنه و هاستینگ دو سرویس کاملا مجزا هستند و می‌توانند در شرکت‌های مختلفی باشند.
  • ۳. سرویس قدیمی را لغو نکنید: تا زمانی که از عملکرد کامل سایت روی سرور جدید مطمئن نشده‌اید، به هیچ وجه سرویس هاستینگ قبلی خود را لغو نکنید. همیشه یک راه بازگشت امن برای خود نگه دارید.
  • ۴. سایت را در حالت تعمیر (Maintenance Mode) قرار دهید: برای جلوگیری از ثبت اطلاعات جدید (مانند سفارش یا دیدگاه جدید) در حین فرآیند بکاپ‌گیری، سایت خود را با یک افزونه در حالت تعمیر قرار دهید.
  • ۵. از نسخه PHP مطلع شوید: مطمئن شوید نسخه PHP سرور جدید شما با سرور قبلی یکسان یا بالاتر است. این اطلاعات را می‌توانید از میزبان جدید خود بپرسید.

روش اول: انتقال آسان با افزونه وردپرس (پیشنهاد برای مبتدیان)

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

مرحله ۱: نصب و فعال‌سازی افزونه All-in-One WP Migration

  1. در پیشخوان وردپرس سایت قدیمی (مبدا)، به بخش «افزونه‌ها > افزودن» بروید.
  2. افزونه “All-in-One WP Migration” را جستجو، نصب و فعال کنید.
  3. همین کار را روی یک وردپرس خام که در هاست جدید (مقصد) نصب کرده‌اید نیز تکرار کنید.

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

  1. در منوی پیشخوان سایت قدیمی، روی “All-in-One WP Migration” کلیک کرده و گزینه “Export” را انتخاب کنید.
  2. روی دکمه سبز رنگ “EXPORT TO” کلیک کرده و گزینه “File” را انتخاب کنید.
  3. افزونه شروع به بسته‌بندی تمام فایل‌ها و دیتابیس شما در یک فایل با فرمت .wpress می‌کند. صبر کنید تا فرآیند تمام شود.
  4. پس از اتمام، یک پنجره باز می‌شود. روی لینک دانلود کلیک کرده و فایل را روی کامپیوتر خود ذخیره کنید.

مرحله ۳: درون‌ریزی (Import) فایل در سایت مقصد

  1. وارد پیشخوان وردپرس در هاست جدید شوید.
  2. به بخش “All-in-One WP Migration” رفته و این بار گزینه “Import” را انتخاب کنید.
  3. فایل .wpress که دانلود کرده بودید را بکشید و در کادر مشخص شده رها کنید یا با کلیک روی “IMPORT FROM > FILE” آن را انتخاب کنید.
  4. افزونه شروع به آپلود و بازگردانی سایت شما می‌کند. در انتها، یک پیام هشدار مبنی بر اینکه تمام اطلاعات سایت جدید بازنویسی خواهد شد نمایش داده می‌شود. روی “PROCEED” کلیک کنید.
  5. پس از اتمام موفقیت‌آمیز، یک پیام به شما نمایش داده می‌شود که باید پیوندهای یکتا را مجددا ذخیره کنید. روی دکمه “Permalinks Settings” کلیک کرده و در صفحه باز شده، بدون هیچ تغییری، فقط روی دکمه “ذخیره تغییرات” کلیک کنید.

 

نکته: نسخه رایگان این افزونه محدودیت حجم آپلود دارد. اگر سایت شما حجیم است، می‌توانید نسخه پرمیوم را تهیه کنید یا از روش‌های دستی که در ادامه توضیح داده شده استفاده نمایید.

روش اول: انتقال از سی‌پنل به سی‌پنل (Full Backup)

این ساده‌ترین، سریع‌ترین و مطمئن‌ترین روش برای انتقال بین دو سرور مجهز به cPanel/WHM است. در این روش، کل حساب شما با تمام جزئیات منتقل می‌شود.

مرحله ۱: ایجاد فول بکاپ در سرور مبدا

  1. وارد کنترل پنل cPanel هاست قدیمی خود شوید.
  2. در بخش “Files”، روی گزینه “Backup” یا “Backup Wizard” کلیک کنید.
  3. روی دکمه “Download a Full Account Backup” کلیک کنید.
  4. در صفحه بعد، مقصد بکاپ (Backup Destination) را روی “Home Directory” تنظیم کرده و آدرس ایمیل خود را برای دریافت نوتیفیکیشن وارد نمایید.
  5. روی دکمه “Generate Backup” کلیک کنید. بسته به حجم سایت شما، این فرآیند ممکن است چند دقیقه تا چند ساعت بسته به حجم سایت شما و شلوغی سرور طول بکشد.
  6. پس از اتمام، یک فایل با فرمت .tar.gz در پوشه اصلی (Home Directory) هاست شما ساخته می‌شود.

مرحله ۲: انتقال فایل بکاپ به سرور جدید

شما سه راه برای این کار دارید:

  • روش A (حرفه‌ای و سریع): انتقال مستقیم با `scp` (نیاز به دسترسی SSH)
    اگر به هر دو سرور دسترسی SSH دارید، این بهترین روش است. وارد ترمینال سرور جدید خود شوید و دستور زیر را وارد کنید:

    scp root@IP_SERVER_OLD:/path/to/backup-file.tar.gz /home
    • IP_SERVER_OLD: آی‌پی سرور قدیمی شما.
    • /path/to/backup-file.tar.gz: مسیر کامل فایل بکاپ در سرور قدیمی (معمولا در /home/username/).
    • /home: مسیری در سرور جدید که می‌خواهید فایل به آنجا منتقل شود.
  • روش B (ساده): دانلود و آپلود دستی
    فایل بکاپ را از طریق File Manager سی‌پنل قدیمی یا نرم‌افزار FTP (مانند FileZilla) روی کامپیوتر خود دانلود کنید. سپس همین فایل را در File Manager سرور جدید آپلود کنید. (این روش برای حجم‌های بالا به دلیل احتمال قطعی اینترنت، توصیه نمی‌شود).
  • روش C (انتقال سرور به سرور): انتقال با `wget` (نیاز به دسترسی SSH در سرور جدید)
    1. در سرور قدیمی، فایل بکاپ را به داخل پوشه public_html منتقل کنید تا از طریق وب قابل دسترسی باشد.
    2. پرمیژن فایل بکاپ را باید روی عدد 644 تنظیم کنید.
    3. در ترمینال سرور جدید، دستور زیر را اجرا کنید:
      cd /home
      wget http://your-old-domain.com/backup-file.tar.gz
    4. نکته امنیتی فوق‌العاده مهم: حتما داخل پوشه ای که فایل بکاپ را قرار دادید، یک فایل index.html هم ایجاد کنین تا فایل بکاپ شما برای عموم قابل دسترس نباشد.

مرحله ۳: ریستور کردن فول بکاپ در سرور جدید

  1. اگر مدیر سرور خود شما هستید و دسترسی به WHM دارید طبق آموزش شماره 2 اقدام کنید، در غیر اینصورت لینک بکاپ را باید به مدیر سرور بدید.
  2. وارد پنل مدیریت WHM سرور جدید خود شوید.
  3. در منوی جستجو، عبارت “Transfer or Restore a cPanel Account” را پیدا کرده و روی آن کلیک کنید.
  4. گزینه “Restore from a local backup file” را انتخاب کنید.
  5. فایل بکاپی که به سرور جدید منتقل کرده‌اید را انتخاب کنید.
  6. روی دکمه “Restore” کلیک کنید. WHM به صورت خودکار تمام فایل‌ها، دیتابیس‌ها، ایمیل‌ها و تنظیمات را بازیابی می‌کند.

مرحله ۴: بررسی نهایی و تغییر DNS

قبل از تغییر DNS، با استفاده از فایل hosts ویندوز، سایت را روی سرور جدید تست کنید. پس از اطمینان کامل، DNS دامنه خود را به IP سرور جدید تغییر دهید. اگر از سرویس کلودفلر استفاده می‌کنید، می‌توانید از راهنمای تنظیم کلودفلر ما کمک بگیرید.

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

این فرآیند نیز مانند سی‌پنل، بسیار ساده و سرراست است.

مرحله ۱: ایجاد بکاپ در سرور مبدا (DirectAdmin)

  1. وارد پنل کاربری DirectAdmin قدیمی خود شوید.
  2. در بخش “System Info & Files”، روی “Create/Restore Backups” کلیک کنید.
  3. تمام گزینه‌ها (Website Data, Email, FTP, Databases) را تیک بزنید تا یک بکاپ کامل ساخته شود.
  4. روی دکمه “Create Backup” کلیک کنید.
  5. پس از اتمام، بکاپ در پوشه /backups در هاست شما قرار می‌گیرد.

مرحله ۲: انتقال فایل بکاپ به سرور جدید

دقیقا مانند روش سی‌پنل، می‌توانید از scp، wget یا دانلود/آپلود دستی برای انتقال فایل بکاپ به پوشه /home/username/backups در سرور جدید استفاده کنید.

مرحله ۳: ریستور بکاپ در سرور جدید (DirectAdmin)

  1. وارد پنل کاربری DirectAdmin جدید خود شوید.
  2. دوباره به بخش “Create/Restore Backups” بروید.
  3. این بار روی دکمه “Restore Backup” کلیک کنید.
  4. فایل بکاپی که منتقل کرده‌اید را از منوی کشویی انتخاب کنید.
  5. تمام گزینه‌ها را برای ریستور کامل انتخاب کرده و روی “Restore Selected Items” کلیک کنید.

روش سوم: انتقال دستی (بدون کنترل پنل) با SSH – راهنما برای حرفه ای ها

این روش برای زمانی است که سرور مبدا کنترل پنل ندارد یا می‌خواهید به یک سرور با کنترل پنل متفاوت مهاجرت کنید. این روش نیازمند دسترسی SSH به سرور مبدا است.

مرحله ۱: بکاپ‌گیری از فایل‌ها با `tar`

  1. با SSH به سرور مبدا متصل شوید.
  2. به پوشه‌ای که فایل‌های سایت شما در آن قرار دارد بروید (معمولا /var/www/html یا public_html).
  3. با دستور tar، تمام فایل‌ها را در یک فایل فشرده آرشیو کنید:
    tar -czvf /home/backup_files.tar.gz .
    • -c: ایجاد آرشیو
    • -z: فشرده‌سازی با Gzip
    • -v: نمایش فرآیند
    • -f: نام فایل خروجی
    • .: به معنای “تمام فایل‌ها و پوشه‌های موجود در این مسیر”

مرحله ۲: بکاپ‌گیری از دیتابیس با `mysqldump` (مناسب برای حجم‌های بالا)

  1. برای بکاپ‌گیری از دیتابیس، به اطلاعات آن (نام دیتابیس، نام کاربری، رمز عبور) نیاز دارید. این اطلاعات معمولا در فایل کانفیگ سایت شما (مانند wp-config.php برای وردپرس) موجود است.
  2. از دستور mysqldump استفاده کنید. برای جلوگیری از پر شدن فضا در دیتابیس‌های حجیم، خروجی را مستقیماً به gzip ارسال می‌کنیم:
    mysqldump -u [username] -p[password] [database_name] | gzip > /home/backup_database.sql.gz
    • نکته: بین -p و رمز عبور نباید هیچ فاصله‌ای وجود داشته باشد.

مرحله ۳: انتقال بکاپ‌ها به سرور جدید

از دستور امن و سریع `scp` برای انتقال هر دو فایل به سرور جدید استفاده کنید:

scp /home/backup_files.tar.gz root@IP_SERVER_NEW:/home
scp /home/backup_database.sql.gz root@IP_SERVER_NEW:/home

مرحله ۴: ریستور کردن در سرور جدید

این بخش به نوع سرور مقصد بستگی دارد:

سناریو A: ریستور در سرور بدون کنترل پنل
  1. ریستور دیتابیس:
    • ابتدا باید یک دیتابیس و کاربر جدید در MySQL بسازید.
    • سپس بکاپ را ریستور کنید:
      gunzip < /home/backup_database.sql.gz | mysql -u [new_username] -p[new_password] [new_database_name]
  2. ریستور فایل‌ها:
    • فایل‌ها را از حالت فشرده خارج کنید:
      tar -xzvf /home/backup_files.tar.gz -C /var/www/html
  3. تنظیمات نهایی:
    • فایل کانفیگ سایت (wp-config.php) را با اطلاعات دیتابیس جدید آپدیت کنید.
    • مالکیت و سطح دسترسی فایل‌ها را با دستورات chown و chmod تنظیم کنید.
سناریو B: ریستور در سرور دارای cPanel/DirectAdmin
  1. ابتدا دامنه را از طریق کنترل پنل به صورت عادی اضافه کنید. این کار ساختار پوشه‌ها و کاربر را ایجاد می‌کند.
  2. وارد File Manager شده و فایل backup_files.tar.gz را در پوشه public_html آپلود و سپس Extract کنید.
  3. وارد phpMyAdmin شده، دیتابیس ساخته شده توسط کنترل پنل را انتخاب و فایل backup_database.sql.gz را Import کنید.
  4. فایل کانفیگ سایت (wp-config.php) را با نام دیتابیس، یوزر و پسورد جدیدی که cPanel/DirectAdmin ساخته است، آپدیت کنید.

 

 

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

فهرست تیترها

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