انتقال وردپرس به سایتی دیگر با دامنه جدید
- مقالات آموزشی
- بروزرسانی شده در
خیلی وقتا پیش میاد که بخوایم سایتی که با کلی زحمت راهاندازی کردیم رو به یه دامنه جدید منتقل کنیم. منظورم فقط جابهجایی هاست نیست، بلکه کل اطلاعات سایت رو میخوایم از یه آدرس اینترنتی به آدرسی دیگه ببریم. حالا این میتونه دلایل مختلفی داشته باشه، مثلا بخوایم برند جدیدی رو معرفی کنیم یا اسم دامنه قبلی رو دوست نداشته باشیم.
هر دلیلی که داشته باشیم، مهم اینه که بدونیم چطور باید درست و اصولی این انتقال رو انجام بدیم تا هم محتوای سایت سالم بمونه، هم مشکلی برای سئو و بازدیدکنندههامون پیش نیاد. پس آماده باشید که مرحله به مرحله باهم یاد بگیریم چطور اطلاعات سایت وردپرسیمون رو به یه دامنه تازه منتقل کنیم.
آنچه در این مقاله میخوانید
انتخاب هاست مناسب پیش از انتقال
قبل از اینکه به سراغ انتقال سایت بریم، باید یه نکته خیلی مهم رو روشن کنیم و اون هم انتخاب هاست مناسب هست. وقتی میخوایم سایتمون رو از یه دامنه به یه دامنه دیگه منتقل کنیم، عملا داریم تمام فایلها، دیتابیس و هر چیزی که روی سایت داریم رو جابهجا میکنیم. حالا اگه هاست جدیدمون از نظر سرعت و امنیت مناسب نباشه، ممکنه بعد از انتقال به دردسر بیفتیم. به همین خاطر لازمه قبل از هر کاری یه بررسی دقیق روی پلانهای هاستینگ داشته باشیم.
من خودم برای آموزشها از هاستهای مختلف استفاده میکنم تا جنبه تبلیغاتی نداشته باشه، ولی خب واقعیت اینه که همه ما میدونیم کیفیت هاست تا چه اندازه روی عملکرد سایت تأثیر میذاره. سرعت بارگذاری سایت، امنیت اطلاعات، حتی راحتی مدیریت وردپرس، همه و همه به انتخاب درست هاست بستگی داره. اگر تجربه کار با هاستهای ضعیف رو داشته باشید، میدونید چقدر میتونه اذیتکننده باشه، مخصوصا وقتی سایتتون بازدیدکننده زیادی داره.
حالا اگه دنبال بهترین انتخاب هستید، توی سایت میهن وردپرس یه مقاله جامع نوشتیم که داخلش بهترین هاستهای وردپرس معرفی شدن. اونجا میتونید مقایسهای از شرکتهای هاستینگ مختلف ببینید و بر اساس نیازتون تصمیم بگیرید. به نظرم ارزشش رو داره یه بار سر بزنید و قبل از انتقال سایتتون، خیال خودتون رو از بابت هاست راحت کنید. چون وقتی این پایه محکم باشه، ادامه کار خیلی سادهتر پیش میره.
تفاوت انتقال سایت به هاست جدید با انتقال به دامنه جدید
اینجا لازمه یه نکته اساسی رو بگم. کاری که الان میخوایم انجام بدیم خیلی هم ساده نیست، چون فقط بحث جابهجایی هاست نیست. وقتی شما میخواید سایت رو از یه هاست به یه هاست دیگه منتقل کنید ولی دامنه همون قبلی بمونه، پروسه کاملا مشخصه و حتی ویدیوی آموزشیش رو هم میتونید توی گوگل با عبارت «انتقال سایت وردپرسی به هاست جدید» پیدا کنید یا مستقیم توی سایت میهن وردپرس ببینید. اونجا دقیق نشون دادیم چطور میشه کل اطلاعات یه سایت رو از یه هاست برداشت و روی یه هاست دیگه قرار داد بدون اینکه آدرس سایت تغییر کنه.
اما کاری که ما الان میخوایم انجام بدیم یه کم متفاوتتره. این بار علاوه بر اینکه اطلاعات سایت قراره جابهجا بشه، دامنه هم تغییر میکنه. یعنی نه تنها باید فایلها و دیتابیس رو به هاست جدید منتقل کنیم، بلکه باید کاری کنیم که همه چیز با آدرس دامنه جدید درست کار کنه. اینجاست که تفاوت ماجرا مشخص میشه. چون وقتی دامنه تغییر پیدا میکنه، باید مسیرها، لینکها و حتی تنظیمات دیتابیس رو هم آپدیت کنیم تا سایت با آدرس تازه بالا بیاد و خطا نده.
شروع انتقال وردپرس از یک دامنه به دامنه جدید
خب حالا که درباره انتخاب هاست مناسب صحبت کردیم، وقتشه بریم سراغ اصل ماجرا. ما الان یه سایت داریم که روی یه دامنه فعاله. بذار یه مثال واقعی بزنم: فرض کنید سایت شما روی دامنهای مثل mihanmanesh.com نصب شده و میخواید همین سایت رو با تمام اطلاعاتش به یه دامنه دیگه مثلا mihanmanesh.ir منتقل کنید. اینجا دیگه فقط بحث تغییر دامنه نیست، بلکه کل اطلاعات، فایلها و دیتابیس قراره روی هاست جدید هم جابهجا بشه.
ممکنه سایتتون پر از نوشته، محصول یا کاربر باشه، یا تازه یه وردپرس خام روش نصب کرده باشید و فقط چند تا صفحه تستی داشته باشید. چیزی که داخل این فرآیند مهمه حجم اطلاعاته، چون سرعت انتقال کاملا به کیفیت اینترنت شما و توانایی هاستینگ برای آپلود و دانلود فایلها بستگی داره.
برای اینکه بهتر موضوع رو درک کنیم، فرض کنید روی دامنه mihanmanesh.com یه وردپرس فارسی نصب کردیم و حالا میخوایم همین اطلاعات رو به mihanmanesh.ir منتقل کنیم. اولین کاری که میکنیم اینه که وارد بخش مدیریت سرویسها در هاست میشیم و بررسی میکنیم آیا روی این سایت اطلاعاتی هست یا نه.
حتی اگر اطلاعات خاصی روی سایت نباشه، باز هم روش انتقال همون شکلیه. تفاوت فقط در حجم کار ماست؛ یعنی اگه سایت پر از داده باشه، زمان بیشتری برای دانلود و آپلود فایلها نیاز داریم، و اگه سبک باشه، انتقال خیلی سریعتر پیش میره.
انتقال فایلهای وردپرس از هاست قدیم به هاست جدید
بریم سراغ بخش اصلی انتقال سایت یعنی جابهجایی فایلهای وردپرس از هاست قدیم به هاست جدید. این مرحله دقیقا مثل این میمونه که بخوای خونتو جمع کنی و وسایل رو به خونه جدید منتقل کنی. اگه با دقت کار نکنی، ممکنه بخشی از وسایل جا بمونه یا چیزی خراب بشه.
اول از همه وارد کنترلپنل هاست قدیمی میشیم. حالا این کنترلپنل میتونه سیپنل باشه یا هر پنل دیگهای، فرقی نداره چون مسیر کلی کار یکیه. وقتی وارد شدیم میریم سراغ بخش File Manager و پوشه public_html. این پوشه در واقع قلب سایت وردپرسی شماست؛ تمام فایلها و فولدرهای مربوط به سایت همینجا قرار دارن.

