До основного вмісту

Міграція WordPress на VDS ZevsHost

Міграція · 12.01.2025 · 4 хв читання
Ілюстрація до статті «Міграція WordPress на VDS ZevsHost»

Перенесення WordPress на VDS: порядок, при якому сайт не ляже

Перехід із віртуального хостингу на VDS відрізняється від переїзду між двома хостингами тим, що на VDS нічого не налаштовано заздалегідь: немає ні вебсервера, ні PHP, ні бази даних. Їх доведеться підняти до того, як копіювати файли. Нижче — обидва робочі способи і порядок, який не залишає сайт без доступу навіть на пару хвилин.

  1. Розгорніть на VDS LEMP або LAMP стек (Nginx/Apache + PHP-FPM + MySQL) тієї самої або новішої версії PHP, що й на старому хостингу.
  2. Скопіюйте файли сайту і зробіть дамп бази, не зупиняючи старий сайт.
  3. Імпортуйте базу і файли на VDS, налаштуйте віртуальний хост під тестовий домен або IP.
  4. Перевірте сайт на VDS через файл hosts, не чіпаючи DNS реального домену.
  5. Перемикайте DNS лише після того, як переконалися, що сайт працює коректно.

Спосіб 1: плагін All-in-One WP Migration

Підходить для сайтів до 512 МБ на безкоштовній версії плагіна — це ліміт на розмір експортованого архіву, встановлений самим плагіном.

  1. Встановіть плагін All-in-One WP Migration на старому сайті через адмінку WordPress.
  2. Експортуйте сайт: WP Migration → Export → File, дочекайтеся завантаження файлу .wpress.
  3. Встановіть чистий WordPress на VDS тієї самої версії, що й на старому сайті.
  4. Встановіть той самий плагін на новому сайті і імпортуйте файл через Import.
  5. Плагін сам оновить URL сайту в базі даних — вручну нічого міняти не потрібно.

Спосіб 2: ручне перенесення через mysqldump і rsync

Підходить для сайтів будь-якого розміру і дає більше контролю над процесом.

Файли

rsync -avz --progress -e ssh /var/www/old-site/ root@vds-ip:/var/www/new-site/

База даних

mysqldump -u user -p --single-transaction wordpress_db > wp_dump.sql
scp wp_dump.sql root@vds-ip:/root/
mysql -u user -p wordpress_db < wp_dump.sql

Заміна адреси домену в базі

Якщо тестуєте сайт під тимчасовою адресою, а не під бойовим доменом, посилання в базі потрібно замінити через WP-CLI, а не вручну через SQL — WordPress зберігає серіалізовані масиви, і звичайний UPDATE їх ламає.

wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables

Налаштування wp-config.php на новому сервері

define('DB_NAME', 'wordpress_db');
define('DB_USER', 'wp_user');
define('DB_PASSWORD', 'новий_пароль');
define('DB_HOST', 'localhost');

Порівняння способів перенесення

СпосібЛіміт за розміромПотрібен SSHКонтроль над процесом
All-in-One WP Migration (безкоштовно)до 512 МБнімінімальний
All-in-One WP Migration (Unlimited Extension)без обмеженнянімінімальний
Ручне перенесення (rsync + mysqldump)без обмеженнятакповний

Перевірка на VDS до перемикання DNS

echo "IP_ВАШОГО_VDS example.com www.example.com" | sudo tee -a /etc/hosts

Відкрийте сайт у браузері — він підключиться до VDS за доменом, при цьому реальні відвідувачі продовжать бачити старий хостинг. Перевірте вхід до адмінки, оформлення замовлення (якщо це інтернет-магазин на WooCommerce) і коректність завантаження зображень з wp-content/uploads.

Типові помилки після перенесення

СимптомПричина і рішення
Білий екран без помилокНе вистачає розширення PHP (зазвичай gd або mysqli) — встановіть на VDS те саме оточення, що було на старому хостингу
Помилка «Error establishing a database connection»Неправильні дані в wp-config.php або MySQL слухає не localhost, а сокет — перевірте DB_HOST
Зображення і стилі не завантажуютьсяУ базі лишилися старі посилання на домен — виконайте wp search-replace ще раз
404 на всіх сторінках, крім головноїНе налаштовані правила ЧПУ в Nginx/Apache — додайте try_files для Nginx або увімкніть mod_rewrite для Apache

Відкат у разі невдалого перенесення

  1. Не видаляйте сайт на старому хостингу, поки VDS не відпрацює щонайменше добу.
  2. Якщо після перемикання DNS сайт працює нестабільно, поверніть старі A-записи домену.
  3. Виправте проблему на VDS без поспіху і повторіть перевірку через hosts перед повторним перемиканням.

Коли цей спосіб не підходить

Якщо немає досвіду адміністрування сервера, самостійне налаштування LEMP-стека і подальша підтримка (оновлення PHP, безпека, резервні копії) потребують більше часу, ніж економія від переходу з хостингу. У такому разі розумніше замовити безкоштовну міграцію силами ZevsHost на керований VDS з готовою панеллю.

Перевірка результату

  • Порівняйте кількість записів у таблиці wp_posts на старому і новому сайті.
  • Перевірте, що всі плагіни активні і не потребують повторної активації ліцензії.
  • Прожене сайт через PageSpeed Insights — на VDS швидкість зазвичай вища, ніж на спільному хостингу.
  • Налаштуйте автоматичне резервне копіювання на новому сервері ще до перемикання DNS — див. статтю про синхронізацію і резервне копіювання через rsync.
Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці