آموزش تغییر یا انتقال دامنه وردپرس
وردپرس بر خلاف برخی دیگر از سیستمهای مدیریت محتوا، به مسیری که نصب میشود وابسته است و تغییر دامنه وردپرس یا انتقال از لوکال هاست به هاست اصلی تنها با کپی کردن فایلها و پایگاه داده امکانپذیر نیست. پس از نصب وردپرس روی لوکالهاست، طراحی سایت با وردپرس، برای تغییر دامنه وردپرس انجام مراحلی الزامی است.
در ادامه فهرست مراحل مورد نیاز برای «انتقال وردپرس از لوکال به هاست» یا از دامنه قدیمی به دامنه جدید را مشاهده خواهید کرد. این مراحل برای هرگونه انتقال وردپرس از جمله انتقال از هاست به لوکال نیز یکسان است.
برای انتقال وردپرس از لوکال به هاست یا از دامنهای به دامنهی دیگر، ابتدا فایل ها را فشرده کرده و به هاست منتقل کنید.
برای بانک اطلاعاتی نیز، با استفاده از phpMyAdmin یا هر ابزار دیگر، پشتیبان گرفته، و به پایگاه داده جدید منتقل نمایید.
پس از انجام انتقال فایلها و پایگاه داده، باید wp-config.php را ویرایش کنید و بخش های زیر را تغییر مطابق نیاز تغییر دهید:
1 2 3 4 5 6 7 8 9 10 11 |
/** The name of the database for WordPress */ define('DB_NAME', 'DB_NAME'); /** MySQL database username */ define('DB_USER', 'root'); /** MySQL database password */ define('DB_PASSWORD', ''); /** MySQL hostname */ define('DB_HOST', 'localhost'); |
تغییر نام دامنهی قدیمی( یا localhost ) به دامنهی جدید
توجه: پیش از انجام این مرحله از سایت خود پشتیبان تهیه کنید. انجام نادرست این مرحله ممکن است باعث آسیب دیدن جدی اطلاعات سایت شما شود.
برای این کار میبایست از ابزار Search Replace DB استفاده کنید. پس از دانلود برنامهی مورد نظر به صورت zip، آن را در شاخهای با نام دلخواه داخل شاخهی وردپرس خود استخراج کنید و فایل index.php را که در آن شاخه قرار گرفته اجرا کنید. چنانچه مراحل را به درستی انجام دهید، تنظیمات بانک اطلاعاتی وردپرس به صورت خودکار در فیلدهای مربوط به بانک اطلاعاتی پر خواهند شد.
در قسمت replace آدرس فعلی، و در قسمت with، آدرس جدید را وارد نمایید. بهترین روش آدرسدهی به صورت حداقلی است( از نوشتن http و پیشوند و پسوند در ابتدا و انتهای آدرس مبدا و مقصد خودداری کنید ). برای نمونه به مثال زیر توجه کنید:
1 2 |
replace : localhost/rokaweb with : rokaweb.ir |
در بخش tables، به صورت پیشفرض روی all tables قرار دارد، آن را تغییر ندهید. در هنگام انتقال وردپرس شبکه، لازم است تا جدولهای هدف به طور دقیق انتخاب شوند.
اگر روی دکمه «dry run» کلیک کنید، تعداد جدولهایی که تغییر میکنند را مشاهده میکنید ولی تغییری روی بانک اطلاعاتی شما انجام نخواهد شد.
با کلیک روی «live run» عملیات جایگزین کردن آدرسهای قدیمی با آدرسهای جدید شروع میشود. در حین عملیات، فرآیندهای در حال اجرا و جدولهایی که عبارت مورد نظر در آن یافت شده، برای شما فهرست خواهند شد.
پیام خطا
اگر هنگام استفاده از ابزار بالا با پیام خطای زیر مواجه شدید:
1 2 3 4 |
The script encountered an error while running an AJAX request. If you are using your hosts file to map a domain try browsing via the IP address directly. If you are still running into problems we recommend trying the CLI script bundled with this package. See the README for details. |
علت خطای بالا ممکن است فعال نبودن افزونه mbstring روی هاست باشد. فعال کردن این افزونه ممکن است از طریق پنل هاست یا ثبت تیکت برای شرکت میزبانی امکان پذیر باشد.
عبارتهای مشابه دیگر
برخی از افزونههای وردپرس ممکن است مسیرهای سایت را که حاوی ممیز «/» هستند به صورت رشتههای php در پایگاه داده ذخیره کنند و در نتیجه یک ممیز وارو «\» پیش از علامت ممیز قرار بگیرد. اگر نشانی فعلی سایت شما حاوی ممیز است، بهتر است علاوه به جایگزینی در دفعهی نخست به شکل بالا، یک بار هم به صورت زیر جایگزینی را انجام دهید:
1 2 |
replace : localhost\/rokaweb with : rokaweb.ir |
اصلاح فایل htaccess
چنانچه در سایت وردپرس خود از آدرسهای سازگار با سئو استفاده کرده باشید( در بخش پیوندهای یکتا یا Permalinks )، وردپرس به صورت خودکار فایل htaccess سایت شما را ویرایش میکند. به ویژه هنگامی که سایت شما در لوکال راه اندازی شده باشد و مسیر قدیمی سایت دارای زیرشاخه باشد، فایل htaccess نیز میبایست ویرایش شود. برای این کار دو روش وجود دارد:
- ویرایش دستی فایل htaccess و حذف بخشهایی که مربوط به نام شاخهی لوکال یا دامنهی قدیمی است و جایگزینی آن با دامنهی جدید
- مراجعه به بخش مدیریت وردپرس، سپس پیوندهای یکتا و در نهایت ذخیرهی مجدد تنظیمات این بخش برای بازنویسی خودکار فایل htaccess
انتقال وردپرس شبکه
برای انتقال وردپرس شبکه از لوکال به هاست، لازم است تا علاوه بر موارد فوق، تغییرات دیگری در فایل wp-config و همچنین جدول sites در پایگاه داده به انجام برسند. سادهترین راه برای یافتن محلهای لازم جهت تغییر در این دوفایل، جستجوی نام دامنهی قدیمی یا localhost در فایل و پایگاه داده است.
افزونههای Cache
برخی از افزونهها که برای افزایش سرعت و کارایی وردپرس ایجاد شدهاند، ممکن است بخشهایی از سایت شما را در فایل یا پایگاه داده ذخیره کنند و پس از انتقال سبب ایجاد مشکلات در عملکرد سایت شوند. راه حل این مشکل به یکی از دو شیوهی زیر خواهد بود.
- غیرفعال کردن افزونهی مورد نظر روی لوکال یا دامنهی قدیمی و فعال سازی مجدد پس از تکمیل انتقال
- حذف فایلها یا موارد ذخیره شده در پایگاه داده پس از انتقال به دامنهی جدید
استفاده از افزونهی Muffin Builder
افزونهی Muffin Page Builder اطلاعات خود را به صورت کدگذاری شده در پایگاه داده ذخیره میکند و با روش فوق، این اطلاعات به درستی اصلاح نمیشوند. برای اصلاح این اطلاعات لازم است تا پیش از تغییر آدرس با اسکریپت بالا، ابتدا روی phpMyAdmin کوئری زیر را اجرا کنید تا اطلاعات به حالت متنی تبدیل شوند و پس از پایان آنها را به شکل قبلی برگردانید:
مرحلهی اول پیش از جایگزین کردن آدرس:
1 |
UPDATE `wp_postmeta` SET meta_value = from_base64( meta_value ) where meta_key = 'mfn-page-items' |
مرحلهی دوم پس از جایگزین کردن آدرس:
1 |
UPDATE `wp_postmeta` SET meta_value = to_base64( meta_value ) where meta_key = 'mfn-page-items' |
نکته مهم امنیتی
پس از اینکه مطمئن شدید مراحل به درستی انجام شده است حتما فایلهای Search Replace DB را با کلیک روی دکمهی «Delete me» یا به صورت دستی از طریق پنل یا ftp سایت، حذف نمایید.
باقی ماندن فایلهای این برنامه روی سرور یک اشکال امنیتی جدی و خطرناک برای سایت شما خواهد بود.
وضعیت سئو هنگام تغییر دامنه سایت
تغییر دامنهی سایت بدون در نظر گرفتن مسائل مربوط به سئو، سبب از دست رفتن تلاشهای گذشته و نیاز به شروع ازنو خواهد بود. اگر قصد انتقال سایت وردپرس خود از دامنهی قدیمی به دامنهی جدید را دارید، میبایست چند مورد را در سایت قدیمی و جدید خود اعمال کنید تا گوگل و سایر موتورهای جستجو بتوانند رتبهی قبلی شما را به دامنهی جدید منتقل نمایند. برای کسب اطلاعات بیشتر، اینجا کلیک کنید.
مشکلات مربوط به نام فایلها
انتقال فایلهایی که در آن از نامهای فارسی( یونیکد ) استفاده شده است، میان سرورهای مختلف و به دلیل عدم پشتیبانی سرورها یا فشردهسازهای موجود روی پنل سایت، ممکن است با مشکلاتی مواجه باشد. بنابراین اگر قصد انتقال سایت یا حتی تهیهی پشتیبان فشرده از فایلهای خود را دارید، از انتخاب نامهای فارسی( یونیکد ) برای فایلهای آپلودی خودداری کنید. هرچند این مشکل در اغلب موارد قابل حل است ولی برطرف کردن آن ممکن است مستلزم صرف زمان و با موانعی همراه باشد.
حل مشکلات در انتقال وردپرس
در شرایط خاص که از افزونههای متعددی روی سایت استفاده کنید، ممکن است انتقال کامل سایت به دامنهی جدید به سادگی امکانپذیر نباشد. برای مثال هنگامی که از برخی افزونههای Page Builder استفاده میکنید، ممکن است لینک به صفحات دامنهی قبلی همچنان روی سایت شما باقی بماند. برای حل این گونه مشکلات، با ما تماس بگیرید.
ببخشید یک سوال که هرچی تو نت گشتم نبود
ما تو لوکال افزونه زیادی نصب و حذف میکنیم و دیتابیس سنگین میشه حالا همین دیتابیس رو ببریم رو هاست اصلی خیلی سنگینه چیکار کنیم راهی نیست
با سلام
اگر میخواهید سایت شما سبک باشد، راهی نیست جز اینکه بعد از حذف افزونهها، موارد اضافی را پاکسازی کنید. حذف تمام تغییرات افزونهها ممکن است همیشه امکانپذیر یا آسان نباشد
در نتیجه برای یک سایت مهم بهترین کار این است که نصب و حذف افزونهها با دقت بالا و در حداقل دفعات ممکن انجام شود
باسلام
یه سوالی داشتم. بعد از ثبت لوکال هاست قصد خرید دامنه داشتم که متوجه شدم قبلا ثبت شده.
چطور می تونم اسم سایت رو روی لوکال هاست تغییر بدم تا بتونم دامنه بخرم؟
اموزش شما برای تغییر اسم سایت بعد از ثبت هاست است. ممنون میشم راهنمایی نمایید
با سلام
متوجه منظور شما نشدم، روی لوکال هاست که دامنهای نیاز نیست، اگر منظور شما روی هاست باشد، ابتدا باید از شرکت هاستینگ بخواهید که اسم دامنهی اصلی هاست شما را تغییر دهند و سپس با استفاده از دستورالعملهای بالا، نام دامنهی جدید را در پایگاه داده جایگزین کنید