کاری که باید بکنیم اینه که همه فایلهای موجود در public_html رو انتخاب کنیم. سادهترین راه اینه که کلیدهای Ctrl+A یا همون Select All رو بزنیم تا همه فایلها یکجا انتخاب بشن.

بعد روی فایلهای انتخابشده راستکلیک میکنیم و گزینه Compress رو میزنیم.

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

حالا که فایل رو دانلود کردیم، میریم سراغ هاست جدید. دوباره وارد کنترلپنل میشیم، به File Manager و پوشه public_html میریم. اینجا یه نکته خیلی مهم وجود داره، باید مطمئن بشیم که این پوشه خالیه. اگه فایل یا فولدری داخلش هست که به کارمون نمیاد، حتما باید پاک بشه. اما اگه چیزی داخلش داریم که برامون مهمه، قبل از پاککردن حتما باید ازش بکاپ بگیریم چون وقتی فایلهای جدید رو منتقل کنیم، ممکنه همهچیز قاطی بشه یا دادههای قدیمی از بین بره.

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

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

در واقع این مرحله شبیه اینه که وسایل خونتون رو جمع کنید، بذارید داخل کارتن، ببرید به خونه جدید و بعد همه رو دوباره بچینید سر جاشون. با این تفاوت که اینجا احتمال گمشدن چیزی خیلی کمتره چون فایل زیپ همهچیز رو یکجا نگه داشته.
آخرین کاری که باید بکنیم اینه که فایل زیپ رو هم از روی هر دو هاست (قدیمی و جدید) حذف کنیم. چون دیگه به اون فایل نیازی نداریم و نگهداشتنش فقط باعث میشه فضای هاست پر بشه. مخصوصا اگه حجم سایت بالا باشه، این فایل زیپ میتونه چندین گیگابایت از فضای هاست رو اشغال کنه.
به همین راحتی ما تونستیم فایلهای سایت رو از هاست قدیمی به هاست جدید منتقل کنیم. الان انگار کل محتوای سایتمون رو کپی کردیم و توی خونه جدید پیست کردیم. هنوز کارمون تموم نشده، چون باید دیتابیس رو هم منتقل کنیم و بعدش تنظیمات دامنه جدید رو انجام بدیم، ولی این مرحله یکی از مهمترین قدمها توی کل فرآیند انتقاله.
انتقال دیتابیس وردپرس از هاست قدیم به هاست جدید
خب حالا که فایلهای سایت رو با موفقیت منتقل کردیم، وقتشه سراغ دیتابیس بریم. همونطور که میدونید، وردپرس برای اجرا شدن به دو بخش اصلی نیاز داره: یکی فایلها که قبلا منتقلشون کردیم و یکی هم دیتابیس که در واقع مغز سایت به حساب میاد. تمام نوشتهها، برگهها، دیدگاهها، اطلاعات کاربرها و تنظیمات اصلی توی همین دیتابیس ذخیره میشه.
برای شروع دوباره وارد کنترلپنل هاست قبلی میشیم. چه سیپنل داشته باشید چه دایرکت ادمین، مسیر کلی یکیه. باید برید به قسمت Databases. اونجا لیست دیتابیسهایی که روی هاست ساخته شده رو میبینید. حالا شاید بگید: «از کجا بفهمم سایت من دقیقا از کدوم دیتابیس استفاده میکنه؟» سوال خیلی خوبیه.
یه نگاه به فایل wp-config.php بندازید. این فایل توی همون پوشه public_html قرار داره. روش راستکلیک کنید، گزینه Edit رو بزنید و داخلش دنبال خطی بگردید که نوشته باشه DB_NAME.

