ویرگول
ورودثبت نام
آرمان راد
آرمان رادوردپرس و زیرساخت وب می‌نویسم. تجربه‌های واقعی از هاست، دیتابیس و راه‌اندازی سایت برای کسی که می‌خواد کمتر خطا کند.
آرمان راد
آرمان راد
خواندن ۳ دقیقه·۴ روز پیش

یادداشتهای من از انتقال دهها سایت وردپرسی از سیپنل؛ جاهایی که همیشه گیر میکنم

انتقال سایت را دوست ندارم. نه چون سخت است بلکه چون همیشه یک چیز کوچک یادم میرود که بعد از تغییر DNS خودش را نشان میدهد. بعد از چند بار یک فهرست یادداشت برای خودم درست کردم. اینجا همان را با کمی توضیح میگذارم.

قبل از دست زدن به هر چیزی

این پنج مورد را از هاست فعلی یادداشت میکنم:

  1. نسخه PHP که سایت الان رویش اجرا میشود

  2. اسم دیتابیس و پیشوند جدولها از فایل wp-config.php

  3. حجم کل فایلها و دیتابیس

  4. کرون جابهایی که در سیپنل تعریف شده

  5. ایمیلهای دامنه اگر روی همان هاست است

مورد اخر را یک بار فراموش کردم. DNS را عوض کردم و ایمیلهای شرکت مشتری دو روز به جایی نمیرسید. هاست جدید وردپرس فقط سایت را میزبانی میکرد و رکوردهای MX باید جداگانه تنظیم میشد.

فول بکاپ یا انتقال دستی

اگر هاست مقصد از بازیابی فول بکاپ سیپنل پشتیبانی کند سادهترین راه همین است. از بخش Backup در سیپنل یک فول بکاپ میگیرم فایل را دانلود میکنم و در مقصد بارگذاری میکنم.

ولی بیشتر وقتها انتقال دستی را ترجیح میدهم چون کنترل بیشتری میدهد و فایلهای اضافه سالها مانده را جا میگذارم.

انتقال دستی قدم به قدم

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

دیتابیس. از phpMyAdmin خروجی SQL میگیرم. برای دیتابیس بزرگ اگر دسترسی ترمینال دارم با mysqldump کار میکنم چون phpMyAdmin گاهی وسط کار قطع میشود.

mysqldump -u USER -p --default-character-set=utf8mb4 DBNAME > site.sql

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

مقصد. فایلها را بارگذاری و باز میکنم دیتابیس جدید میسازم SQL را وارد میکنم و اطلاعات تازه را در wp-config.php میگذارم.

تست قبل از تغییر DNS

این مهمترین بخش است. با ویرایش فایل hosts روی کامپیوتر خودم دامنه را به ایپی سرور جدید اشاره میدهم. اینطوری فقط من سایت را از مقصد میبینم و بقیه هنوز سایت قدیمی را میبینند.

چیزهایی که تست میکنم:

  • ورود به پنل مدیریت

  • چند نوشته و برگه با تصویر

  • فرم تماس و ارسال ایمیل

  • اگر فروشگاه است یک سفارش ازمایشی تا مرحله درگاه

  • پیوندهای یکتا

اگر دامنه عوض میشود

اگر ادرس سایت هم تغییر کرده Find و Replace ساده روی فایل SQL خطرناک است. وردپرس بعضی دادهها را سریالشده ذخیره میکند و طول رشته داخل داده نوشته شده. عوض کردن متن بدون اصلاح طول تنظیمات ویجتها و قالب را خراب میکند. برای این کار از wp search-replace در WP-CLI یا ابزارهایی که داده سریالشده را میفهمند استفاده میکنم.

تغییر DNS و روزهای اول

چند روز قبل از انتقال TTL رکوردهای دامنه را پایین میاورم تا تغییر سریعتر منتشر شود. بعد از تغییر هم هاست قدیمی را چند روز نگه میدارم. اگر در این فاصله کسی دیدگاه یا سفارشی روی سایت قدیمی ثبت کرده باشد دستی منتقلش میکنم.

خطاهایی که بعد از انتقال دیدهام

  • خطای اتصال به دیتابیس به خاطر اشتباه در wp-config.php

  • خطای ۵۰۰ به خاطر فایل htaccess که دستورهای مخصوص هاست قبلی داشت

  • تصاویری که بارگذاری نمیشوند چون ادرسها هنوز به دامنه یا مسیر قدیمی اشاره دارند

  • هشدار Mixed Content بعد از راهاندازی SSL

جمع بندی

قبل از عوض کردن DNS همهچیز را با فایل hosts تست کنید و ایمیل دامنه را جدا از هاست وردپرس ببینید. این دو مورد بیشتر از هر چیز دیگری بعد از انتقال دردسر درست کردهاند.

سایتهای کوچک و متوسط مشتریهایم را این روزها روی اکو وردپرس پاستاکلود میبرم چون بکاپ روزانه و SSL و انتخاب نسخه PHP را یکجا دارد و هر سایت پنل جدای خودش را دارد. اگر قصد مهاجرت دارید اول یک سایت ازمایشی منتقل کنید و بعد بقیه را بیاورید.

شما اخرین باری که سایت وردپرس منتقل کردید کجا گیر کردید؟

سی پنلهاست وردپرسوردپرس
۱
۰
آرمان راد
آرمان راد
وردپرس و زیرساخت وب می‌نویسم. تجربه‌های واقعی از هاست، دیتابیس و راه‌اندازی سایت برای کسی که می‌خواد کمتر خطا کند.
شاید از این پست‌ها خوشتان بیاید