انتقال یک سایت وردپرسی به هاست جدید در نگاه اول شاید ترسناک به نظر برسد، اما با رعایت مراحل درست، میتوانید بدون کوچکترین اختلال یا از دست دادن دادهها این کار را انجام دهید. در این راهنمای جامع، سه روش مختلف انتقال سایت وردپرس را — از روش افزونهای تا انتقال دستی کامل — قدمبهقدم بررسی میکنیم و نکات کلیدی برای جلوگیری از قطعی سایت را میگوییم.
چرا باید سایت وردپرسی را منتقل کنید؟
دلایل متعددی برای تغییر هاست وجود دارد:
- هاست فعلی کند است و سرعت سایت پایین آمده
- پشتیبانی ضعیف یا گران شدن هزینه هاست
- ارتقا از هاست اشتراکی به هاست وردپرس اختصاصی یا VPS
- تغییر کشور سرور برای بهبود سئو یا سرعت در منطقه هدف
- محدودیت در منابع (CPU، RAM، فضا) که رشد سایت را متوقف کرده
- مشکلات امنیتی تکراری با هاست فعلی
چکلیست قبل از شروع انتقال
قبل از هر اقدامی این موارد را آماده کنید:
- دسترسی FTP یا File Manager هاست فعلی و هاست جدید
- دسترسی phpMyAdmin یا دیتابیس هر دو هاست
- اطلاعات دامنه و دسترسی به پنل مدیریت DNS
- یک نسخه پشتیبان کامل قبل از شروع
- زمان کافی — حداقل ۲ ساعت بدون عجله
- ترجیحاً قرار دادن سایت در حالت تعمیر (Maintenance Mode) در زمان انتقال
روش ۱: انتقال با افزونه (سادهترین روش)
این روش برای اکثر کاربران مناسب است و حداقل دانش فنی را میخواهد.
افزونههای پیشنهادی برای انتقال
- All-in-One WP Migration: سادهترین و محبوبترین گزینه. یک فایل
.wpressاز کل سایت میسازد که در سایت مقصد آپلود میشود - Duplicator: قدرتمند و حرفهای با امکانات بیشتر برای سایتهای بزرگ
- Migrate Guru: بدون نیاز به فضای اضافی، کل انتقال در ابر انجام میشود
- UpdraftPlus: افزونه پشتیبانگیری که امکان انتقال هم دارد
مراحل انتقال با All-in-One WP Migration
- در هاست مبدأ، افزونه را نصب و فعال کنید
- از منوی افزونه، گزینه «Export» را انتخاب و روی «Export to → File» کلیک کنید
- فایل
.wpressکه دانلود شد را نگه دارید - در هاست جدید، وردپرس تازه نصب کنید
- افزونه را در هاست جدید هم نصب و فعال کنید
- از منوی «Import» فایل را آپلود کنید
- پس از اتمام، با رمز عبور سایت قدیمی وارد شوید
- Permalinks را از «تنظیمات → پیوندهای یکتا» دوباره ذخیره کنید
نکته مهم: نسخه رایگان All-in-One WP Migration محدودیت ۵۱۲ مگابایت دارد. برای سایتهای بزرگ یا فایل Pro یا روشهای دیگر را استفاده کنید.
روش ۲: انتقال دستی کامل (حرفهای)
این روش برای سایتهای بزرگ که افزونهها با محدودیت حجم مشکل دارند، بهترین گزینه است.
مرحله ۱: بکآپ فایلها
در File Manager هاست فعلی یا از طریق FTP:
- به پوشه
public_htmlیا ریشه سایت وارد شوید - تمام فایلها و پوشهها را به فرمت zip فشرده کنید
- فایل zip را روی کامپیوتر خود دانلود کنید
مرحله ۲: بکآپ دیتابیس
- وارد phpMyAdmin هاست فعلی شوید
- دیتابیس وردپرس را از پنل سمت چپ انتخاب کنید
- روی تب «Export» کلیک کنید
- روش «Quick» و فرمت «SQL» را انتخاب کنید
- روی «Go» کلیک کنید تا فایل
.sqlدانلود شود
مرحله ۳: آمادهسازی هاست جدید
- در کنترلپنل هاست جدید (cPanel یا DirectAdmin) یک دیتابیس MySQL جدید بسازید
- کاربر جدیدی برای دیتابیس ایجاد کنید و دسترسی کامل بدهید
- نام دیتابیس، نام کاربر و رمز عبور را یادداشت کنید
- از phpMyAdmin هاست جدید، فایل
.sqlرا در دیتابیس جدید Import کنید
مرحله ۴: آپلود فایلها
- فایل zip را در پوشه
public_htmlهاست جدید آپلود کنید - آن را Extract کنید تا تمام فایلهای وردپرس استخراج شوند
- فایل zip اصلی را حذف کنید
مرحله ۵: ویرایش wp-config.php
فایل wp-config.php را باز کنید و اطلاعات دیتابیس جدید را وارد کنید:
DB_NAME: نام دیتابیس جدیدDB_USER: کاربر دیتابیس جدیدDB_PASSWORD: رمز جدیدDB_HOST: معمولاًlocalhost
مرحله ۶: بروزرسانی URLها در دیتابیس
اگر دامنه عوض شده، باید URLهای قدیم در دیتابیس با URL جدید جایگزین شوند. از یکی از این روشها استفاده کنید:
- افزونه Better Search Replace (سادهترین)
- ابزار WP CLI با دستور
wp search-replace - اسکریپت interconnect/it به نام Database Search and Replace
مهم: از UPDATE ساده SQL استفاده نکنید، چون دادههای serialized در وردپرس به هم میریزند.
روش ۳: انتقال با کمک پشتیبانی هاست جدید
بسیاری از ارائهدهندگان هاست وردپرس معتبر — از جمله میهن هاستینگ — خدمات انتقال رایگان ارائه میدهند. شما فقط اطلاعات دسترسی به هاست قدیمی را میدهید و تیم فنی آنها سایت را بدون قطعی منتقل میکند.
مزایای این روش:
- بدون دانش فنی
- بدون ریسک از دست رفتن داده
- معمولاً رایگان یا با هزینه اندک
- تست کامل سایت پیش از تغییر DNS
تغییر DNS — مرحله نهایی
پس از انتقال، باید DNS دامنه را به سرور جدید هدایت کنید:
- IP سرور جدید را از پنل هاست جدید دریافت کنید
- وارد پنل مدیریت دامنه شوید (جایی که دامنه را خریدهاید)
- رکورد A دامنه را به IP جدید تغییر دهید
- رکورد MX ایمیلها را هم در صورت لزوم بروزرسانی کنید
- تغییرات DNS معمولاً بین ۱۵ دقیقه تا ۴۸ ساعت اعمال میشوند (TTL)
برای جلوگیری از قطعی، قبل از تغییر DNS از طریق فایل hosts روی کامپیوترتان، IP جدید را تست کنید. اگر سایت روی سرور جدید درست باز شد، DNS را تغییر دهید.
چکلیست بعد از انتقال
بعد از اتمام انتقال حتماً این موارد را بررسی کنید:
- صفحه اصلی و چند صفحه داخلی بدون خطا باز میشوند
- تصاویر و مدیا درست نمایش داده میشوند
- فرمها و عملکرد ورود/ثبتنام کار میکنند
- Permalinks درست کار میکنند (
/sample-post/و نه?p=123) - گواهی SSL روی هاست جدید فعال است
- ایمیلهای خروجی سایت ارسال میشوند (فرم تماس، بازیابی رمز)
- صفحه چکاوت ووکامرس و درگاه پرداخت تست شدهاند
- پشتیبانگیری خودکار روی هاست جدید فعال است
- Google Search Console به سرور جدید متصل شده
خطاهای رایج و راهحل
خطای «Error Establishing Database Connection»
معمولاً به خاطر اطلاعات غلط دیتابیس در wp-config.php است. نام کاربر، رمز یا Host را مجدد بررسی کنید.
صفحات داخلی ۴۰۴ میدهند
در پنل وردپرس از «تنظیمات → پیوندهای یکتا» ساختار را دوباره ذخیره کنید. این .htaccess را بازنویسی میکند.
تصاویر نمایش داده نمیشوند
یا پوشه wp-content/uploads کامل منتقل نشده، یا URLها در دیتابیس بروزرسانی نشدهاند. از Better Search Replace استفاده کنید.
سایت سفید یا خطای ۵۰۰
احتمالاً به خاطر ناسازگاری PHP، حافظه کم یا مشکل در .htaccess است. از لاگ خطا در کنترلپنل بررسی کنید.
🚚 انتقال رایگان سایت به میهن هاستینگ
تیم ما سایت وردپرسی شما را بدون قطعی و رایگان از هر هاست دیگری منتقل میکند.
پرسشهای متداول
آیا انتقال سایت تاثیری در سئو دارد؟
اگر بهدرستی انجام شود، تاثیر منفی ندارد و حتی ممکن است به خاطر سرعت بالاتر رتبهبندی بهبود یابد. اصلیترین نکته حفظ همان URLها و ساختار پیوندهای یکتاست.
چقدر زمان میبرد؟
برای یک سایت کوچک تا متوسط، ۱ تا ۳ ساعت کافی است. سایتهای بزرگ با چند گیگ فایل ممکن است نیاز به نیم تا یک روز کاری داشته باشند.
آیا باید هاست قدیمی را بلافاصله قطع کنم؟
خیر. حداقل یک هفته هاست قدیمی را نگه دارید تا اگر مشکلی پیش آمد، امکان بازگشت سریع داشته باشید.
آیا میتوانم سایت را بدون قطعی منتقل کنم؟
بله. با تست سایت جدید روی IP قبل از تغییر DNS و استفاده از TTL پایین در ساعتهای قبل، انتقال تقریباً بدون قطعی انجام میشود.
مقالات مرتبط
- 📖 تفاوت هاست معمولی و هاست وردپرس — به کدام هاست مهاجرت کنیم
- 📖 رفع مشکلات SSL وردپرس — حل مشکل SSL بعد از مهاجرت
- 📖 Core Web Vitals و سرعت وردپرس — تست عملکرد پس از انتقال
