
به اشتراک بگذارید

به اشتراک بگذارید
آموزش وردپرس | بلاگ وبداده
انتقال وردپرس از لوکالهاست WAMP به هاست سیپنل
wp-config.php.REPLACE خام SQL استفاده نکنید؛ دادهی Serialized خراب میشود.wp-config.php. اگر ترتیب را رعایت کنید و بکاپ داشته باشید، ریسک تقریباً صفر است. بستر سیپنل و پشتیبانی راهاندازی وردپرس را میتوانید از وبداده بگیرید.wp-content)، دیتابیس MySQL، و فایل wp-config.php که این دو را به هم وصل میکند. اگر این سه را درست منتقل کنید، سایت دقیقاً مثل نسخهی لوکال بالا میآید.
www) و یک خروجی SQL از دیتابیس، نسخهی پشتیبان بگیرید. این نسخه راه بازگشت شما در صورت هر مشکلی است.http://localhost/phpmyadmin بروید. از ستون سمت راست، دیتابیس وردپرس سایتتان را انتخاب کنید. سپس روی تب «Export» بزنید، حالت «Quick» و فرمت «SQL» را نگه دارید و «Go» را بزنید. یک فایل با پسوند .sql دانلود میشود که کل محتوای سایت شماست.C:\wamp64\www\نام-سایت). کل محتوای این پوشه را انتخاب و در یک فایل zip فشرده کنید. این آرشیو شامل هستهی وردپرس، قالبها، افزونهها و پوشهی مهم wp-content است.
cpaneluser_wpdb). همین نام کاملِ پیشونددار را باید در wp-config.php بگذارید، نه نام کوتاهی که خودتان تایپ کردید..sql مرحلهی اول را انتخاب و «Go» را بزنید. پس از چند لحظه جدولهای سایت وارد دیتابیس میشوند. اگر دیتابیس شما حجیم است و با خطای حجم مواجه شدید، از پشتیبانی هاست بخواهید محدودیت آپلود را موقتاً بالا ببرند.public_html شوید (این پوشه ریشهی نمایش سایت است). فایل zip مرحلهی دوم را آپلود کنید، سپس روی آن راستکلیک کرده و «Extract» را بزنید. دقت کنید فایلها مستقیماً داخل public_html قرار بگیرند، نه در یک زیرپوشه.wp-config.php را در File Manager پیدا کنید، روی آن راستکلیک و «Edit» بزنید. سه مقدار مربوط به دیتابیس را با اطلاعاتی که در قدم سوم ساختید جایگزین کنید:localhost درست کار میکند. فقط در معدودی از هاستها که دیتابیس روی سرور جداست، باید آدرس اختصاصی هاست را بگذارید؛ این آدرس را از پشتیبانی یا مستندات هاست بگیرید.http://localhost/mysite داشت و باید همهجا به دامنهی واقعی تغییر کند. سادهترین شروع، اصلاح دو مقدار siteurl و home در جدول wp_options از طریق phpMyAdmin است تا بتوانید وارد پیشخوان شوید. اما آدرسهای داخل محتوا، لینکها و تنظیمات هم باید عوض شوند.REPLACE ساده در SQL این شمارش را بهروز نمیکند و در نتیجه ویجتها، تنظیمات قالب و بخشی از دادهها خراب میشوند. همیشه از افزونه یا WP-CLI که سریالایز را درست پردازش میکنند استفاده کنید و ستون guid را دست نزنید.| معیار | روش دستی (phpMyAdmin + File Manager) | روش افزونه (Duplicator / All-in-One) |
|---|---|---|
| سطح مهارت لازم | متوسط؛ کار با دیتابیس و فایل | مبتدیپسند |
| کنترل روی جزئیات | کامل | محدودتر |
| مدیریت دادهی سریالایز | دستی (با ابزار search-replace) | خودکار هنگام import |
| مناسب برای | یادگیری و سایتهای سبک | سرعت و سایتهای استاندارد |
| ریسک خطای انسانی | بیشتر | کمتر |
| محدودیت حجم (نسخه رایگان) | بستگی به هاست | در دیتابیسهای خیلی بزرگ محدود |
wp-config.php اشتباه است. نام دیتابیس، یوزر و پسورد را (با همان پیشوند سیپنل) دوباره بررسی کنید. راهنمای کامل رفع این مشکل را در مطلب رفع خطای اتصال به دیتابیس نوشتهایم.wp-content/uploads کامل آپلود نشده یا آدرس تصاویر هنوز به لوکال اشاره میکند. کامل بودن پوشهی uploads را چک کنید و اگر لازم بود دوباره search-replace را اجرا کنید.guid شناسهی یکتای هر نوشته در فید و خوانندههاست و «هرگز نباید محتوای آن تغییر کند»؛ به همین دلیل در دستورهای search-replace همیشه باید این ستون را نادیده گرفت. منبع: مستند رسمی wp search-replace در WP-CLI.wp-config.php را با نام پیشونددارِ سیپنل تطبیق میدهیم، بعد آدرسها را با ابزار امن search-replace بهروز میکنیم و در پایان نسخهی PHP سازگار را انتخاب میکنیم. همین چند قدم ساده، اکثر مشکلات بعد از مهاجرت را برطرف میکند.اگر پیش از شروع از فایلها و دیتابیس بکاپ کامل بگیرید، خیر. کل فرایند یعنی «کپی» کردن سایت روی هاست جدید؛ نسخهی لوکال شما دستنخورده باقی میماند و در صورت هر مشکلی میتوانید از نو شروع کنید.
در بیشتر هاستهای سیپنل مقدار localhost درست است، چون دیتابیس روی همان سرور سایت قرار دارد. فقط در هاستهایی که دیتابیس روی سرور جداست باید آدرس اختصاصی هاست را بگذارید که آن را از پشتیبانی یا مستندات هاست میگیرید.
این خطا تقریباً همیشه یعنی نام دیتابیس، یوزر یا پسورد در wp-config.php اشتباه است. دقت کنید در سیپنل نام دیتابیس و کاربر پیشوند حساب شما را دارند (مثل cpaneluser_wpdb) و باید همان نام کاملِ پیشونددار را در فایل بگذارید.
توصیه نمیشود. وردپرس بخشی از دادهها را سریالایزشده ذخیره میکند و REPLACE خام SQL شمارش کاراکتر آنها را خراب میکند. بهجای آن از افزونهی Better Search Replace یا دستور wp search-replace با فلگ precise استفاده کنید.
بستگی به هدف دارد. اگر میخواهید یاد بگیرید و سایتتان سبک است، روش دستی کنترل کامل میدهد. اگر سرعت و کمترین خطا برایتان مهم است، افزونههایی مثل Duplicator و All-in-One WP Migration کار را ساده میکنند؛ فقط به محدودیت حجم نسخهی رایگان دقت کنید.
انتشار DNS معمولاً بین چند ساعت تا ۴۸ ساعت طول میکشد. در این بازه ممکن است بعضی کاربران هنوز نسخهی قدیمی را ببینند. تا کاملشدن این فرایند صبور باشید و تغییرات مهم را انجام ندهید.
معمولاً یا آدرسهای قدیمی هنوز در دیتابیس ماندهاند یا نسخهی PHP هاست با سایت سازگار نیست. ابتدا search-replace را کامل انجام دهید و سپس از MultiPHP Manager در سیپنل نسخهی PHP مناسب (8.1 یا بالاتر) را انتخاب کنید.
کامل بودن پوشهی wp-content/uploads را بررسی کنید؛ اغلب این پوشه ناقص آپلود شده است. اگر پوشه کامل است اما تصاویر نمیآیند، آدرس آنها هنوز به لوکال اشاره میکند و باید دوباره search-replace را اجرا کنید.
لازم نیست دقیقاً یکی باشند، اما بهتر است نسخهی هاست برابر یا نزدیک به نسخهی لوکال و از نسخههای پشتیبانیشدهی وردپرس باشد. اختلاف زیاد نسخه میتواند خطای سازگاری در قالب یا افزونه ایجاد کند که باید جداگانه رفع شود.