تغییر هاست وردپرس؛ چه زمانی لازم است و چگونه بدون قطعی منتقل کنیم؟

تغییر هاست وردپرس زمانی مطرح می شود که سرویس فعلی دیگر از نظر سرعت، منابع، پایداری، پشتیبانی یا امکان توسعه پاسخگوی نیاز سایت نباشد. با این حال، کندی سایت همیشه به معنی ضعیف بودن هاست نیست و انتقال بدون بررسی می تواند فقط هزینه و ریسک بیشتری ایجاد کند.
قالب سنگین، افزونه ناسازگار، دیتابیس شلوغ، تصاویر حجیم، درخواست های AJAX، ربات های مخرب و تنظیمات اشتباه کش نیز می توانند منابع سرور را مصرف کنند. اگر ریشه مشکل در ساختار سایت باشد، انتقال به هاست جدید ممکن است فقط برای مدت کوتاهی وضعیت را بهتر کند.
از طرف دیگر، زمانی که هاست به طور مداوم به سقف CPU و RAM می رسد، قطعی های تکراری دارد، نسخه پشتیبان قابل اعتماد ارائه نمی دهد یا امکان ارتقای منطقی وجود ندارد، مهاجرت می تواند تصمیم درستی باشد.
در این مقاله ابتدا نشانه های نیاز به تغییر هاست را بررسی می کنیم. سپس مراحل انتقال فایل ها، دیتابیس، ایمیل، DNS و سرویس های جانبی را توضیح می دهیم تا سایت با کمترین قطعی قابل مشاهده به زیرساخت جدید منتقل شود.
اگر هنوز درباره انتخاب سرویس جدید مطمئن نیستید، ابتدا راهنمای انتخاب هاست وردپرس و مقاله تفاوت هاست اشتراکی، هاست وردپرس، هاست ابری و سرور مجازی را مطالعه کنید.
تغییر هاست وردپرس دقیقا به چه معنا است؟
تغییر هاست یعنی فایل ها، دیتابیس و تنظیمات سایت از سرویس فعلی به یک سرور یا شرکت هاستینگ جدید منتقل شوند. در بیشتر مهاجرت ها، دامنه سایت تغییر نمی کند و کاربران پس از پایان کار همچنان با همان آدرس قبلی وارد سایت می شوند.
در یک انتقال معمولی این بخش ها جابجا می شوند:
- فایل های هسته وردپرس
- قالب اصلی و قالب فرزند
- افزونه ها
- پوشه رسانه و فایل های آپلودی
- دیتابیس وردپرس
- فایل wp-config.php
- فایل های پیکربندی مانند .htaccess
- قوانین ریدایرکت و کش
- حساب های ایمیل در صورت نیاز
- رکوردهای DNS
- Cron Jobها
- تنظیمات SSL و CDN
اگر فقط شرکت هاستینگ عوض شود و دامنه، پروتکل و مسیر نصب وردپرس ثابت بمانند، معمولا نیازی به تغییر آدرس های ذخیره شده در دیتابیس نیست.
اما اگر انتقال همراه با تغییر دامنه، تغییر HTTP به HTTPS، انتقال از زیردامنه یا تغییر پوشه نصب باشد، آدرس های داخل دیتابیس نیز باید به شکل امن اصلاح شوند.
آیا واقعا به تغییر هاست نیاز دارید؟
قبل از مهاجرت باید مشخص شود مشکل از زیرساخت است یا از خود وردپرس. انتقال سایت زمان و ریسک دارد و نباید فقط بر اساس یک تست سرعت یا یک روز کندی انجام شود.
نشانه های احتمالی ضعیف بودن هاست
- مصرف CPU به صورت مداوم به سقف مجاز می رسد.
- خطاهای مربوط به حافظه فیزیکی تکرار می شوند.
- Entry Process در ساعات شلوغ پر می شود.
- I/O یا IOPS به شکل مداوم محدود می شوند.
- پیشخوان و صفحات داینامیک هم زمان کند هستند.
- خطاهای ۵۰۳، ۵۰۸ یا Timeout تکرار می شوند.
- سایت در بازه های مختلف بدون دلیل مشخص قطع می شود.
- دیتابیس حتی با ساختار بهینه پاسخ کندی دارد.
- شرکت هاستینگ اطلاعات روشنی درباره مصرف منابع نمی دهد.
- امکان ارتقای سرویس وجود ندارد یا هزینه آن منطقی نیست.
نشانه هایی که ممکن است مشکل از سایت باشد
- کندی پس از نصب یا به روز رسانی یک افزونه شروع شده است.
- فقط یک صفحه یا قابلیت خاص کند است.
- تعداد زیادی درخواست AJAX یا REST API اجرا می شود.
- قالب تعداد زیادی فایل و اسکریپت بارگذاری می کند.
- دیتابیس دارای جدول های بزرگ و داده های اضافی است.
- گزینه های Autoload حجم بالایی دارند.
- تصاویر بدون فشرده سازی و در اندازه بسیار بزرگ استفاده شده اند.
- ربات ها یا حملات تعداد زیادی درخواست ایجاد می کنند.
- کش صفحه یا Object Cache به درستی تنظیم نشده است.
- Cron Job یا بکاپ در زمان نامناسب اجرا می شود.
اگر نمی دانید مصرف بالای منابع از هاست است یا سایت، خدمات بهینه سازی کامل سایت وردپرس می تواند برای بررسی قالب، افزونه ها، دیتابیس و تنظیمات فنی استفاده شود.
جدول تشخیص مشکل هاست یا وردپرس
| نشانه | علت احتمالی | اقدام پیشنهادی |
|---|---|---|
| پیشخوان و سایت هر دو کند هستند | کمبود منابع یا دیتابیس کند | بررسی CPU، RAM، I/O و کوئری ها |
| فقط صفحه اصلی کند است | قالب، تصویر یا اسکریپت سنگین | بررسی ساختار همان صفحه |
| سایت در زمان بکاپ کند می شود | محدودیت I/O یا مصرف CPU بکاپ | تغییر زمان و روش بکاپ |
| فروشگاه در تسویه حساب کند است | دیتابیس، افزونه پرداخت یا API خارجی | بررسی درخواست های داینامیک |
| خطای 508 نمایش داده می شود | پر شدن پردازش های ورودی | بررسی Entry Process و درخواست ها |
| بعد از نصب افزونه سایت کند شده است | مصرف منابع افزونه | تست افزونه در محیط آزمایشی |
| سایت در ساعات مشخص کند می شود | شلوغی سرور یا عملیات زمان بندی شده | بررسی نمودار منابع و Cron |
| فقط کاربران یک شبکه مشکل دارند | مسیر شبکه یا DNS | تست از اپراتورهای مختلف |
چه زمانی تغییر هاست تصمیم منطقی است؟
مهاجرت معمولا در شرایط زیر منطقی است:
- منابع سرویس فعلی برای مصرف واقعی سایت کافی نیستند.
- شرکت هاستینگ امکان ارتقای مناسب ارائه نمی دهد.
- قطعی یا افت سرعت به صورت مداوم تکرار می شود.
- بکاپ گیری ناقص، نامنظم یا غیرقابل بازیابی است.
- پشتیبانی پاسخ دقیق و قابل استفاده ارائه نمی دهد.
- نسخه های PHP یا دیتابیس قدیمی هستند.
- امکان استفاده از SSL، Cron، SSH یا تنظیمات ضروری وجود ندارد.
- هزینه تمدید با امکانات سرویس هماهنگ نیست.
- موقعیت سرور دیگر با کاربران سایت هماهنگ نیست.
- پروژه به تنظیمات یا نرم افزار اختصاصی نیاز دارد.
- تعداد کاربران و سفارش ها افزایش یافته است.
- ساختار فعلی امکان توسعه آینده را محدود می کند.
قبل از تغییر هاست، سرویس جدید را چگونه انتخاب کنیم؟
هاست جدید نباید فقط کمی ارزان تر یا دارای فضای بیشتری باشد. باید دلیل مهاجرت را برطرف کند.
اگر مشکل سرویس فعلی کمبود CPU است، خرید پلنی با فضای بیشتر اما همان محدودیت پردازنده فایده ای ندارد. اگر مشکل بکاپ است، باید سرویس جدید دوره و محل نگهداری نسخه های پشتیبان را به صورت شفاف اعلام کند.
قبل از خرید این موارد را بررسی کنید:
- CPU و RAM واقعی پلن
- PHP Memory Limit
- I/O و IOPS
- Entry Process و NPROC
- تعداد PHP Workerها
- محدودیت Inode
- نسخه های PHP و پایگاه داده
- نوع فضای ذخیره سازی
- روش بکاپ گیری
- امکان بازیابی توسط کاربر
- موقعیت سرور
- کنترل پنل
- امکان ارتقای آینده
- هزینه خرید و تمدید
در مقاله منابع مورد نیاز هاست وردپرس این مشخصات را با جزئیات بررسی کرده ایم.
برای مقایسه چند شرکت نیز می توانید مقاله بهترین هاست وردپرس ایران را مطالعه کنید. اگر میهن وب هاست در فهرست انتخاب های شما است، مقاله بررسی میهن وب هاست برای وردپرس سرویس های ایران و آلمان این مجموعه را بررسی می کند.
چه زمانی برای انتقال سایت مناسب است؟
مهاجرت را در ساعتی انجام دهید که کمترین تعداد کاربر، سفارش و ثبت اطلاعات را دارید. برای سایت شرکتی، ساعات کم بازدید مناسب هستند. برای فروشگاه باید نمودار سفارش و ترافیک واقعی بررسی شود.
این موارد را در زمان بندی در نظر بگیرید:
- روز و ساعت کم ترافیک
- نبود کمپین تبلیغاتی فعال
- نبود فروش ویژه
- نبود انتشار محتوای مهم
- حضور فرد فنی پس از تغییر DNS
- دسترسی به پشتیبانی هر دو شرکت هاستینگ
- زمان کافی برای بازگشت به سرویس قبلی
مهاجرت فروشگاه را درست قبل از شروع یک کمپین، تعطیلات طولانی یا پایان اعتبار هاست قبلی انجام ندهید.
روش های انتقال سایت وردپرس
چهار روش اصلی برای مهاجرت وجود دارد:
- انتقال توسط شرکت هاستینگ جدید
- استفاده از افزونه مهاجرت
- انتقال دستی فایل و دیتابیس
- انتقال با SSH و WP-CLI
مقایسه روش های انتقال وردپرس
| روش | مزیت | محدودیت | مناسب برای |
|---|---|---|---|
| انتقال توسط هاستینگ | ساده و کم دردسر | سطح دقت به شرکت وابسته است | کاربر کم تجربه |
| افزونه مهاجرت | فرایند نیمه خودکار | محدودیت حجم و Timeout | سایت کوچک و متوسط |
| انتقال دستی | کنترل کامل روی فایل و دیتابیس | نیاز به تجربه فنی | توسعه دهنده و مدیر سایت |
| SSH و WP-CLI | سریع و مناسب فایل های حجیم | نیاز به دسترسی خط فرمان | سایت بزرگ و حرفه ای |
روش اول: انتقال رایگان توسط هاستینگ
بعضی شرکت ها انتقال سایت از هاست قبلی را به صورت رایگان انجام می دهند. این روش برای کاربری که تجربه فنی ندارد می تواند مناسب باشد.
قبل از تحویل اطلاعات ورود، این سوال ها را مطرح کنید:
- آیا فایل ها و دیتابیس کامل منتقل می شوند؟
- حساب های ایمیل نیز منتقل می شوند؟
- سایت قبل از تغییر DNS آزمایش می شود؟
- انتقال شامل چند دامنه و چند سایت است؟
- تنظیم SSL و Cron نیز انجام می شود؟
- نسخه PHP و افزونه های مورد نیاز بررسی می شوند؟
- بعد از انتقال چه مدت پشتیبانی ارائه می شود؟
حتی اگر انتقال توسط شرکت انجام می شود، یک بکاپ مستقل روی کامپیوتر یا فضای جداگانه نگهداری کنید.
روش دوم: استفاده از افزونه مهاجرت
افزونه های مهاجرت می توانند فایل ها و دیتابیس را در یک بسته قرار دهند و روی هاست جدید بازیابی کنند. این روش برای بسیاری از سایت های کوچک و متوسط ساده است.
مزایای افزونه مهاجرت
- کاهش مراحل دستی
- بسته بندی فایل و دیتابیس
- مدیریت بعضی تغییرات آدرس
- مناسب برای کاربر دارای تجربه متوسط
- امکان ساخت نسخه قابل بازیابی
محدودیت های افزونه مهاجرت
- محدودیت حجم در نسخه رایگان بعضی افزونه ها
- Timeout هنگام ساخت یا استخراج فایل بزرگ
- کمبود فضای هاست برای ساخت بسته
- مصرف زیاد CPU و I/O
- مشکل در انتقال فایل های بسیار زیاد
- ناسازگاری با بعضی تنظیمات سرور
قبل از شروع افزونه های کش و امنیتی را فقط در صورت نیاز و با برنامه مشخص غیرفعال کنید. پس از انتقال نیز باید تمام تنظیمات امنیتی دوباره فعال و بررسی شوند.
روش سوم: انتقال دستی وردپرس
در انتقال دستی، فایل ها و دیتابیس به صورت جداگانه منتقل می شوند. این روش کنترل بیشتری ایجاد می کند و برای زمانی مناسب است که افزونه مهاجرت با محدودیت روبرو شده باشد.
فرایند کلی شامل مراحل زیر است:
- دریافت نسخه کامل فایل های سایت
- خروجی گرفتن از دیتابیس
- ساخت دیتابیس جدید
- آپلود فایل ها روی سرور جدید
- وارد کردن دیتابیس
- ویرایش اطلاعات دیتابیس در wp-config.php
- تست سایت قبل از تغییر DNS
- همگام سازی نهایی اطلاعات
- تغییر رکورد DNS
روش چهارم: انتقال با SSH و WP-CLI
برای سایت حجیم، انتقال از طریق خط فرمان معمولا سریع تر و قابل کنترل تر است. می توان فایل ها را با ابزارهایی مانند rsync منتقل و دیتابیس را با دستورات خط فرمان خروجی و وارد کرد.
WP-CLI نیز امکان مدیریت دیتابیس، کش، گزینه های وردپرس و جایگزینی آدرس ها را فراهم می کند.
این روش برای کاربری مناسب است که با لینوکس، SSH، سطح دسترسی فایل ها و ساختار وردپرس آشنا است. اجرای دستور اشتباه روی سایت اصلی می تواند باعث حذف یا تغییر گسترده اطلاعات شود.
مرحله اول انتقال: دسترسی ها را آماده کنید
قبل از هر تغییر، مطمئن شوید به این بخش ها دسترسی دارید:
- پنل هاست قبلی
- پنل هاست جدید
- مدیریت وردپرس
- پنل دامنه
- مدیریت DNS
- FTP یا SFTP
- phpMyAdmin یا دسترسی دیتابیس
- SSH در صورت نیاز
- پنل CDN
- سرویس ایمیل
- درگاه پرداخت و وب سرویس ها
مالکیت دامنه و دسترسی DNS نباید فقط در اختیار شرکت طراح، هاستینگ یا فردی باشد که امکان ارتباط سریع با او وجود ندارد.
مرحله دوم: وضعیت فعلی سایت را ثبت کنید
قبل از انتقال، مشخصات فعلی را ثبت کنید تا بعد از مهاجرت امکان مقایسه داشته باشید.
- نسخه وردپرس
- نسخه PHP
- نسخه MySQL یا MariaDB
- فهرست افزونه های فعال
- قالب فعال
- پیوندهای یکتا
- Cron Jobها
- حساب های ایمیل
- رکوردهای DNS
- گواهی SSL
- قوانین .htaccess یا Nginx
- تنظیمات کش و CDN
- IPهای مجاز در سرویس های خارجی
از صفحات مهم، سبد خرید، فرم ها و تنظیمات اصلی اسکرین شات تهیه کنید. این کار در زمان کنترل نهایی مفید است.
مرحله سوم: رکوردهای DNS را ذخیره کنید
اگر قرار است Name Serverهای دامنه تغییر کنند، تمام رکوردهای فعلی را قبل از مهاجرت ثبت کنید. تغییر Name Server فقط روی سایت تاثیر ندارد و می تواند ایمیل، زیردامنه ها و سرویس های تایید دامنه را نیز تحت تاثیر قرار دهد.
رکوردهای مهم عبارتند از:
- A
- AAAA
- CNAME
- MX
- TXT
- SPF
- DKIM
- DMARC
- رکوردهای تایید سرویس ها
- زیردامنه ها
اگر سرویس DNS فعلی مناسب است، برای تغییر هاست معمولا لازم نیست Name Serverها را عوض کنید. می توانید فقط رکورد A یا AAAA مربوط به سایت را به IP جدید تغییر دهید.
این روش ریسک حذف ناخواسته رکوردهای ایمیل و سرویس های دیگر را کاهش می دهد.
مرحله چهارم: TTL را قبل از مهاجرت کاهش دهید
TTL مشخص می کند رکورد DNS تا چه مدت در کش باقی بماند. اگر مقدار TTL بالا باشد، بعضی کاربران پس از تغییر IP همچنان به سرور قدیمی متصل می شوند.
برای مهاجرت برنامه ریزی شده بهتر است TTL رکورد سایت از قبل کاهش داده شود. این تغییر باید پیش از شروع مهاجرت انجام شود تا مقدار قبلی از کش شبکه ها خارج شود.
بعد از پایدار شدن سایت روی سرور جدید می توانید TTL را دوباره به مقدار معمول برگردانید.
مرحله پنجم: بکاپ کامل تهیه کنید
قبل از انتقال، یک نسخه مستقل از فایل ها و دیتابیس تهیه کنید. به بکاپ خودکار هاست قبلی به تنهایی وابسته نباشید.
بکاپ باید حداقل شامل این بخش ها باشد:
- تمام فایل های پوشه نصب وردپرس
- پوشه wp-content
- قالب و افزونه های اختصاصی
- پوشه uploads
- فایل wp-config.php
- فایل .htaccess
- خروجی کامل دیتابیس
- تنظیمات DNS
- اطلاعات Cron Jobها
- فایل ها و حساب های ایمیل در صورت نیاز
پس از دانلود، حجم و ساختار فایل بکاپ را بررسی کنید. یک فایل ناقص یا صفر بایتی برای بازیابی قابل استفاده نیست.
مرحله ششم: هاست جدید را آماده کنید
قبل از انتقال فایل ها، محیط هاست جدید را با نیاز سایت هماهنگ کنید.
- دامنه را داخل پنل هاست اضافه کنید.
- دیتابیس و کاربر دیتابیس بسازید.
- نسخه مناسب PHP را انتخاب کنید.
- افزونه های مورد نیاز PHP را فعال کنید.
- محدودیت حافظه و آپلود را بررسی کنید.
- SSL را آماده کنید.
- ساختار پوشه دامنه را مشخص کنید.
- Cron Jobهای مورد نیاز را ثبت کنید.
- کش سرور را برای مرحله تست کنترل کنید.
نسخه PHP سرور جدید باید با قالب و افزونه های سایت سازگار باشد. مهاجرت و ارتقای بزرگ PHP را هم زمان انجام ندهید، مگر اینکه قبلا در محیط آزمایشی تست شده باشد.
مرحله هفتم: فایل های وردپرس را منتقل کنید
فایل ها را می توان با File Manager، FTP، SFTP، SCP یا rsync منتقل کرد. انتخاب روش به حجم سایت و دسترسی سرور بستگی دارد.
برای سایت بزرگ، فشرده سازی فایل ها روی سرور قبلی و انتقال مستقیم بسته می تواند سریع تر از دانلود و آپلود هزاران فایل جداگانه باشد.
بعد از انتقال این موارد را بررسی کنید:
- فایل های مخفی مانند .htaccess منتقل شده اند.
- پوشه uploads کامل است.
- فایل های قالب و افزونه اختصاصی وجود دارند.
- سطح دسترسی فایل ها و پوشه ها مناسب است.
- مالکیت فایل ها با کاربر هاست جدید هماهنگ است.
- فایل wp-config.php ناقص نشده است.
مرحله هشتم: دیتابیس را منتقل کنید
از دیتابیس سایت قبلی خروجی SQL تهیه و آن را در دیتابیس هاست جدید وارد کنید. برای دیتابیس های کوچک، phpMyAdmin کافی است. دیتابیس های بزرگ ممکن است به SSH یا ابزارهای خط فرمان نیاز داشته باشند.
در زمان خروجی گرفتن، همه جدول های مربوط به سایت را انتخاب کنید. اگر چند نصب وردپرس در یک دیتابیس هستند، پیشوند جدول ها باید با دقت بررسی شود.
بعد از وارد کردن دیتابیس، تعداد جدول ها و حجم کلی آن را با نسخه قبلی مقایسه کنید.
مرحله نهم: فایل wp-config.php را ویرایش کنید
وردپرس اطلاعات اتصال به دیتابیس را از فایل wp-config.php دریافت می کند. پس از ساخت دیتابیس جدید باید نام دیتابیس، نام کاربر، رمز عبور و میزبان دیتابیس را در این فایل به روز کنید.
define( 'DB_NAME', 'new_database_name' );
define( 'DB_USER', 'new_database_user' );
define( 'DB_PASSWORD', 'new_database_password' );
define( 'DB_HOST', 'localhost' );
مقدار DB_HOST همیشه localhost نیست. بعضی شرکت ها آدرس جداگانه ای برای دیتابیس ارائه می دهند.
این موارد را نیز کنترل کنید:
- پیشوند جدول ها با دیتابیس هماهنگ باشد.
- کلیدها و Saltهای امنیتی حذف نشده باشند.
- تنظیمات کش مربوط به هاست قبلی باقی نمانده باشند.
- مسیرهای ثابت مربوط به سرور قبلی بررسی شوند.
- اطلاعات حساس داخل فایل عمومی یا بکاپ رها نشوند.
آیا هنگام تغییر هاست باید آدرس های دیتابیس را تغییر دهیم؟
اگر دامنه، HTTPS و مسیر نصب ثابت هستند، معمولا نیازی به Search and Replace نیست. آدرس سایت برای کاربر همان مقدار قبلی باقی می ماند و فقط IP مقصد تغییر می کند.
Search and Replace زمانی لازم می شود که یکی از موارد زیر تغییر کند:
- دامنه سایت
- زیردامنه
- HTTP به HTTPS
- مسیر پوشه نصب
- دامنه موقت به دامنه اصلی
جایگزینی مستقیم متن در فایل SQL یا اجرای کوئری ساده روی تمام جدول ها می تواند داده های Serialize شده وردپرس را خراب کند. بهتر است از ابزار مهاجرت معتبر یا WP-CLI استفاده شود.
نمونه استفاده از WP-CLI
wp search-replace 'https://old-example.com' 'https://new-example.com' --all-tables-with-prefix --dry-run
گزینه dry-run ابتدا تغییرات احتمالی را بدون اعمال واقعی نمایش می دهد. پس از بررسی نتیجه می توان دستور را بدون این گزینه اجرا کرد.
اگر دامنه تغییر نکرده است، این دستور را فقط برای جایگزینی مسیرهای موقت و پس از بررسی دقیق اجرا کنید.
مرحله دهم: سایت جدید را قبل از تغییر DNS آزمایش کنید
مهم ترین بخش انتقال بدون قطعی این است که نسخه جدید قبل از هدایت کاربران آزمایش شود.
دو روش رایج برای پیش نمایش سایت جدید وجود دارد:
- تغییر موقت فایل Hosts کامپیوتر
- استفاده از آدرس موقت ارائه شده توسط هاستینگ
تست با فایل Hosts
با تغییر فایل Hosts می توانید دامنه اصلی را فقط روی کامپیوتر خود به IP جدید متصل کنید. در این حالت کاربران دیگر همچنان سایت قبلی را مشاهده می کنند.
این روش برای تست وردپرس با همان دامنه اصلی مناسب است و از مشکلات مربوط به دامنه موقت جلوگیری می کند.
پس از پایان تست باید ورودی اضافه شده از فایل Hosts حذف شود.
محدودیت آدرس موقت
آدرس موقت ممکن است باعث تغییر لینک ها، خطای SSL، مشکل کوکی و ریدایرکت به دامنه اصلی شود. برای تست دقیق ورود، ووکامرس و SSL، فایل Hosts معمولا نتیجه واقعی تری ارائه می دهد.
چه بخش هایی را روی هاست جدید تست کنیم؟
- صفحه اصلی
- نوشته ها و برگه ها
- تصاویر و فایل های رسانه
- صفحات 404
- پیوندهای یکتا
- ورود به پیشخوان
- ویرایش و ذخیره نوشته
- آپلود تصویر
- فرم های تماس
- جستجوی سایت
- ثبت نام و ورود کاربران
- سبد خرید
- تسویه حساب آزمایشی
- درگاه پرداخت
- ارسال ایمیل
- ارسال پیامک
- اتصال به APIهای خارجی
- Cron Jobها
- کش و CDN
لاگ خطاهای PHP و سرور را هنگام تست بررسی کنید. ممکن است صفحه در ظاهر باز شود اما خطاهای مهم در پس زمینه ثبت شوند.
مرحله یازدهم: SSL را بررسی کنید
پیش از تغییر DNS، شرایط صدور گواهی SSL روی سرور جدید را از شرکت هاستینگ بپرسید. بعضی سرویس ها برای صدور گواهی نیاز دارند دامنه به IP جدید اشاره کند.
پس از تغییر DNS این موارد را کنترل کنید:
- گواهی برای دامنه اصلی صادر شده است.
- نسخه www و بدون www پوشش داده شده اند.
- زنجیره گواهی کامل است.
- تاریخ انقضا مناسب است.
- ریدایرکت HTTP به HTTPS درست انجام می شود.
- صفحات Mixed Content ندارند.
- Webhookها از HTTPS جدید استفاده می کنند.
فعال کردن ریدایرکت های متعدد از کنترل پنل، افزونه و .htaccess می تواند حلقه ریدایرکت ایجاد کند. یک مسیر مشخص برای مدیریت HTTPS انتخاب کنید.
مرحله دوازدهم: تغییرات سایت را برای همگام سازی نهایی محدود کنید
از زمان گرفتن بکاپ اولیه تا لحظه تغییر DNS ممکن است سفارش، کاربر، نظر یا نوشته جدید در سایت قبلی ثبت شود. اگر همان دیتابیس قدیمی روی سرور جدید باقی بماند، این اطلاعات از دست می روند.
برای سایت شرکتی کم تغییر، می توان در بازه کوتاهی انتشار محتوا و ثبت فرم را متوقف کرد. برای فروشگاه باید هماهنگ سازی دقیق تری انجام شود.
روش ساده برای سایت کم تغییر
- نسخه اولیه را روی هاست جدید منتقل کنید.
- تمام بخش ها را آزمایش کنید.
- سایت قبلی را برای چند دقیقه در حالت نگهداری قرار دهید.
- آخرین دیتابیس را دوباره خروجی بگیرید.
- دیتابیس سرور جدید را با نسخه نهایی جایگزین کنید.
- DNS را تغییر دهید.
- حالت نگهداری را روی نسخه جدید بردارید.
فروشگاه ووکامرسی
در فروشگاه، سفارش و موجودی محصول دائما تغییر می کنند. بهتر است بازه Freeze کوتاه باشد و پس از گرفتن دیتابیس نهایی، امکان ثبت سفارش روی سرور قبلی محدود شود.
برای فروشگاه پرتراکنش، مهاجرت ممکن است به همگام سازی سطح دیتابیس، ابزار تخصصی یا برنامه انتقال اختصاصی نیاز داشته باشد.
مرحله سیزدهم: DNS را به سرور جدید تغییر دهید
پس از آماده شدن نسخه جدید، رکورد A دامنه را به IP سرور جدید تغییر دهید. اگر IPv6 استفاده می شود، رکورد AAAA نیز باید کنترل شود.
اگر دامنه از CDN یا Proxy استفاده می کند، Origin جدید را در پنل همان سرویس تغییر دهید. ممکن است رکورد عمومی همچنان IP شبکه CDN را نمایش دهد و تغییر اصلی داخل تنظیمات Origin انجام شود.
پس از تغییر DNS، کاربران ممکن است برای مدتی میان سرور قبلی و جدید تقسیم شوند. این رفتار به کش DNS و شبکه کاربران بستگی دارد.
به همین دلیل هاست قبلی را بلافاصله حذف یا غیرفعال نکنید.
تغییر Name Server یا فقط رکورد A؟
اگر DNS فعلی پایدار و در اختیار شما است، تغییر فقط رکورد A معمولا ساده تر و کم ریسک تر است.
تغییر Name Server زمانی لازم است که قصد دارید مدیریت DNS را نیز به شرکت یا سرویس دیگری منتقل کنید. در این حالت باید تمام رکوردهای قبلی روی سرویس جدید بازسازی شوند.
| روش | مزیت | ریسک |
|---|---|---|
| تغییر A Record | تغییر محدود و سریع تر | DNS فعلی باید فعال بماند |
| تغییر Name Server | انتقال کامل مدیریت DNS | احتمال حذف رکورد ایمیل و زیردامنه |
مرحله چهاردهم: بعد از تغییر DNS چه چیزهایی را بررسی کنیم؟
پس از هدایت دامنه به سرور جدید، کنترل نهایی را از چند اینترنت و دستگاه انجام دهید.
- دامنه به IP جدید متصل می شود.
- SSL معتبر است.
- صفحات اصلی پاسخ ۲۰۰ دارند.
- ریدایرکت ها درست هستند.
- تصاویر و فایل ها خطای 404 ندارند.
- پیشخوان وردپرس قابل استفاده است.
- فرم ها اطلاعات را ثبت می کنند.
- ایمیل های وردپرس ارسال می شوند.
- پیامک و کد ورود کار می کنند.
- درگاه پرداخت Callback سالم دارد.
- Cron Jobها اجرا می شوند.
- صف های ووکامرس خطای جدید ندارند.
- CDN فایل های جدید را دریافت می کند.
- لاگ PHP و وب سرور خطای مهم ندارد.
چطور مطمئن شویم سایت از سرور جدید باز می شود؟
فقط مشاهده ظاهر سایت کافی نیست، چون نسخه کش شده ممکن است نمایش داده شود. برای تشخیص سرور مقصد می توانید:
- IP دامنه را بررسی کنید.
- یک فایل آزمایشی روی سرور جدید قرار دهید.
- هدر پاسخ سرور را بررسی کنید.
- لاگ دسترسی هاست جدید را مشاهده کنید.
- کش مرورگر و CDN را پاک کنید.
فایل آزمایشی را پس از پایان بررسی حذف کنید و داخل آن اطلاعات حساس سرور قرار ندهید.
مرحله پانزدهم: پیوندهای یکتا را بازسازی کنید
اگر نوشته ها یا صفحات خطای 404 دارند، وارد تنظیمات پیوندهای یکتا شوید و بدون تغییر ساختار، تنظیمات را دوباره ذخیره کنید.
این کار قوانین Rewrite وردپرس را بازسازی می کند. در سرور Nginx ممکن است نیاز باشد قوانین مناسب در تنظیمات وب سرور قرار بگیرند و ذخیره پیوندهای یکتا به تنهایی کافی نباشد.
مرحله شانزدهم: کش ها را پاک کنید
پس از مهاجرت، کش های زیر را کنترل و در صورت نیاز پاک کنید:
- کش افزونه وردپرس
- کش LiteSpeed یا Nginx
- Object Cache
- Redis یا Memcached
- کش CDN
- کش مرورگر
- کش DNS سیستم
باقی ماندن کش سرور قبلی می تواند باعث نمایش محتوای قدیمی، ریدایرکت اشتباه یا فایل های منقضی شده شود.
مرحله هفدهم: Cron Jobها را منتقل کنید
Cron Jobهای ثبت شده در کنترل پنل هاست با انتقال فایل و دیتابیس به صورت خودکار منتقل نمی شوند. باید آن ها را روی سرور جدید دوباره بسازید.
این موارد را بررسی کنید:
- WP-Cron
- Cron واقعی سرور
- بکاپ زمان بندی شده
- وارد کردن محصولات
- ارسال گزارش
- همگام سازی API
- وظایف ووکامرس
اگر WP-Cron در wp-config.php غیرفعال شده است، نبود Cron واقعی روی سرور جدید می تواند باعث توقف تمام وظایف زمان بندی شده شود.
مرحله هجدهم: ایمیل سایت را بررسی کنید
اگر ایمیل روی هاست قبلی میزبانی می شد، فقط انتقال وردپرس کافی نیست. حساب ها، پیام ها و رکوردهای MX باید جداگانه مدیریت شوند.
قبل از تغییر Name Server مطمئن شوید این رکوردها روی DNS جدید وجود دارند:
- MX
- SPF
- DKIM
- DMARC
- Autodiscover در صورت استفاده
اگر ایمیل روی سرویس مستقلی مانند Google Workspace یا سرویس دیگر قرار دارد، رکوردهای آن نباید هنگام تغییر DNS حذف شوند.
مرحله نوزدهم: درگاه پرداخت و Webhookها را تست کنید
بعضی درگاه ها و سرویس های خارجی IP سرور را ذخیره یا محدود می کنند. پس از تغییر هاست ممکن است IP جدید نیاز به تایید داشته باشد.
این موارد را بررسی کنید:
- آدرس Callback تغییر نکرده باشد.
- IP جدید در فهرست مجاز قرار گرفته باشد.
- فایروال درخواست سرویس را مسدود نکند.
- گواهی SSL معتبر باشد.
- درگاه بتواند به سایت پاسخ بفرستد.
- Webhookهای CRM، پیامک و حسابداری سالم باشند.
برای فروشگاه، یک خرید آزمایشی کامل از افزودن محصول تا ثبت پرداخت انجام دهید.
مرحله بیستم: لایسنس قالب و افزونه ها را بررسی کنید
بعضی قالب ها و افزونه های تجاری لایسنس را بر اساس دامنه، IP، مسیر نصب یا شناسه سرور کنترل می کنند. پس از مهاجرت ممکن است نیاز به فعال سازی مجدد داشته باشند.
نسخه قبلی را پیش از اطمینان از فعال شدن لایسنس در سرور جدید غیرفعال نکنید، مگر اینکه شرایط سازنده به شکل دیگری باشد.
مرحله بیست و یکم: هاست قبلی را فورا لغو نکنید
هاست قبلی باید مدتی فعال بماند تا تمام کاربران و Resolverهای DNS به سرور جدید هدایت شوند و مشکلات احتمالی مشخص شوند.
در این مدت:
- اطلاعات سایت قبلی را حذف نکنید.
- بکاپ نهایی را نگهداری کنید.
- لاگ سرور قدیمی را بررسی کنید.
- مطمئن شوید سفارش یا فرم جدید روی سرور قبلی ثبت نمی شود.
- ایمیل ها را کنترل کنید.
- امکان بازگشت سریع را حفظ کنید.
پس از اطمینان از پایداری سایت جدید می توانید سرویس قدیمی را لغو کنید.
برنامه بازگشت یا Rollback چیست؟
قبل از تغییر DNS باید مشخص باشد اگر سایت جدید به درستی کار نکرد چگونه به سرور قبلی بازمی گردید.
یک برنامه ساده بازگشت شامل این موارد است:
- هاست قبلی همچنان فعال باشد.
- نسخه کامل بکاپ در دسترس باشد.
- IP قبلی ثبت شده باشد.
- TTL از قبل کاهش یافته باشد.
- تغییر DNS قابل برگشت باشد.
- تغییرات دیتابیس در زمان مهاجرت ثبت شوند.
- فرد مسئول تصمیم بازگشت مشخص باشد.
بازگشت به سرور قبلی در فروشگاه می تواند باعث اختلاف دیتابیس شود. باید سفارش های ثبت شده روی هر دو سرور بررسی شوند.
خطاهای رایج پس از تغییر هاست وردپرس
خطای اتصال به دیتابیس
نام دیتابیس، کاربر، رمز عبور، DB_HOST و سطح دسترسی کاربر را بررسی کنید.
صفحه سفید یا خطای ۵۰۰
نسخه PHP، افزونه های PHP، محدودیت حافظه، .htaccess و لاگ خطاها را بررسی کنید.
خطای 404 در نوشته ها
پیوندهای یکتا و قوانین Rewrite را بازسازی کنید.
تصاویر نمایش داده نمی شوند
کامل بودن پوشه uploads، سطح دسترسی و آدرس فایل ها را بررسی کنید.
ورود به مدیریت ریدایرکت می شود
آدرس Home و Site URL، کوکی ها، HTTPS، کش و قوانین ریدایرکت را بررسی کنید.
SSL یا Mixed Content
آدرس فایل ها، گواهی SSL و کش CDN را کنترل کنید.
ایمیل ارسال نمی شود
رکوردهای DNS، تنظیم SMTP، محدودیت ارسال و پورت های خروجی را بررسی کنید.
سرعت روی هاست جدید کمتر شده است
نسخه PHP، OPcache، کش، DNS، CDN، دیتابیس و منابع واقعی پلن را با سرور قبلی مقایسه کنید.
درگاه پرداخت بازگشت موفق ندارد
Callback، SSL، فایروال و IP مجاز را بررسی کنید.
Cron اجرا نمی شود
تنظیم Cron کنترل پنل و مقدار DISABLE_WP_CRON را بررسی کنید.
آیا تغییر هاست روی سئو تاثیر دارد؟
اگر دامنه و آدرس صفحات تغییر نکنند، مهاجرت هاست به تنهایی به معنی تغییر URL نیست. بنابراین معمولا نیازی به ریدایرکت صفحات وجود ندارد.
با این حال، خطاهای مهاجرت می توانند روی دسترسی موتور جستجو اثر بگذارند:
- قطعی طولانی سایت
- خطاهای ۵۰۰ یا ۵۰۳
- حذف ناخواسته صفحات
- تغییر آدرس بدون ریدایرکت
- مسدود شدن ربات ها توسط فایروال
- مشکل SSL
- خطای DNS
- فعال ماندن noindex روی نسخه جدید
- مسدود بودن سایت در robots.txt
بعد از انتقال این موارد را کنترل کنید:
- صفحات مهم پاسخ ۲۰۰ داشته باشند.
- robots.txt قابل دسترس باشد.
- نقشه سایت باز شود.
- تگ noindex ناخواسته وجود نداشته باشد.
- Canonicalها همان دامنه اصلی را نمایش دهند.
- ریدایرکت www و HTTPS درست باشد.
- Search Console خطای سرور ثبت نکند.
آیا باید IP جدید را به گوگل اعلام کنیم؟
برای تغییر هاست با دامنه ثابت، ابزار جداگانه ای برای اعلام IP جدید به گوگل لازم نیست. کافی است DNS درست تنظیم شود و صفحات سایت روی سرور جدید پاسخ صحیح بدهند.
ابزار Change of Address برای تغییر دامنه طراحی شده است، نه تغییر شرکت هاستینگ با دامنه ثابت.
تغییر هاست فروشگاه ووکامرسی
انتقال فروشگاه حساس تر از سایت شرکتی است، زیرا سفارش، موجودی، پرداخت و اطلاعات کاربران دائما تغییر می کنند.
چک لیست ووکامرس
- دیتابیس نهایی درست قبل از تغییر DNS منتقل شود.
- سفارش های Pending و Processing بررسی شوند.
- موجودی محصولات مقایسه شود.
- درگاه پرداخت آزمایش شود.
- Webhookها و Callbackها بررسی شوند.
- ایمیل سفارش ارسال شود.
- پیامک سفارش تست شود.
- Action Scheduler بررسی شود.
- صفحات سبد خرید و تسویه حساب از کش خارج باشند.
- Redis یا Object Cache پس از انتقال پاک شود.
- Cron مربوط به اشتراک و سفارش فعال باشد.
در فروشگاه پرتراکنش بهتر است مهاجرت توسط فرد یا تیمی انجام شود که با ساختار دیتابیس ووکامرس و همگام سازی سفارش ها آشنا است.
تغییر هاست سایت وردپرسی بزرگ
برای سایت دارای چندین گیگابایت فایل یا دیتابیس بزرگ، روش عادی دانلود و آپلود ممکن است زمان زیادی ببرد.
راهکارهای قابل بررسی عبارتند از:
- انتقال مستقیم سرور به سرور
- استفاده از rsync
- فشرده سازی فایل ها روی سرور
- خروجی دیتابیس از طریق خط فرمان
- تقسیم فایل های حجیم
- انتقال اولیه و Sync نهایی
- مهاجرت مرحله ای پوشه رسانه
برای دیتابیس بزرگ باید زمان قفل شدن جدول ها و تغییرات هم زمان سایت نیز در نظر گرفته شود.
چک لیست کامل قبل از تغییر DNS
- هاست جدید خریداری و فعال شده است.
- دامنه داخل هاست جدید تعریف شده است.
- نسخه PHP سازگار انتخاب شده است.
- دیتابیس جدید ساخته شده است.
- فایل ها کامل منتقل شده اند.
- دیتابیس وارد شده است.
- wp-config.php تنظیم شده است.
- سایت با فایل Hosts تست شده است.
- ورود به پیشخوان انجام شده است.
- فرم ها و فروشگاه آزمایش شده اند.
- SSL آماده است.
- Cron Jobها ثبت شده اند.
- رکوردهای DNS ذخیره شده اند.
- TTL از قبل کاهش یافته است.
- بکاپ مستقل موجود است.
- برنامه Rollback آماده است.
- زمان کم ترافیک انتخاب شده است.
چک لیست بعد از تغییر هاست
- دامنه به سرور جدید متصل است.
- SSL بدون خطا کار می کند.
- صفحات پاسخ صحیح دارند.
- تصاویر کامل نمایش داده می شوند.
- پیشخوان وردپرس فعال است.
- فرم ها اطلاعات را ذخیره می کنند.
- ایمیل و پیامک ارسال می شوند.
- پرداخت آزمایشی موفق است.
- Cron و صف های ووکامرس فعال هستند.
- کش ها پاک شده اند.
- لاگ خطاها بررسی شده اند.
- نقشه سایت قابل دسترس است.
- noindex فعال نیست.
- بکاپ جدید از سرور مقصد تهیه شده است.
- هاست قبلی هنوز برای بازگشت فعال است.
اشتباهات رایج هنگام تغییر هاست
لغو هاست قبلی قبل از پایان انتقال
تا زمان اطمینان از عملکرد کامل سایت جدید، سرویس قبلی را حذف نکنید.
اعتماد کامل به یک بکاپ
حداقل یک نسخه مستقل در اختیار خودتان داشته باشید.
تغییر هم زمان دامنه، هاست و نسخه PHP
انجام چند تغییر بزرگ هم زمان، تشخیص علت خطا را دشوار می کند.
تست نکردن سایت قبل از تغییر DNS
نسخه جدید باید قبل از ورود کاربران بررسی شود.
فراموش کردن همگام سازی نهایی دیتابیس
این اشتباه باعث از دست رفتن سفارش، فرم یا کاربر جدید می شود.
تغییر Name Server بدون انتقال رکوردهای ایمیل
ممکن است سایت باز شود اما ایمیل های دامنه قطع شوند.
جایگزینی خام آدرس ها در دیتابیس
این کار می تواند داده های Serialize شده را خراب کند.
فراموش کردن Cron Job و Webhook
بعضی قابلیت ها در ظاهر سایت مشخص نیستند اما پس از چند ساعت یا روز متوقف می شوند.
پاک نکردن کش
ممکن است کاربران همچنان فایل یا ریدایرکت قبلی را مشاهده کنند.
هزینه تغییر هاست وردپرس به چه عواملی بستگی دارد؟
هزینه انتقال به اندازه و پیچیدگی سایت وابسته است. عوامل مهم عبارتند از:
- حجم فایل ها
- حجم دیتابیس
- تعداد سایت ها
- تعداد حساب های ایمیل
- وجود ووکامرس
- تعداد سرویس های خارجی
- نیاز به تغییر دامنه
- نیاز به Search and Replace
- تنظیم DNS و CDN
- نیاز به همگام سازی نهایی
- انتقال Cron و Webhook
- رفع خطاهای پس از مهاجرت
انتقال یک سایت شرکتی ساده با یک فروشگاه پرتراکنش یا سامانه عضویتی شرایط یکسانی ندارد.
آیا انتقال رایگان هاستینگ کافی است؟
برای سایت ساده ممکن است کافی باشد، اما باید دامنه خدمات مشخص شود. بعضی شرکت ها فقط فایل و دیتابیس را منتقل می کنند و بررسی درگاه، ایمیل، Cron، کش و APIها بر عهده کاربر باقی می ماند.
برای سایت تجاری بهتر است بعد از انتقال، یک بررسی کامل فنی انجام شود.
جمع بندی؛ چگونه هاست وردپرس را بدون قطعی تغییر دهیم؟
انتقال امن وردپرس از برنامه ریزی شروع می شود، نه از دانلود فایل ها. ابتدا باید مشخص شود تغییر هاست واقعا لازم است و سرویس جدید چه مشکلی را برطرف می کند.
سپس دسترسی ها، رکوردهای DNS، نسخه های نرم افزاری، فایل ها، دیتابیس، ایمیل و سرویس های جانبی ثبت می شوند. بعد از تهیه بکاپ، نسخه سایت روی سرور جدید آماده و بدون تغییر DNS آزمایش می شود.
در مرحله نهایی، تغییرات سایت برای یک بازه کوتاه محدود می شوند، دیتابیس نهایی منتقل می شود و DNS به IP جدید اشاره می کند. سرور قبلی نیز تا زمان پایدار شدن کامل سایت فعال باقی می ماند.
اگر دامنه تغییر نکرده است، معمولا نیازی به تغییر URLهای دیتابیس یا ریدایرکت صفحات وجود ندارد. مهم ترین موارد پس از مهاجرت، SSL، ایمیل، Cron، درگاه پرداخت، کش، پیوندهای یکتا و لاگ خطاها هستند.
برای کاهش ریسک، قبل از شروع یک برنامه Rollback داشته باشید و بکاپ مستقل را خارج از هر دو هاست نگهداری کنید.
اگر قصد انتقال سایت فعلی خود را دارید، خدمات مهاجرت سایت به وردپرس برای بررسی ساختار فعلی، انتقال اطلاعات و آماده سازی سایت روی زیرساخت جدید قابل استفاده است.
برای رفع خطاهای بعد از مهاجرت یا نگهداری فنی سایت نیز می توانید از خدمات پشتیبانی فنی وردپرس استفاده کنید.
اگر انتخاب سرویس، موقعیت سرور یا روش انتقال پروژه پیچیده است، خدمات مشاوره تکنیکال تخصصی وردپرس برای بررسی مسیر اجرایی مناسب در دسترس است.
سوالات متداول درباره تغییر هاست وردپرس
آیا تغییر هاست باعث حذف اطلاعات سایت می شود؟
اگر فایل ها و دیتابیس به صورت کامل منتقل شوند، اطلاعات حذف نمی شوند. تهیه بکاپ مستقل و همگام سازی نهایی دیتابیس برای جلوگیری از دست رفتن داده ضروری است.
آیا با تغییر هاست آدرس سایت عوض می شود؟
خیر. اگر دامنه تغییر نکند، کاربران همچنان با همان آدرس وارد سایت می شوند و فقط سرور مقصد تغییر می کند.
انتقال وردپرس چقدر زمان می برد؟
زمان انتقال به حجم فایل، دیتابیس، سرعت دو سرور و پیچیدگی سایت بستگی دارد. بخش زیادی از کار می تواند پیش از تغییر DNS انجام شود.
آیا برای تغییر هاست باید سایت را خاموش کنیم؟
سایت قدیمی می تواند تا آماده شدن نسخه جدید فعال بماند. برای همگام سازی نهایی ممکن است یک بازه کوتاه نگهداری یا محدودیت ثبت اطلاعات لازم باشد.
بعد از تغییر هاست باید دامنه را هم منتقل کنیم؟
خیر. انتقال هاست و انتقال مالکیت یا شرکت ثبت کننده دامنه دو فرایند جداگانه هستند.
آیا باید Name Server را تغییر دهیم؟
نه همیشه. اگر مدیریت DNS فعلی حفظ می شود، تغییر رکورد A به IP جدید معمولا کافی است.
چرا بعد از تغییر DNS بعضی کاربران سایت قبلی را می بینند؟
به دلیل کش شدن رکورد قبلی بر اساس TTL، بعضی شبکه ها ممکن است تا پایان زمان کش به IP قدیمی متصل شوند.
آیا تغییر هاست روی رتبه گوگل اثر منفی دارد؟
اگر دامنه و URLها ثابت بمانند و سایت قطعی طولانی یا خطای گسترده نداشته باشد، تغییر هاست به خودی خود به معنی تغییر ساختار سئو نیست.
برای انتقال فروشگاه چه نکته ای مهم تر است؟
همگام سازی نهایی دیتابیس اهمیت زیادی دارد تا سفارش ها، موجودی و کاربران ثبت شده در زمان انتقال از دست نروند.
آیا استفاده از افزونه مهاجرت امن است؟
برای بسیاری از سایت ها قابل استفاده است، اما باید افزونه معتبر باشد، بکاپ مستقل وجود داشته باشد و محدودیت حجم و منابع سرور بررسی شود.
برای نوشتن نظر باید وارد حساب کاربری شوی. ورود یا ثبتنام برای ثبت نظر