مقدار مقابلش اسم دیتابیس سایت شماست. مثلا ممکنه چیزی شبیه mihan_wp باشه. همین اسم رو باید داخل phpMyAdmin انتخاب کنید.
حالا وقتشه وارد phpMyAdmin بشیم. این ابزار برای مدیریت دیتابیسهای MySQL استفاده میشه و تقریبا روی همه هاستها وجود داره. اگر هاست شما سیپنل باشه، بدون نیاز به وارد کردن یوزرنیم و پسورد جداگانه وارد میشید. ولی اگه دایرکت ادمین دارید، ممکنه ازتون یوزر و پسورد دیتابیس بخواد. همون اطلاعاتی که موقع ساخت دیتابیس داشتید رو وارد کنید.
وقتی وارد phpMyAdmin شدید، از ستون سمت چپ دیتابیسی که مربوط به سایت شماست رو انتخاب کنید. بعد روی گزینه Export کلیک کنید. اینجا دو حالت دارید: Quick و Custom. همیشه بهتره روی حالت Custom بذارید چون کنترل بیشتری روی خروجی دارید.

بعد توی قسمت Compression هم یکی از حالتهای zip یا gzip رو انتخاب کنید. این کار باعث میشه خروجی دیتابیس فشردهتر بشه و راحتتر دانلود بشه.

