Клієнт zero-downtime-migration — міграція сервера й домену без втрати трафіку
Роль Solo DevOps / Sysadmin
Період 2026
Стек
Linux Nginx Apache PHP 8.2+ MySQL MariaDB WP-CLI rsync Let's Encrypt Cloudflare SPF/DKIM/DMARC WordPress OpenCart Laravel

zero-downtime-migration — міграція сервера й домену без втрати трафіку

Огляд

Безшовне перенесення навантажених сайтів, інтернет-магазинів і корпоративних веб-сервісів — WordPress, OpenCart, Laravel та самописних систем — на новий сервер, VPS/VDS або на новий основний домен (ребрендинг, перехід на .ua чи .com.ua). Головне інженерне завдання — нуль простою: бізнес працює, корпоративна пошта працює, а вага в пошуку зберігається без циклічних редиректів.


Ризики й як їх знято

Ризик Як вирішується
Зміна DNS розходиться від кількох годин до доби, тож частина аудиторії не бачить сайт, а замовлення губляться TTL знижується до 300 с за добу до релізу, робиться фінальна дельта-синхронізація, і лише тоді перемикаються A-записи
Ламаються серіалізовані дані: опції й мета-поля WordPress зберігають домени у серіалізованому вигляді, а звичайний SQL REPLACE псує віджети, теми й налаштування плагінів Інструменти, що враховують серіалізацію, — wp-cli search-replace або кастомні скрипти для OpenCart і Laravel
Циклічні редиректи (ERR_TOO_MANY_REDIRECTS), коли одночасно міняються протокол, www і домен Одна перевірена конфігурація редиректів (.htaccess чи Nginx) і карта 301, що зберігає старе посилання
Поштові скриньки втрачають історію чи потрапляють у спам Пошта переноситься з історією; записи MX, SPF, DKIM і DMARC перевіряються й валідуються

Як це відбувається

Поточний production (A)
        │  rsync / SCP + mysqldump
        ▼
Новий сервер / staging (B)
  ├─ Nginx + PHP-FPM (OPcache) + MySQL / MariaDB
  ├─ безпечна заміна доменів через WP-CLI / Search-Replace-DB
  ├─ SSL (Let's Encrypt / Cloudflare)
  └─ повне тестування через запис у hosts
        │  TTL до 300 с + дельта-синхронізація
        ▼
Плавне перемикання DNS — нуль простою
  1. Цільове середовище й бекапи. Повний «холодний» бекап джерела (файлова система й дамп MySQL). Новий сервер налаштовується: Ubuntu 22.04 / 24.04, Nginx, PHP 8.2+, MariaDB / MySQL 8, ліміти пам’яті, тайм-аути й OPcache.
  2. База даних і заміна URL. База переноситься інструментами, що враховують серіалізацію, а в конфігураційних файлах (wp-config.php, config.php, .env) виправляються шляхи.
  3. Тестування на staging без зміни DNS. Увесь сайт — кошик, форми, адмін-панель та інтеграції — перевіряється через локальний запис hosts на новий IP.
  4. Перемикання й фінальна дельта. TTL знижується за 24 години, фінальна дельта (замовлення й файли, що з’явилися за час тестування) синхронізується, оновлюються A-записи, за зміни домену вмикається карта 301, а поштові записи валідуються.

Дивіться також: opencart-catalog-migration, tilda-migration, site-security-cleanup.


Стек

Linux (Ubuntu / Debian) · Nginx · Apache · OpenLiteSpeed · PHP 8.2+ · MySQL 8 / MariaDB · Redis · Docker · rsync · WP-CLI · Search-Replace-DB · certbot (Let's Encrypt) · Cloudflare API · SPF / DKIM / DMARC