
به اشتراک بگذارید
آموزش وردپرس | بلاگ وبداده
انتقال وردپرس از لوکالهاست WAMP به هاست سیپنل
- سه ستون انتقال: هر مهاجرت وردپرس شامل سه چیز است؛ فایلها، دیتابیس و ویرایش فایل
wp-config.php. - اول بکاپ، بعد حرکت: پیش از هر کاری از فایلها و دیتابیس لوکال یک نسخهی کامل بگیرید تا راه بازگشت داشته باشید.
- خطر دادهی سریالایز: برای عوضکردن آدرسها هرگز از
REPLACEخام SQL استفاده نکنید؛ دادهی Serialized خراب میشود. - دو مسیر ممکن: میتوانید همهچیز را دستی جابهجا کنید یا با افزونههایی مثل Duplicator و All-in-One کار را ساده کنید.
- DNS آنی نیست: بعد از انتقال، تغییر نیمسرور دامنه تا ۴۸ ساعت طول میکشد تا در همهجا اعمال شود.
در یک نگاه
wp-config.php. اگر ترتیب را رعایت کنید و بکاپ داشته باشید، ریسک تقریباً صفر است. بستر سیپنل و پشتیبانی راهاندازی وردپرس را میتوانید از وبداده بگیرید.انتقال وردپرس از لوکال هاست چیست و چه زمانی لازم است؟
- پایان مرحلهی توسعه: سایت را لوکال ساختهاید و حالا میخواهید رسماً منتشرش کنید.
- تحویل به مشتری: پروژهای را روی سیستم خودتان ساختهاید و باید روی هاست مشتری بالا بیاورید.
- راهاندازی امن: ترجیح میدهید تغییرات بزرگ را اول لوکال تست کنید و بعد نسخهی نهایی را آنلاین کنید.
سه چیز جابهجا میشود، نه بیشتر
wp-content)، دیتابیس MySQL، و فایل wp-config.php که این دو را به هم وصل میکند. اگر این سه را درست منتقل کنید، سایت دقیقاً مثل نسخهی لوکال بالا میآید.
پیشنیازها: قبل از شروع اینها را آماده کنید
۱) بکاپ کامل
www) و یک خروجی SQL از دیتابیس، نسخهی پشتیبان بگیرید. این نسخه راه بازگشت شما در صورت هر مشکلی است.۲) اطلاعات هاست جدید
۳) ابزارهای کار
چرا بکاپ اینقدر مهم است؟
مراحل انتقال سایت به هاست سیپنل، گامبهگام
قدم اول: صادر کردن دیتابیس از WAMP
http://localhost/phpmyadmin بروید. از ستون سمت راست، دیتابیس وردپرس سایتتان را انتخاب کنید. سپس روی تب «Export» بزنید، حالت «Quick» و فرمت «SQL» را نگه دارید و «Go» را بزنید. یک فایل با پسوند .sql دانلود میشود که کل محتوای سایت شماست.قدم دوم: بستهبندی فایلهای سایت
C:\wamp64\www\نام-سایت). کل محتوای این پوشه را انتخاب و در یک فایل zip فشرده کنید. این آرشیو شامل هستهی وردپرس، قالبها، افزونهها و پوشهی مهم wp-content است.
قدم سوم: ساخت دیتابیس و کاربر در سیپنل
پیشوند نام در سیپنل
cpaneluser_wpdb). همین نام کاملِ پیشونددار را باید در wp-config.php بگذارید، نه نام کوتاهی که خودتان تایپ کردید.قدم چهارم: ایمپورت دیتابیس در سیپنل
.sql مرحلهی اول را انتخاب و «Go» را بزنید. پس از چند لحظه جدولهای سایت وارد دیتابیس میشوند. اگر دیتابیس شما حجیم است و با خطای حجم مواجه شدید، از پشتیبانی هاست بخواهید محدودیت آپلود را موقتاً بالا ببرند.قدم پنجم: آپلود و استخراج فایلها در public_html
public_html شوید (این پوشه ریشهی نمایش سایت است). فایل zip مرحلهی دوم را آپلود کنید، سپس روی آن راستکلیک کرده و «Extract» را بزنید. دقت کنید فایلها مستقیماً داخل public_html قرار بگیرند، نه در یک زیرپوشه.قدم ششم: ویرایش فایل wp-config.php
wp-config.php را در File Manager پیدا کنید، روی آن راستکلیک و «Edit» بزنید. سه مقدار مربوط به دیتابیس را با اطلاعاتی که در قدم سوم ساختید جایگزین کنید:<?php
// فایل wp-config.php روی هاست جدید — این سه مقدار را با اطلاعات دیتابیس سیپنل عوض کنید
define( 'DB_NAME', 'cpaneluser_wpdb' ); // نام دیتابیسی که در سیپنل ساختید
define( 'DB_USER', 'cpaneluser_wpuser' ); // یوزر دیتابیس با دسترسی ALL PRIVILEGES
define( 'DB_PASSWORD', 'YourStrongPassword' ); // پسورد همان یوزر
define( 'DB_HOST', 'localhost' ); // در بیشتر هاستهای سیپنل مقدار localhost درست استPHPمقدار DB_HOST را الکی عوض نکنید
localhost درست کار میکند. فقط در معدودی از هاستها که دیتابیس روی سرور جداست، باید آدرس اختصاصی هاست را بگذارید؛ این آدرس را از پشتیبانی یا مستندات هاست بگیرید.قدم هفتم: بهروزرسانی آدرسهای سایت
http://localhost/mysite داشت و باید همهجا به دامنهی واقعی تغییر کند. سادهترین شروع، اصلاح دو مقدار siteurl و home در جدول wp_options از طریق phpMyAdmin است تا بتوانید وارد پیشخوان شوید. اما آدرسهای داخل محتوا، لینکها و تنظیمات هم باید عوض شوند.# جایگزینی امن آدرسها در کل دیتابیس با WP-CLI (سریالایز را سالم نگه میدارد)
# ابتدا با dry-run تست کنید تا مطمئن شوید چه چیزی تغییر میکند:
wp search-replace 'http://localhost/mysite' 'https://example.com' --dry-run --precise --skip-columns=guid
# اگر خروجی درست بود، دستور واقعی را بدون dry-run اجرا کنید:
wp search-replace 'http://localhost/mysite' 'https://example.com' --precise --skip-columns=guidBashچرا REPLACE خام SQL ممنوع است؟
REPLACE ساده در SQL این شمارش را بهروز نمیکند و در نتیجه ویجتها، تنظیمات قالب و بخشی از دادهها خراب میشوند. همیشه از افزونه یا WP-CLI که سریالایز را درست پردازش میکنند استفاده کنید و ستون guid را دست نزنید.قدم هشتم: تغییر DNS و ریست پیوند یکتا
روش دستی یا افزونه؟ مقایسهی دو رویکرد مهاجرت
| معیار | روش دستی (phpMyAdmin + File Manager) | روش افزونه (Duplicator / All-in-One) |
|---|---|---|
| سطح مهارت لازم | متوسط؛ کار با دیتابیس و فایل | مبتدیپسند |
| کنترل روی جزئیات | کامل | محدودتر |
| مدیریت دادهی سریالایز | دستی (با ابزار search-replace) | خودکار هنگام import |
| مناسب برای | یادگیری و سایتهای سبک | سرعت و سایتهای استاندارد |
| ریسک خطای انسانی | بیشتر | کمتر |
| محدودیت حجم (نسخه رایگان) | بستگی به هاست | در دیتابیسهای خیلی بزرگ محدود |
جمعبندی جدول
عیبیابی پس از انتقال و نکات صادقانه
خطای «Error establishing a database connection»
wp-config.php اشتباه است. نام دیتابیس، یوزر و پسورد را (با همان پیشوند سیپنل) دوباره بررسی کنید. راهنمای کامل رفع این مشکل را در مطلب رفع خطای اتصال به دیتابیس نوشتهایم.صفحهی سفید یا بههمریختگی ظاهر سایت
تصاویر نمایش داده نمیشوند
wp-content/uploads کامل آپلود نشده یا آدرس تصاویر هنوز به لوکال اشاره میکند. کامل بودن پوشهی uploads را چک کنید و اگر لازم بود دوباره search-replace را اجرا کنید.معایب و محدودیتهایی که باید بدانید
مرجع: چرا نباید ستون GUID را تغییر داد؟
guid شناسهی یکتای هر نوشته در فید و خوانندههاست و «هرگز نباید محتوای آن تغییر کند»؛ به همین دلیل در دستورهای search-replace همیشه باید این ستون را نادیده گرفت. منبع: مستند رسمی wp search-replace در WP-CLI.میزبانی وردپرس روی هاست سیپنل وبداده
✅ دیتاسنترهای متنوع در ایران، هلند و آلمان برای انتخاب نزدیکترین لوکیشن به کاربران شما.
✅ کنترلپنل سیپنل بههمراه phpMyAdmin، File Manager و ابزار بکاپ برای انجام امنِ همین انتقال.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک در مهاجرت، ایمپورت دیتابیس و رفع خطاهای بعد از انتقال.
تجربهی پشتیبانی وبداده
wp-config.php را با نام پیشونددارِ سیپنل تطبیق میدهیم، بعد آدرسها را با ابزار امن search-replace بهروز میکنیم و در پایان نسخهی PHP سازگار را انتخاب میکنیم. همین چند قدم ساده، اکثر مشکلات بعد از مهاجرت را برطرف میکند.پرسشهای پرتکرار دربارهی انتقال وردپرس به سیپنل
آیا با انتقال از WAMP به هاست، اطلاعات سایتم از بین میرود؟
اگر پیش از شروع از فایلها و دیتابیس بکاپ کامل بگیرید، خیر. کل فرایند یعنی «کپی» کردن سایت روی هاست جدید؛ نسخهی لوکال شما دستنخورده باقی میماند و در صورت هر مشکلی میتوانید از نو شروع کنید.
مقدار DB_HOST را در wp-config.php چه بگذارم؟
در بیشتر هاستهای سیپنل مقدار localhost درست است، چون دیتابیس روی همان سرور سایت قرار دارد. فقط در هاستهایی که دیتابیس روی سرور جداست باید آدرس اختصاصی هاست را بگذارید که آن را از پشتیبانی یا مستندات هاست میگیرید.
چرا بعد از انتقال خطای اتصال به دیتابیس میگیرم؟
این خطا تقریباً همیشه یعنی نام دیتابیس، یوزر یا پسورد در wp-config.php اشتباه است. دقت کنید در سیپنل نام دیتابیس و کاربر پیشوند حساب شما را دارند (مثل cpaneluser_wpdb) و باید همان نام کاملِ پیشونددار را در فایل بگذارید.
برای عوضکردن آدرسها میتوانم مستقیم در SQL از REPLACE استفاده کنم؟
توصیه نمیشود. وردپرس بخشی از دادهها را سریالایزشده ذخیره میکند و 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 را اجرا کنید.
آیا برای این کار باید نسخهی PHP لوکال و هاست یکی باشد؟
لازم نیست دقیقاً یکی باشند، اما بهتر است نسخهی هاست برابر یا نزدیک به نسخهی لوکال و از نسخههای پشتیبانیشدهی وردپرس باشد. اختلاف زیاد نسخه میتواند خطای سازگاری در قالب یا افزونه ایجاد کند که باید جداگانه رفع شود.
جمعبندی و چکلیست نهایی انتقال
چکلیست سریع انتقال
✅ دیتابیس را از phpMyAdmin ویمپ خروجی گرفتم و در سیپنل ایمپورت کردم.
✅ در سیپنل دیتابیس و کاربر با ALL PRIVILEGES ساختم.
✅ فایلها را داخل public_html آپلود و استخراج کردم.
✅ سه مقدار دیتابیس را در wp-config.php درست کردم.
✅ آدرسها را با Better Search Replace یا WP-CLI بهروز کردم (بدون REPLACE خام).
✅ نیمسرور دامنه را تغییر دادم و پیوند یکتا را ذخیره کردم.
✅ خطای دیتابیس، تصاویر و نسخهی PHP را بررسی کردم.