حالا دکمه Export رو بزنید و phpMyAdmin یک فایل زیپشده از کل دیتابیس رو براتون آماده میکنه. این فایل رو دانلود کنید و روی سیستم خودتون نگه دارید. بسته به اینکه سایتتون چقدر محتوا داره، ممکنه حجم این فایل خیلی کم باشه یا حتی چندصد مگابایت بشه. مثلا یه سایت فروشگاهی با کلی محصول و سفارش و کاربر معمولا دیتابیس سنگینی داره، در حالی که یه وبلاگ ساده دیتابیس خیلی سبکی داره.
اینجا هم مثل بخش فایلها، سرعت اینترنت و کیفیت هاست خیلی تاثیر داره. اگه دیدید دانلود یا آپلود فایل دیتابیس خیلی طولانی شد یا وسط کار قطع شد، اصلا نگران نشید. میتونید به هاستینگ تیکت بزنید و درخواست بدید براتون مستقیم از دیتابیس اکسپورت بگیرن یا فایل دیتابیس رو روی هاست جدید ایمپورت کنن. تقریبا همه شرکتهای هاستینگ این کار رو انجام میدن.
ساخت دیتابیس جدید و تنظیم wp-config در هاست مقصد
خب تا اینجای کار ما فایلهای سایت رو منتقل کردیم و دیتابیس رو هم از هاست قبلی خروجی گرفتیم. حالا وقتشه روی هاست جدید یه دیتابیس تازه بسازیم تا بتونیم اون اطلاعات رو واردش کنیم. بدون این کار، سایت بالا نمیاد چون وردپرس برای اجرا شدن باید به یه دیتابیس متصل بشه.
اگه هاست شما سیپنل باشه، این کار خیلی سادهست چون یه ابزار به اسم MySQL Database Wizard داره.

با این ابزار قدمبهقدم میتونید دیتابیس، یوزرنیم و پسورد رو بسازید. فقط کافیه اسم دیتابیس رو وارد کنید، مثلا wp، بعد یوزرنیم رو هم بذارید همون wp یا هر چیزی که دوست دارید. برای امنیت بیشتر حتما پسورد قوی انتخاب کنید و اون رو یه جایی ذخیره کنید چون بعدا لازم میشه.

وقتی یوزرنیم ساخته شد، باید یوزر رو به دیتابیس متصل کنید و تیک All Privileges رو بزنید تا همه دسترسیها داده بشه. در نهایت هم روی Make Changes کلیک کنید.

کار تمومه.

حالا اگه هاست شما دایرکت ادمین باشه، اوضاع کمی متفاوته چون دیتابیس ویزارد نداره. ولی نگران نباشید، خیلی هم سخت نیست. توی دایرکت ادمین باید برید سراغ بخش MySQL Databases و از اونجا به صورت دستی دیتابیس و یوزر بسازید. بعد از ساخت دیتابیس، یوزرنیم و پسورد، باید اون یوزر رو به دیتابیس وصل کنید و دسترسی کامل بدید. اگه بلد نبودید، خیلی راحت میتونید توی گوگل سرچ کنید «آموزش ساخت دیتابیس در دایرکت ادمین» و دهها آموزش مرحلهبهمرحله براتون میاد.
بعد از اینکه دیتابیس ساخته شد، حالا باید وردپرس رو بهش معرفی کنیم. برای این کار میریم سراغ همون پوشه public_html هاست جدید و فایل wp-config.php رو باز میکنیم. روی فایل راستکلیک میکنیم و گزینه Edit رو میزنیم. این فایل یکی از مهمترین فایلهای وردپرسه چون اطلاعات اتصال به دیتابیس توش ذخیره شده.
داخل فایل دنبال خطوط زیر میگردیم:
define( 'DB_NAME', '...' );
define( 'DB_USER', '...' );
define( 'DB_PASSWORD', '...' );
اینجا باید اسم دیتابیس، یوزرنیم و پسوردی که تازه ساختیم رو جایگزین کنیم. مثلا اگه دیتابیس جدیدمون اسمش mihanman_wp باشه و یوزرنیم mihanman_wp و پسورد هم هر چیزی که انتخاب کردیم، باید همونها رو توی این قسمت وارد کنیم. بعد از وارد کردن اطلاعات، روی Save کلیک میکنیم تا تغییرات ذخیره بشه.

