آموزش انتقال وردپرس از یک هاست به هاست دیگر
روشهای مختلفی برای انتقال وردپرس از یک هاست به هاست دیگر وجود دارند که به کمک آنها میتوانید سایت خود را به هاست دیگری منتقل کنید. به عنوان نمونه ممکن است شما در حال حاضر هاستی با کنترل پنل دایرکت ادمین داشته باشید که به دلیل محدودیتهای موجود در این کنترل پنل و امکاناتی که به آنها نیاز دارید، لازم است هاست خود را به سی پنل تغییر دهید.
یا اینکه گاهی اوقات افراد برعکس این عمل میکنند و بخاطر هزینه بالایی که کنترل پنل دایرکت ادمین دارد، ترجیح میدهند از کنترل پنل ارزانتری همچون دایرکت ادمین استفاده کنند. چرا که نیاز به امکانات آنچنانی نداشته و از سوی دیگر بیشتر کارهای لازم را از طریق FTP و سایر ابزارهای موجود استفاده میکنند.
در ادامه این مقاله از وبلاگ سون هاست قصد دارم به معرفی دو روش برای انتقال وردپرس بپردازم. شما با استفاده از این دو روش میتوانید سایت وردپرسی خود را به راحتی به هاست جدید با امکانات و منابع بیشتر منتقل کنید.
آموزش انتقال وردپرس از یک هاست به هاست دیگر با دو روش
این انتقال میتواند دلایل زیاد دیگری هم داشته باشد که این موضوع به خودتان بستگی دارد. روش اول بیشتر جنبه معرفی دارد و چون معمولا شرکتهای هاستینگ این کار را رایگان انجام میدهند، ضرورتی به توضیح کامل آن نمیبینم. اما در روش دوم که روش دستی است به بررسی تخصصی این روش میپردازم.
البته یک روش سومی هم وجود دارد که میتوانید با ساخت بسته نصبی آسان وردپرس از طریق افزونه داپلیکیتور این کار را هم انجام دهید. چون این افزونه یک افزونه محبوب برای این کار بوده و برای اهداف مختلف دیگری هم مورد استفاده قرار میگیرد، در روزهای آتی در قالب یک مقاله جداگانه به آموزش افزونه داپلیکیتور میپردازم.
روش اول: انتقال به صورت فول بکاپ از طریق هاست
در این روش میتوانید یک فول بکاپ از هاست خود تهیه کنید که نه تنها کلیه اطلاعات دیتابیس و وردپرس قابلیت انتقال به هاست دیگر را خواهند داشت، بلکه اطلاعات دیگری نظیر ایمیلها، آمار و ارقام ثبت شده در سی پنل، تنظیمات ابزار مورد استفاده و… نیز ارسال خواهد شد.
برای این کار کافی است از قابلیت backup wizard سی پنل کمک بگیرید که پیش از این در آموزش بکاپ گیری و بازگردانی بک آپ به معرفی کامل این روش پرداختم و میتوانید از طریق این مقاله با این روش آشنا شوید.
اما از آنجایی که این روش هنگام خرید هاست جدید توسط شرکتهای هاستینگ همچون سون هاست به صورت رایگان بوده و در قالب«انتقال اطلاعات رایگان سایت» به هاست جدید ارائه میشود، شاید نیازی نباشد اصلا خود شما این کار را انجام دهید.
روش دوم: انتقال دستی وردپرس
در این روش خود شما باید فرآیند انتقال وردپرس از هاست قدیمی به هاست جدید را انجام دهید. از آنجایی که هدف ما صرفا انتقال وردپرس است و ضرورتی به انتقال ایمیلهای هاست شاید نداشته باشیم، تنها کارهایی که باید انجام دهید شامل مراحل پنج گانه زیر هستند که به ترتیب و به صورت تصویری توضیح دادهام.
در پایان نیز به معرفی خطاهای رایجی که ممکن است پس از انتقال برایتان رخ دهد پرداخته و راهکار حل این مشکلات را نیز مورد بررسی قرار دادم.
مرحله اول: خروجی گرفتن از دیتابیس سایت
در این مرحله باید به محیط مدیریت دیتابیس در هاست خود وارد شده و یک خروجی با فرمت sql. از دیتابیس خود تهیه کنید. برای این منظور کافی است پس از اینکه وارد هاست شدید، مشابه تصویر زیر روی گزینه phpmyadmin کلیک کنید.
در این صورت لیست دیتابیسهای شما مشابه تصویر زیر نمایش داده میشود که باید طبق شمارهگذاری تصویر زیر ابتدا از منوی سمت چپ روی دیتابیس مورد نطر کلیک کرده و سپس از منوی بالا روی Export کلیک کنید.
در نهایت روی دکمه Go کلیک کنید تا یک خروجی با فرمت sql. آماده شده و پس از اینکه پنجره دانلود نمایش داده شد آن را ذخیره کنید. در مراحل بعد قرار است این فایل را در دیتابیس هاست درون ریزی کنیم.
مرحله دوم: تهیه خروجی zip. از فایلهای سایت
در این مرحله باید وارد فایل منیجر هاست شده و از کلیه پوشهها و فایلهایی که متعلق به وردپرس هستند یک فایل خروجی با فرمت zip. تهیه کنید. برای این منظور ابتدا وارد هاست خود شده و سپس مشابه تصویر زیر روی گزینه File Manager برای ورود به مدیریت فایلهای هاست کلیک کنید.
پس از اینکه وارد این مسیر شدید باید روی public_html کلیک کنید تا روت اصلی هاست که فایلهای وردپرس در این بخش قرار دارند را ببینید. همانطور که در تصویر زیر مشاهده میکنید از نوار ابزار بالا روی SELECT ALL کلیک کرده و سپس گزینه COMPRESS را انتخاب کنید. یا اینکه میتوانید پس از انتخاب همه فایلها و پوشهها راست کلیک کرده و این گزینه را انتخاب کنید.
در این صورت مشابه تصویر زیر پنجرهای به شما نمایش داده میشود که میتوانید فرمت و نام فایل خروجی را انتخاب کنید. همانطور که در تصویر زیر مشاهده میکنید ابتدا فرمت خروجی را روی گزینه zip. قرار دهید. البته که میتوانید از فرمتهای دیگری مثل tar.zip. هم استفاده کنید که فشرده سازی بیشتری انجام گرفته و فایل خروجی با حجم کمتری تهیه خواهد شد.
سپس مسیر فایل را بدون تغییر روی همان حالت public_html قرار داده و در نهایت نام فایل را در صورت نیاز تغییر دهید. در اینجا نام فایل core.zip انتخاب شده است.
در نهایت روی دکمه compress file کلیک کرده و بسته به حجمی که کل فایلهای سایت شما دارد منتظر بمانید تا خروجی تهیه و به شما نمایش داده شود. با انجام این کار اگر مسیر public_html را باز کنید خواهید دید که فایل با نام و فرمت انتخابی اضافه شده است. این فایل را دانلود کنید تا در مراحل بعدی روی هاست جدید آپلود کنیم.
مرحله سوم: آپلود فایلها در هاست جدید
در مرحله قبلی ما از کلیه فایلها و پوشههای موجود سایت خود که در مسیر public_html قرار داشتند یک نسخه به صورت خروجی زیپ تهیه کردیم. حالا باید این فایل را درست در همان مسیر public_html آپلود کنیم. بنابراین مشابه تصویر زیر روی File Manager در هاست کلیک کرده و سپس به مسیر public_html مراجعه کنید.
حال همانطور که در تصویر زیر میبینید روی دکمه Upload کلیک کنید.
نکته: طبق تصویر بالا من چون قصد دارم این انتقال را در یک پوشه انجام دهم، فایلها را در پوشهای با نام wp آپلود کردم. در این صورت آدرس سایت من پس از انتقال به صورت ساب فولدر مانند site.com/wp خواهد بود. پس اگر قرار است وردپرس بر روی روت هاست و در مسیر اصلی نصب شود، شما باید این فایلها را در مسیر public_html آپلود و از حالت فشرده خارج کنید تا وردپرس در دامنه اصلی مثل site.com نصب شده باشد.
در این صورت صفحهای مشابه تصویر زیر نمایش داده میشود که باید فایل خود را برای آپلود انتخاب کرده و منتظر بمانید تا آپلود به صورت کامل انجام گیرد.
پس از اینکه آپلود شد به مسیری که فایل آپلود شده برگشته و با انتخاب و کلیک روی گزینه EXTRACT آن را از حالت فشرده خارج میکنیم.
که خروجی نهایی آن چیزی مشابه تصویر زیر بوده و همانطور که میبینید کلیه پوشهها و فایلهای وردپرس در مسیر نصب قرار دارند.
مرحله چهارم: ساخت دیتابیس در هاست جدید و درون ریزی آن
بسته به اینکه از هاست با چه کنترل پنلی استفاده میکنید، ابتدا وارد هاست جدید خود شده و به منویی که برای ساخت دیتابیس در نظر گرفته شده مراجعه کنید. من در این آموزش از هاست سی پنل استفاده میکنم، بنابراین برای ساخت دیتابیس وردپرس باید در بخش DATABASES روی MySQL Database Wizard کلیک کنیم.
همانطور که در تصویر زیر میبینید، فیلدی با عنوان Create New Database وجود دارد. نام دیتابیس جدید را در این کادر وارد کرده و سپس روی دکمه آبی Next Step کلیک کنید.
بعد از نمایش پیام سبز رنگ مبنی بر موفقیت آمیز بودن انتخاب نام برای دیتابیس، در این مرحله به قسمت MySQL Users هدایت میشوید که مشابه تصویر زیر از شما خواسته میشود اطلاعات دیتابیس را که شامل انتخاب نام کاربری و کلمه عبور است وارد کنید.
همانطور که در تصویر بالا میبینید در این مرحله اطلاعات را باید به شرح زیر تکمیل کنید:
- ابتدا در بخش Username یک نام کاربری برای دیتابیس خود انتخاب کنید. برای اینکه امنیت دیتابیس شما بالا باشد، پیشنهاد میکنم نام کاربری دیتابیس متفاوت از نامی باشد که برای دیتابیس در مرحله قبل انتخاب کردید.
- در کادر Password باید یک رمز عبور قوی برای دیتابیس خود انتخاب کنید. رمزی متشکل از اعداد، کاراکترهای خاص و حروف بزرگ و کوچک انگلیسی را انتخاب کنید. برای اینکه از یک رمز قوی استفاده کنید، پیشنهاد میکنم با کلیک روی دکمه PASSWORD GENERATOR از رمزی که سی پنل به صورت تصادفی تولید میکند استفاده کنید.
- در کادر Password(Again) دوباره رمزی که در مرحله قبل انتخاب کردید را وارد کنید.
- در نهایت روی دکمه Create User کلیک کنید تا نام کاربری و رمزی که برای دیتابیس انتخاب کردید ساخته شود.
در مرحلهی بعدی باید سطوح دسترسی را برای کاربر جدید فعال کنید که برای این منظور کافی است مشابه تصویر زیر تیک گزینه ALL PRIVILEGES را بزنید تا همه گزینهها انتخاب شوند و در نهایت روی دکمه Make Changes کلیک کنید.
در این صورت دیتابیس شما ساخته شده و یک پیغام سبز رنگ نیز به شما نمایش داده میشود.
اخطار: دقت کنید که حتما اطلاعاتی که در این مرحله شامل نام انتخابی دیتابیس، نام کاربری و رمز عبور بودند را در جایی یادداشت کنید؛ چرا که در مراحل بعدی به آنها نیاز داریم.
حالا به منظور درون ریزی دیتابیس که در مرحله اول از هاست قبلی آن را تهیه کردیم، مجددا به صفحه اصلی سی پنل در هاست جدید بازگشته و مشابه تصویر بالا در بخش DATABASES روی گزینه phpmyadmin کلیک کنید. در این صورت صفحهای مشابه تصویر زیر به شما نمایش داده میشود. در این مرحله باید دیتابیسی که همین چند دقیقه قبل ساختید را انتخاب کرده و سپس به منوی Import مراجعه کنید.
در نهایت همانطور که در تصویر بالا میبینید با کلیک روی دکمه Browse فایل SQL. که در مرحله اول از هاست قبلی از آن خروجی گرفتیم را انتخاب و با کلیک روی دکمه Go آن را در دیتابیس سایت درون ریزی کنید. که در این صورت باید مشابه تصویر زیر پیغام موفقیت آمیز بودن نمایش داده شود.
ضمن اینکه همانطور که در ستون سمت چپ میبینید، جداول وردپرس به این دیتابیس جدید که آن را درون ریزی کردیم اضافه شده است.
مرحله پنجم: ویرایش فایل wp-config.php
در این مرحله لازم است که اطلاعات دیتابیس که شامل نام، نام کاربری و رمز عبور است را از اطلاعاتی که برای هاست قدیمی بود به اطلاعات دیتابیس جدید که در مرحله قبل در هاست جدید ساخته و درون ریزی کردیم اصلاح کنیم. بنابراین به File Manager هاست رفته و در مسیر فایلهای وردپرس به دنبال فایلی با نام wp-config.php بگردید. سپس با انتخاب و کلیک روی دکمه EDIT مشابه تصویر زیر، به صفحه ویرایش این فایل هدایت شوید.
حال همانطور که در تصویر زیر میبینید، به ترتیب اطلاعات دیتابیس را که شماره گذاری کردم، به اطلاعاتی که در مرحله چهارم برای دیتابیس هاست جدید ساختید آپدیت کرده و روی دکمه SAVE کلیک کنید.
در نهایت پس از ذخیره کردن این فایل کار به اتمام رسیده و شما با موفقیت خودتان وردپرس را از یک هاست به هاست دیگر منتقل کردید.
مشکلات رایج هنگام انتقال وردپرس به هاست دیگر
در حین انجام انتقال وردپرس از یک هاست به هاست دیگر،، گاهی اوقات به دلیل تفاوتهایی که ممکن است در نرمافزارهای هاست، ایجاد برخی فایلها یا قابلیتهای موجود در هر دو هاست وجود داشته باشد، خطاهایی رخ میدهد که رایجترین آنها 404 شدن صفحات داخلی یا فعال نبودن SSL است. در ادامه به چگونگی رفع این مشکلات نیز میپردازم.
۴۰۴ شدن آدرس مطالب سایت
یکی از مشکلاتی که عموما ممکن است در هنگام انتقال وردپرس از یک هاست به هاست دیگر رخ دهد، 404 شدن لینکهای سایت است. یعنی وقتی ادرس سایت خود را باز میکنید، مشکل خاصی در صفحه اصلی ندارید، اما برای صفحات داخلی مثل نوشتهها، دستهبندی، برچسب، محصول و… این مشکل وجود دارد.
برای رفع مشکل 404 شدن لینکهای وردپرس پس از انتقال، کافی است فایل htaccess. که در مسیر نصب وردپرس قرار دارد را پاک کنید. سپس به منوی تنظیمات> پیوندهای یکتا در وردپرس رفته و بدون اینکه گزینهای را تغییر دهید یک بار روی دکمه ذخیره تغییرات کلیک کنید تا این فایل دوباره در هاست ساخته شود. با انجام این کار مشکل شکسته شدن لینک نوشتهها پس از انتقال نیز حل خواهد شد.
اگر هم حل نشد، ممکن است که یک فایل htaccess. به home هاست شما اضافه شده باشد. برای اطمینان از این موضوع کافی است پس از اینکه وارد file manager هاست سی پنل شدید، از منوی سمت چپ روی home کلیک کنید. در صورتی که فایل با نام htaccess. در این مسیر وجود داشت آن را پاک کنید.
در صورتی که پیوند یکتا را تغییر ندادید و همان حالت پیش فرض وردپرس است، پیشنهاد میکنم که با استفاده از مقاله بهترین ساختار پیوند یکتا وردپرس آن را به یک پیوند یکتا که از نظر کاربری خوانایی داشته و شامل آدرسهای کوتاهی نیز باشد تغییر دهید.
خطای SSL و باز نشدن سایت با HTTPS
برای رفع این مشکل کاری که باید انجام دهید نصب SSL بر روی هاست جدید است. اگر هاست خود را از شرکت سون هاست خریداری کردید، کار ساده است و طبق آموزشی که در مقاله آموزش فعال کردن ssl در هاست سی پنل تهیه کردیم این کار را انجام دهید.
اما اگر هاست خود را از شرکت دیگری خریداری کردید یا اینکه گواهینامه SSL شما به صورت پولی خریداری شده لازم است که آن را بر روی هاست جدید نصب کنید. برای این منظور میتوانید از پشتیبان هاست خود کمک بگیرید. در آینده حتما آموزشی در خصوص نصب گواهینامه SSL بر روی هاست تهیه خواهم نمود.
به محض اینکه گواهینامه امنیتی SSL به درستی در هاست جدید نصب شود، مشکل باز نشدن سایت با پروتکل https:// حل شده و بدون مشکل میتوانید به ادامه فعالیت در سایت خود با هاست جدید بپردازید.
جمع بندی و کلام آخر
در این مقاله به معرفی دو روش برای انتقال وردپرس از یک هاست به هاست دیگر پرداخته و به صورت کامل به شما آموزش دادم که چگونه سایت وردپرسی خود را به هاست جدید منتقل کنید. پیش از اینکه اقدام به انتقال سایت خود کنید مجددا باز هم در انتها لازم است به این نکته اشاره کنم که قبل از انجام هر کاری نسخه پشتیبان از هاست و فایلهای خود تهیه کنید.
چرایی این موضوع را در مقاله اهمیت بکاپ گیری از هاست مورد بررسی قرار داده و به مهمترین اتفاقاتی که در طول این ۵ سال برای کاربران رخ داده و باعث شد تا زحمات شبانه روزی آنها به دلیل عدم توجه به بکاپ گیری منظم از هاست از بین برود پرداختم که پیشنهاد میکنم حتما این مقاله را مطالعه کنید.
در پایان هر سوال یا مشکلی در خصوص انتقال وردپرس به هاست دیگر دارید خوشحال میشوم که به شما کمک کنم. میتوانید با مطرح کردن سوال خود از بخش نظرات همین پست گفتگو را آغاز کنید.
ممنون عالی بود
سلام وقت بخیر
من سایتمو از یک آدرس به آدرس دیگه انتقال دادم و همه این مواردو انجام دادم، صفحه اصلی سایت باز می شه اما وقتی روی منوها کلیک می کنم یا می خوام پیشخوان وردپرسو باز کنم، مجددا می ره روی آدرس قبلی و طبیعتا خطا می ده
می شه راهنمایی کنید که مشکلم چی هست؟
درود نوید جان
وارد هاست بشید و از phpmyadmin چک کنید که داخل جدول wp_options دو فیلد home URL و site URL روی دامنه جدید تنظیم شده باشند.
همچنین کوکی و کش مرورگر رو پاک کنید.
تمام مراحل رو مطابق اموزش طی کردم و ولی موقع ایمپورت دیتا بیس ارور زیر رو دریافت می کنم:
—
— Database: `*****************`
—
CREATE DATABASE IF NOT EXISTS `*****************` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
MySQL said: Documentation
#1044 – Access denied for user ‘**********’@’localhost’ to database ‘********************’
درود بر شما
خطای 1044 mysql زمانی ایجاد میشه که شما دسترسی لازم برای درونریزی رو نداشته باشید که عمدتا به منظور افزایش امنیت در هاستهای اشتراکی برای استفاده از %DatabaseName% اعمال میشه. برای رفع این مورد میتونید به ترتیب زیر عمل کنید:
بعد از انجام این مراحل حالا این فایل اصلاح شده رو درونریزی و تست کنید. احتمالا مشکلتون برطرف میشه.