Чому “ламаються” налаштування при перенесенні WordPress? Інколи після перенесення сайту на інший домен або хостинг користувачі помічають, що дизайн “злетів”, а поля в адмінпанелі стали порожніми.
Причина: WordPress зберігає багато налаштувань (віджетів, тем, плагінів) у вигляді серіалізованих даних. Це означає, що в базі даних записується не лише назва домену, а й кількість символів у ній. Якщо ви просто заміните old-site.com (12 символів) на new-site.com.ua (15 символів) через звичайний текстовий редактор, структура даних порушиться (“контрольна сума” не співпаде), і WordPress просто проігнорує цей рядок як пошкоджений.
Як перенести сайт коректно: два основні шляхи
1. Використання плагінів (Для новачків)
Це найнадійніший спосіб для тих, хто не хоче працювати з кодом. Плагіни на кшталт All-in-One WP Migration або Duplicator автоматично обробляють серіалізовані дані під час розгортання архіву на новому місці. Це не рекомендація до дії, а лише констатація факту, якщо не маєте потрібних знань – краще зверніться до спеціаліста.
2. Ручне перенесення (Професійний підхід)
Досвідчені спеціалісти роблять це швидше, але за суворим алгоритмом:
- Архівування: Створення архіву файлів та експорт бази даних (SQL) зі старого сервера.
- Завантаження: Перенесення файлів та імпорт бази даних на новий сервер “як є” (зі старими шляхами).
- Конфігурація: Редагування файлу wp-config.php для підключення до нової бази даних.
- Корекція бази даних (Критичний крок): Замість текстового редактора використовується скрипт Search-Replace-DB або консольна утиліта WP-CLI. Тільки вони здатні замінити домен, одночасно перерахувавши довжину рядків у серіалізованих масивах.
Важливо: Не рекомендуємо використовувати “Пошук та заміну” в звичайних текстових редакторах для SQL-файлів WordPress, якщо ви змінюєте довжину домену або шляху до сервера. Це найкоротший шлях до втрати налаштувань теми.
Перенесення сайту, коли контрольна сума не сходиться
Більшість налаштувань теми WordPress зберігаються в базі даних у вигляді серіалізованих масивів. У такому форматі кожне текстове значення супроводжується вказівкою його точної довжини (кількості символів).
Наприклад, доменне ім’я є частиною цих налаштувань. Якщо ви зміните адресу сайту на іншу, що має іншу кількість літер, структура масиву порушиться, і WordPress “втратить” налаштування теми. Звичайна заміна тексту (Copy-Paste) у базі даних тут не спрацює, оскільки потрібно одночасно оновлювати й лічильники символів.
Для коректного перенесення існують готові рішення, які автоматично перераховують довжину рядків під час заміни. Найпопулярнішим інструментом є скрипт Search-Replace-DB (актуальна версія v4.1.2), який дозволяє безпечно оновлювати базу даних без ризику пошкодити серіалізовані дані.
Інструкція з використання Search-Replace-DB для WordPress
Дане рішення дозволяє безпечно замінити старий домен на новий у всій базі даних, зберігаючи цілісність серіалізованих масивів.
Порядок дій:
- Резервне копіювання: Обов’язково створіть повний бекап бази даних перед початком робіт.
- Підготовка скрипту: Завантажте актуальну версію скрипту та розпакуйте його в окрему папку в кореневій директорії вашого сайту (наприклад, /tools-rename/).
- Доступ до панелі: Відкрийте скрипт у браузері за адресою: vash-sait.com/nazva-papky/.
- Налаштування підключення: Введіть дані для доступу до бази даних (якщо скрипт у папці сайту, він зазвичай підтягне їх з wp-config.php автоматично). Натисніть Test connection, щоб перевірити зв’язок.
- Пошук та заміна: * У полі “search for” вкажіть стару адресу.
- У полі “replace with” — нову.
- Параметр regex (регулярні вирази) залиште вимкненим.
- Виберіть усі таблиці бази даних.
- Виконання: * Спочатку натисніть Dry Run (тестовий запуск), щоб побачити кількість майбутніх замін без внесення змін.
- Якщо все вірно, натисніть Live Run.
- Завершення: Перевірте роботу сайту за новою адресою.
- ВАЖЛИВО: Після завершення роботи обов’язково натисніть кнопку Delete me у самому скрипті або видаліть папку зі скриптом із сервера вручну. Залишати цей інструмент на сайті категорично заборонено з міркувань безпеки.