به همین راحتی وردپرس رو به دیتابیس جدید متصل کردیم. البته فعلا دیتابیس خالیه و اطلاعات سایت داخلش نیست. در مرحله بعد باید فایل بکاپ دیتابیس که از هاست قدیم گرفتیم رو ایمپورت کنیم تا سایت کامل روی دامنه جدید بالا بیاد.
ایمپورت کردن دیتابیس وردپرس روی هاست جدید
بعد از اینکه دیتابیس جدید رو روی هاست مقصد ساختیم و اطلاعاتش رو توی فایل wp-config.php وارد کردیم، حالا باید محتوایی که از دیتابیس قدیمی خروجی گرفتیم رو داخل این دیتابیس تازه بریزیم. این کار رو اصطلاحا ایمپورت کردن یا وارد کردن دیتابیس میگن.
برای شروع، وارد کنترلپنل هاست جدید میشیم. در سیپنل یا دایرکتادمین، فرقی نمیکنه، مسیر کلی یکیه. باید به سراغ بخش phpMyAdmin بریم. وقتی وارد phpMyAdmin شدیم، از ستون سمت چپ دیتابیسی که تازه ساختیم رو انتخاب میکنیم. همون دیتابیسی که توی فایل wp-config.php هم اسمش رو وارد کرده بودیم. مثلا اگر اسمش mihan_wp باشه، همون رو انتخاب میکنیم.

حالا به تب Import میریم. اینجا دقیقا جاییه که قراره فایل خروجی قبلی رو بارگذاری کنیم. روی دکمه Choose File یا «انتخاب فایل» کلیک میکنیم و فایلی که از دیتابیس قبلی خروجی گرفته بودیم رو انتخاب میکنیم. این فایل معمولا با فرمت .sql یا به صورت فشرده .zip ذخیره شده. هر دو قابل قبوله و phpMyAdmin به خوبی پشتیبانیشون میکنه.
بعد از انتخاب فایل، تنظیمات خاصی لازم نیست تغییر بدید مگر اینکه هاستینگ شما توصیه خاصی کرده باشه. حالا روی دکمه Import کلیک میکنیم تا فرآیند ایمپورت شروع بشه. بسته به حجم دیتابیس و سرعت سرور، این کار ممکنه چند ثانیه طول بکشه یا حتی چند دقیقه. برای سایتهای بزرگ مثل فروشگاههای اینترنتی که دیتابیس سنگینی دارن، این مرحله کمی زمانبرتره.
وقتی ایمپورت موفقیتآمیز باشه، phpMyAdmin به شما پیامی مثل Import has been successfully finished نشون میده. حالا اگه به بخش جداول دیتابیس نگاه کنید، باید همه جداول وردپرس رو ببینید؛ مثل wp_posts, wp_users, wp_options و… . این یعنی تمام محتوای سایت، کاربران، نوشتهها و تنظیمات با موفقیت به هاست جدید منتقل شده.
در این لحظه دیتابیس شما کامل آمادهست و سایت تقریبا آماده به کاره. اما هنوز یه مرحله مهم باقی مونده: باید آدرسهای دامنه قدیمی که داخل دیتابیس ذخیره شده رو با دامنه جدید جایگزین کنیم. چون در حال حاضر وردپرس هنوز داره به آدرسهای قبلی اشاره میکنه.
پس در بخش بعدی میریم سراغ تغییر دامنه داخل دیتابیس تا سایت روی آدرس جدید به درستی نمایش داده بشه. این مرحله برای سئو و عملکرد درست سایت خیلی حیاتی و ضروریه.
تغییر آدرس سایت در دیتابیس وردپرس بعد از انتقال به دامنه جدید
حالا که هم فایلها و هم دیتابیس رو با موفقیت به هاست جدید منتقل کردیم، یه مرحله خیلی مهم مونده که اگه انجامش ندیم، سایت روی دامنه جدید بهدرستی بالا نمیاد یا به جای سایت جدید، همچنان به دامنه قدیمی ریدایرکت میشه. این مرحله، همون تغییر آدرس سایت داخل دیتابیس وردپرسه.
وقتی وردپرس روی یه دامنه کار میکنه، همه لینکهای اصلی مثل آدرس صفحات، آدرس رسانهها، حتی تنظیمات پایه سایت داخل دیتابیس ذخیره میشن. حالا که دامنه رو عوض کردیم، باید به وردپرس بفهمونیم که همه این آدرسها به دامنه جدید منتقل شدن. وگرنه با خطاهای مثل «عدم دسترسی»، ریدایرکت اشتباه، یا حتی لود نشدن قالب و استایل سایت مواجه میشیم.
برای شروع، وارد phpMyAdmin هاست جدید میشیم. از ستون سمت چپ همون دیتابیسی که ایمپورت کردیم رو انتخاب میکنیم. حالا در بین جدولها دنبال جدولی به اسم wp_options یا هر چیزی که شبیه به این اسم باشه بگردید. نکته مهم اینجاست که ممکنه پیشوند جدولهای وردپرس شما چیزی به جز wp_ باشه، مثلاً mysite_options. بنابراین فقط دنبال بخش «options» باشید.
وقتی جدول options رو باز میکنید، اولین رکوردی که به چشم میخوره، همون جاییه که آدرس سایت در اون ذخیره شده. این دو فیلد خیلی مهم هستن، siteurl و home.
معمولاً این دو تا کنار هم در ابتدای جدول قرار دارن. حالا باید آدرس قدیمی سایتتون که مثلاً mihanmanesh.com بوده رو به آدرس جدید، یعنی mihanmanesh.ir تغییر بدید.
کافیه روی دکمه Edit یا «ویرایش» کنار هر کدوم کلیک کنید. بعد در فیلد مربوط به آدرس، دامنه قدیمی رو پاک کنید و دامنه جدید رو دقیقاً با همون ساختار وارد کنید. اگر سایتتون روی HTTPS هست، حتماً به این نکته دقت کنید که آدرس جدید رو با https:// بنویسید، چون کوچکترین اشتباه توی این بخش میتونه باعث بشه سایت درست لود نشه. برای مثال قدیم: http://mihanmanesh.com ، جدید: https://mihanmanesh.ir.
بعد از ذخیره کردن تغییرات، هم siteurl و هم home باید به دامنه جدید اشاره کنن. این یعنی وردپرس حالا میدونه که دیگه باید سایت رو از روی آدرس جدید بارگذاری کنه.
در همین جدول options میتونید یه سری تغییرات دیگه هم انجام بدید، مثل ویرایش اسم سایت یا حتی آدرس ایمیل مدیر سایت. مثلاً اگر قبلاً ایمیل مدیر سایت info@mihanmanesh.com بوده، میتونید اینجا اون رو به info@mihanmanesh.ir تغییر بدید تا همه چیز هماهنگ با دامنه جدید بشه.
نکته خیلی مهم اینه که تغییرات رو با دقت انجام بدید. چون اگه حتی یه حرف رو اشتباه وارد کنید، ممکنه سایت کلاً بالا نیاد و مجبور بشید دوباره وارد phpMyAdmin بشید تا مشکل رو درست کنید.
حالا که آدرس دامنه رو در دیتابیس بهروزرسانی کردیم، سایت شما از نظر ساختاری آماده کار روی دامنه جدیده. اما هنوز ممکنه بعضی لینکهای داخلی یا تصاویر در محتوای سایت همچنان به آدرس قدیمی اشاره کنن. در ادامه بهتون میگم که چطور به صورت کامل همه این لینکها رو هم به دامنه جدید تغییر بدید تا سایت بینقص کار کنه.
رفع خطاهای رایج بعد از انتقال سایت به دامنه جدید
خب حالا که فایلها و دیتابیس رو منتقل کردیم و تنظیمات wp-config رو هم انجام دادیم، وقتشه سایت رو روی دامنه جدیدمون تست کنیم. مثلا ما توی این آموزش سایتی داشتیم روی دامنه mihanmanesh.com و اون رو آوردیم روی mihanmanesh.ir. طبیعیه که اولین کاری که میکنیم اینه که مرورگر رو باز کنیم و آدرس جدید رو بزنیم تا ببینیم سایت بالا میاد یا نه.
اما ممکنه همون اول کار با خطایی مثل 403 Forbidden روبهرو بشیم. این خطا به این معنیه که دسترسی به فایلهای سایت درست نیست یا سرور به دلایلی اجازه نمایش محتوا رو نمیده. اولین چیزی که باید بررسی کنیم اینه که آیا DNS دامنهمون درست تنظیم شده یا نه. چون اگه DNS هنوز روی هاست قدیمی باشه یا به درستی به هاست جدید اشاره نکنه، طبیعتا سایت لود نمیشه. برای همین باید وارد کنترلپنل دامنه بشیم و مطمئن بشیم دیاناسها دقیقا همونهایی هستن که هاستینگ جدید بهمون داده.
حالا اگه DNS درست باشه و همچنان خطا داشته باشیم، خیلی وقتها مشکل از سطح دسترسی فایلهاست. به زبان ساده، فایلها و فولدرهای وردپرس باید مجوزهای دسترسی درستی داشته باشن تا سرور بتونه اونها رو اجرا کنه. مثلا معمولا پوشهها باید روی سطح دسترسی 755 و فایلها روی 644 باشن. اگه این تنظیمات به هم ریخته باشه، سرور اجازه اجرای فایلها رو نمیده و شما خطای 403 میبینید.
اینجا بهترین کار اینه که به هاستینگ تیکت بزنید و مشکل رو توضیح بدید. معمولا پشتیبانی هاست خیلی سریع این دسترسیها رو درست میکنه و سایت بدون مشکل بالا میاد. پس اصلا نگران نشید، این یکی از رایجترین مشکلات بعد از انتقال سایته و راهحلش هم خیلی سادهست.
نکته مهم اینه که بدونید بروز خطا بعد از انتقال سایت چیز عجیبی نیست. گاهی ممکنه مشکل از DNS باشه، گاهی از سطح دسترسی فایلها و حتی گاهی از کش مرورگر. مهم اینه که مرحلهبهمرحله بررسی کنید و عجله نکنید. وقتی این موارد درست بشن، سایت روی دامنه جدید بهراحتی بالا میاد و شما میتونید ادامه کار مثل ایمپورت دیتابیس و بررسی لینکهای داخلی رو انجام بدید.
حل مشکلات بعد از انتقال وردپرس
خب حالا به مرحله آخر رسیدیم؛ جایی که باید سایت رو روی دامنه جدید نهایی کنیم و مطمئن بشیم همهچیز درست کار میکنه. تا اینجای کار فایلها و دیتابیس رو منتقل کردیم، آدرس اصلی سایت رو هم در دیتابیس تغییر دادیم. اما ممکنه وقتی سایت رو روی دامنه جدید باز میکنید، با صحنهای عجیب مواجه بشید. مثلا قالب به هم ریخته باشه، عکسها لود نشن، یا حتی بعضی لینکها همچنان به آدرس قدیمی سایت اشاره کنن.
این مسئله کاملاً طبیعی و رایجه، پس اصلاً نگران نباشید. دلیلش اینه که بعضی افزونهها، برگهها، نوشتهها یا حتی ویجتهای وردپرس، آدرسهای قدیمی رو به صورت مستقیم داخل دیتابیس ذخیره میکنن. بنابراین حتی بعد از تغییر siteurl و home در جدول options، باز هم ردپای دامنه قدیمی توی بخشهای مختلف سایت باقی میمونه.
برای حل این مشکل بهترین راه استفاده از یک افزونه حرفهایه که کل دیتابیس رو جستجو میکنه و هر جا آدرس دامنه قبلی رو پیدا کنه، با آدرس دامنه جدید جایگزین میکنه. یکی از بهترین ابزارها برای این کار، پلاگین Better Search Replace هست که قبلاً هم در سایت میهن وردپرس معرفی شده.
برای شروع، وارد پیشخوان وردپرس سایت جدیدتون بشید. از بخش افزونهها > افزودن، عبارت Better Search Replace رو جستجو کنید و این پلاگین رو نصب و فعال کنید. اگر به هر دلیلی این پلاگین رو پیدا نکردید، میتونید به جای اون از پلاگین مشابهی به اسم Search & Replace هم استفاده کنید. اما پیشنهاد ما همون Better Search Replace هست چون محیط سادهتر و امکانات بیشتری داره.
اگر هنوز سایتتون به هم ریخته بود یا مشکلاتی مثل نمایش ناقص صفحات داشتید، ممکنه دلیلش یکی از پلاگینها باشه. برای رفع این موضوع، وارد پیشخوان وردپرس بشید و همه افزونهها رو به صورت موقت غیرفعال کنید. بعد یکییکی دوباره فعالشون کنید تا متوجه بشید کدوم افزونه باعث مشکل میشه.
همچنین اگر از پلاگینهای کش مثل WP Rocket یا LiteSpeed Cache استفاده میکنید، حتماً بعد از تغییر آدرسها، کش رو کامل خالی کنید. چون گاهی فایلهای کششده همچنان به دامنه قدیمی اشاره دارن و باعث نمایش اشتباه سایت میشن.
با انجام این مراحل، حالا سایت شما به صورت کامل و بدون هیچ مشکلی روی دامنه جدید آماده به کاره. همه لینکها، تصاویر، نوشتهها و تنظیمات بهروز شدن و سایت مثل قبل، اما این بار با آدرس جدید، در دسترس کاربران خواهد بود.
در این نقطه میتونید با خیال راحت کار انتقال رو تمام شده بدونید و به فعالیت روی سایت جدیدتون ادامه بدید. این روش نهتنها باعث میشه سایت بدون قطعی و مشکل منتقل بشه، بلکه از نظر سئو هم کمک میکنه تا گوگل سریعتر تغییرات رو تشخیص بده و رتبههای سایتتون حفظ بشه.
صحبت آخر
روشها و ابزارهای مختلفی وجود داره. شاید اسم پلاگینهای معروفی مثل Duplicator، All-in-One WP Migration یا حتی WP Importer به گوشتون خورده باشه. این افزونهها هر کدوم مزایا و معایب خودشون رو دارن و ممکنه در ظاهر به نظر برسه که کار رو خیلی ساده میکنن. اما واقعیت اینه که استفاده از این پلاگینها همیشه بدون دردسر نیست.
گاهی اوقات حجم بالای سایت یا محدودیتهای هاست باعث میشه که این پلاگینها به مشکل بخورن، نصفهکاره متوقف بشن یا حتی باعث خرابی بخشی از دیتابیس بشن. از همه مهمتر، در فرآیند انتقال، ما نیاز داریم همهچیز دقیق و شفاف پیش بره؛ از فایلها گرفته تا دیتابیس و آدرسهای داخلی سایت.
روشی که در این مقاله قدم به قدم با هم انجام دادیم، در عین سادگی، تمیزترین و مطمئنترین راه برای انتقال سایت وردپرسه. این روش به شما کنترل کامل میده؛ شما دقیقاً میدونید چه اتفاقی داره میافته، فایلها کجا ذخیره میشن، دیتابیس چطور منتقل میشه و در نهایت چه تغییراتی داخل دیتابیس اعمال میشه.
وقتی همه این مراحل رو دستی و با دقت انجام بدید، احتمال بروز خطا یا مشکل بعد از انتقال به حداقل میرسه. برتری بزرگ این روش اینه که شما به هیچ افزونه جانبی وابسته نیستید و حتی اگر هاستینگ شما محدودیت خاصی داشته باشه، باز هم میتونید فرآیند انتقال رو به راحتی انجام بدید.
حالا که با این روند آشنا شدید، هر زمان نیاز داشتید سایتتون رو به هاست یا دامنه جدید منتقل کنید، میتونید با اعتماد به نفس کامل این مراحل رو اجرا کنید و مطمئن باشید که همهچیز به بهترین شکل ممکن پیش خواهد رفت. این دقیقاً همون روشی هست که متخصصان حرفهای وردپرس برای جابهجایی سایتهای بزرگ و حساس استفاده میکنن. شاد و سربلند باشید. 🙂
سلام وقت بخیر
اگر بخوایم نام سایت رو عوض کنیم بهتره که اطلاعات را انتقال بدیم به دامنه جدید یا دامنه همون سایت رو با دامنه جدید عوض کنیم؟
سلام طبیعتا دامنه باید تغییر کنه اگه نیازه
سپاس شما خودتون تو میهن وردپرس همین کارو میکنید؟
خواهش میکنم. اگر بخوایم انتقال بدیم اره
سلام اقای راد
من یک چیزی شنیدم راجب وردپرس ایا درسته یا نه؟ اینکه وردپرس مقالات زیاد میزاری و بروزرسانی های زیاد انجام میدی Revisionیا همون نسخه ویرایش شده ذخیره میشه و حجم وردپرس زیاد میکنه چون همه تغییرات سیو میشه و باعث کندی هاست و دیتابیس میشه راسته و راهکار چیه اگر امکانش هست یک ویدیو راجب این موضوع بسازید که چطوری جلوگیری کنیم و چطوری Revision هار حذف کنیم
سلام درسته. آموزشش تو سایت هست. حذف رونوشت ها
من تقریبا یک ساله که با شما آشنا شدم و مثل همیشه عالی
سپاس از شما