Як використовувати All-in-One WP Migration у WordPress: повний технічний посібник
All-in-One WP Migration — це плагін WordPress, який серіалізує весь ваш сайт — базу даних, медіафайли, теми, плагіни та основну конфігурацію — в єдиний портативний архів .wpress, який потім можна імпортувати в будь-яку інсталяцію WordPress без жодних ручних маніпуляцій з базою даних. Це найшвидший спосіб повної міграції сайту або резервного копіювання на певний момент часу без використання phpMyAdmin, SSH або необроблених SQL-дампів.
Цей посібник виходить за рамки базового покрокового огляду. Він охоплює повний робочий процес міграції, критичні технічні обмеження, які спричиняють більшість невдалих імпортів, налаштування конфігурації PHP, поведінку серіалізації URL та кроки перевірки після міграції, які зазвичай пропускаються і згодом призводять до інцидентів у продакшені.
Що плагін насправді робить під капотом
Перш ніж торкатися панелі керування, розуміння внутрішньої механіки плагіна допоможе уникнути несподіванок під час великих міграцій.
Коли ви запускаєте експорт, All-in-One WP Migration виконує таку послідовність дій:
- Створює дамп бази даних WordPress MySQL у плоский SQL-файл у тимчасовому робочому каталозі.
- Серіалізує всі дані PHP-об’єктів у базі даних (параметри, конфігурації віджетів, мета-дані записів) і перезаписує абсолютні URL на токен-замінник, щоб їх можна було переписати під час імпорту.
- Пакує
wp-content/uploads, файли активної теми та каталоги плагінів разом із SQL-дампом. - Загортає все в архів
.wpress, який є власним форматом — не стандартним ZIP або TAR — зі своїм власним заголовком маніфесту.
Під час імпорту процес відбувається у зворотному порядку: архів розпаковується, SQL відтворюється в нову базу даних, а токени-замінники URL замінюються новою URL-адресою сайту. Цей крок перезапису URL пояснює, чому плагін коректно обробляє зміни домену без необхідності окремого проходу wp-cli search-replace — хоча вам все одно слід перевірити це, як описано в розділі після міграції.
Крок 1: Встановіть плагін на вихідному сайті
Увійдіть до панелі керування наявного WordPress і перейдіть до Плагіни > Додати новий. Знайдіть All-in-One WP Migration, встановіть і активуйте його. Безкоштовна версія підходить для сайтів, розмір яких не перевищує ліміт завантаження вашого сервера (зазвичай від 128 МБ до 512 МБ залежно від конфігурації PHP хостингу).
Після активації налаштування не потрібні. Плагін одразу реєструється на лівій бічній панелі.
Крок 2: Експортуйте свій сайт
Перейдіть до All-in-One WP Migration > Експорт на бічній панелі панелі керування.
Натисніть Експортувати до і виберіть Файл. Плагін почне пакування вашого сайту. Для типового сайту розміром до 500 МБ це займає від 30 секунд до 3 хвилин. Для сайтів розміром кілька гігабайт із великими медіабібліотеками плануйте від 10 до 20 хвилин.
Що включається в експорт:
- Повний дамп бази даних MySQL (всі таблиці з налаштованим префіксом)
- Каталог
wp-content/uploads - Активні та неактивні теми в
wp-content/themes - Всі встановлені плагіни в
wp-content/plugins
wp-config.php навмисно виключається з міркувань безпеки — власний wp-config.php сайту призначення зберігається під час імпорту
Що виключається за замовчуванням:
Спам-коментарі
Редакції записів
Невикористовувані теми та деактивовані плагіни (налаштовується через перемикач Розширених параметрів)
Журнали помилок і каталоги кешу
Розділ Розширених параметрів дозволяє виключати певні таблиці, шляхи до файлів або типи записів. Використовуйте це для видалення транзієнтних кешів або великих таблиць журналів перед експортом, що суттєво зменшує розмір архіву.
Після завершення пакування натисніть Завантажити, щоб зберегти файл .wpress локально. Зберігайте його в надійному місці — цей файл є повною резервною копією вашого сайту.
Крок 3: Підготуйте середовище призначення
Якщо ви переносите сайт на новий сервер, вам потрібна чиста інсталяція WordPress на місці призначення перед імпортом. Більшість керованих хостингових середовищ надають інсталятори WordPress в один клік. Якщо ви працюєте в середовищі VPS Хостингу, ви можете встановити WordPress вручну або використати стек панелі керування.
Інсталяція WordPress на місці призначення не повинна відповідати вихідній за темою, плагінами або вмістом — імпорт перезапише все. Однак необхідно забезпечити наступне:
WordPress core встановлено та доступний через панель адміністратора
Користувач бази даних має привілеї CREATE, DROP, INSERT, UPDATE, DELETE та ALTER на цільовій базі даних
Версія PHP сумісна з вашими плагінами (перевірте версію PHP вихідного сайту в розділі Інструменти > Стан сайту)
Каталог wp-content доступний для запису процесом веб-сервера
Важливо: Домен або субдомен сайту призначення не повинен збігатися з вихідним. Плагін перезаписує URL під час імпорту. Однак якщо ви переносите сайт на той самий домен (наприклад, переміщуєте між серверами), важливо враховувати час поширення DNS — не оновлюйте DNS до перевірки імпорту.
Крок 4: Встановіть плагін на сайті призначення
Повторіть процес встановлення на новому екземплярі WordPress: Плагіни > Додати новий, знайдіть All-in-One WP Migration, встановіть і активуйте.
Цей крок часто пропускається, коли люди налаштовують нову інсталяцію WordPress і припускають, що плагін вже буде присутній. Його не буде — процес імпорту вимагає, щоб плагін вже був активний на місці призначення.
Крок 5: Збільшіть ліміт розміру завантаження перед імпортом
Це найпоширеніша точка відмови. Безкоштовна версія All-in-One WP Migration дотримується ліміту завантаження PHP сервера. Якщо ваш файл .wpress перевищує цей ліміт, імпорт мовчки завершиться невдачею або видасть розпливчасту помилку.
Перевірте поточний ліміт, перейшовши до All-in-One WP Migration > Імпорт. Плагін відображає максимальний розмір завантаження безпосередньо на цьому екрані.
Щоб збільшити його, використовуйте один із наступних методів залежно від рівня доступу до сервера:
Метод 1: Редагування php.ini безпосередньо (рекомендовано для VPS та виділених серверів)
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 512M
max_execution_time = 300
max_input_time = 300
Перезапустіть PHP-FPM або Apache після збереження:
sudo systemctl restart php8.1-fpm
# or for Apache with mod_php:
sudo systemctl restart apache2
Метод 2: Перевизначення через .htaccess (середовища спільного хостингу)
php_value upload_max_filesize 512M
php_value post_max_size 512M
php_value memory_limit 512M
php_value max_execution_time 300
Метод 3: Перевизначення через wp-config.php
@ini_set('upload_max_filesize', '512M');
@ini_set('post_max_size', '512M');
@ini_set('memory_limit', '512M');
Після застосування змін оновіть сторінку Імпорту в плагіні, щоб підтвердити відображення нового ліміту. Якщо ви користуєтеся тарифом Спільного веб-хостингу, зверніться до свого хостингу для підвищення лімітів PHP на рівні сервера, оскільки перевизначення .htaccess можуть бути обмежені.
Альтернатива для дуже великих сайтів: Використовуйте безкоштовний плагін у поєднанні з офіційним розширенням «Basic», або завантажте файл .wpress безпосередньо до wp-content/ai1wm-backups/ через FTP/SFTP, а потім виберіть його на екрані Імпорту. Це повністю обходить обмеження розміру HTTP-завантаження.
Крок 6: Імпортуйте архів
На сайті призначення перейдіть до All-in-One WP Migration > Імпорт.
Натисніть Імпортувати з > Файл і виберіть свій архів .wpress. Плагін завантажить файл і розпочне процес відновлення. Індикатор прогресу відстежує операцію.
Що відбувається під час імпорту:
Архів .wpress розпаковується у тимчасовий каталог під wp-contentwp-content перезаписуються архівними версіямиwp-config.php)Після завершення імпорту з’явиться діалогове вікно підтвердження. Натисніть Продовжити (або Відновити залежно від версії плагіна), щоб підтвердити заміну бази даних. Ця дія є незворотною без окремої резервної копії бази даних призначення.
Ви будете негайно виходити із системи після завершення імпорту. Це очікувана поведінка — база даних тепер містить облікові записи користувачів з вихідного сайту. Увійдіть, використовуючи облікові дані вихідного сайту.
Крок 7: Очистіть постійні посилання
Після повторного входу перейдіть до Налаштування > Постійні посилання. Не змінюйте жодних налаштувань. Просто прокрутіть вниз і натисніть Зберегти зміни.
Це змушує WordPress регенерувати правила перезапису .htaccess для нового середовища. Пропуск цього кроку призводить до того, що всі URL записів і сторінок повертають помилки 404, навіть якщо вміст існує в базі даних.
Якщо ви використовуєте Nginx замість Apache, файлу .htaccess немає. Ви повинні переконатися, що блок сервера Nginx містить стандартну директиву WordPress try_files:
location / {
try_files $uri $uri/ /index.php?$args;
}Крок 8: Контрольний список перевірки після міграції
Міграція не є завершеною, поки не перевірено кожен пункт цього списку. Пропуск перевірки — це те, як зламані сайти потрапляють у продакшен.
Цілісність URL та домену:
- Відвідайте Налаштування > Загальні та підтвердіть, що обидві адреси WordPress і сайту відображають правильну URL-адресу призначення
- Виконайте перевірку пошуку-заміни: встановіть WP-CLI на сервері та запустіть
wp search-replace 'olddomain.com' 'newdomain.com' --dry-run, щоб виявити будь-які URL, які плагін пропустив у серіалізованих даних - Перевірте попередження про змішаний вміст у інструментах розробника браузера при міграції з HTTP на HTTPS
Функціональне тестування:
- Перевірте всі навігаційні меню та внутрішні посилання
- Надішліть принаймні одну контактну форму та перевірте доставку
- Перевірте процес оформлення замовлення WooCommerce, якщо застосовно
- Перевірте правильність завантаження медіавкладень (зламані зображення часто вказують на пропущений перезапис URL у таблиці
wp_posts)
Безпека та конфігурація:
- Підтвердіть, що ваші SSL-сертифікати активні та HTTPS застосовується на домені призначення
- Перегляньте
wp-config.phpна місці призначення — облікові дані бази даних, статусWP_DEBUGта солі повинні відображати нове середовище, а не вихідне - Регенеруйте ключі безпеки WordPress через Налаштування > Загальні або замінивши константи солі в
wp-config.phpза допомогою генератора секретних ключів WordPress
Кешування:
- Очистіть усі рівні кешування: кеш об’єктів (Redis/Memcached), плагіни кешування сторінок (WP Rocket, W3 Total Cache) та будь-які CDN-кеші
- Деактивуйте та повторно активуйте плагіни кешування, щоб змусити їх виявити шляхи нового середовища
Порівняння: All-in-One WP Migration проти альтернативних методів міграції
| Метод | Необхідні технічні навички | Підтримка великих сайтів | Перезапис URL | Вартість | Найкраще для |
|---|---|---|---|---|---|
| — | — | — | — | — | — |
| All-in-One WP Migration (безкоштовна) | Низький | Обмежено лімітом завантаження | Автоматичний | Безкоштовно | Малі та середні сайти |
| All-in-One WP Migration (преміум) | Низький | Так (без обмеження розміру) | Автоматичний | Платно | Сайти будь-якого розміру |
| WP-CLI + rsync + mysqldump | Високий | Так | Ручний (`search-replace`) | Безкоштовно | Розробники, великі сайти |
| Duplicator Pro | Середній | Так | Напівавтоматичний | Платно | Агентства, мультисайти |
| Ручний (phpMyAdmin + FTP) | Високий | Так | Ручний | Безкоштовно | Сценарії повного контролю |
| Відновлення резервної копії cPanel/Plesk | Середній | Так | Відсутній (той самий домен) | Включено в хостинг | Міграції в межах одного хостингу |
Міграція на VPS або виділений сервер
Якщо ви переходите зі спільного хостингу на середовище VPS Хостингу або Виділених серверів, робочий процес All-in-One WP Migration є ідентичним, але налаштування сервера призначення вимагає додаткової уваги:
- Встановіть стек LAMP або LEMP (Apache/Nginx, MySQL/MariaDB, PHP)
- Налаштуйте віртуальний хост, що вказує на кореневий каталог документів WordPress
- Створіть окрему базу даних MySQL та користувача з відповідними привілеями
- Встановіть WordPress core перед запуском імпорту плагіна
- Налаштуйте параметри пулу PHP-FPM відповідно до або вище вимог до ресурсів вихідного сайту
Для команд, які надають перевагу керованому інтерфейсу панелі керування, VPS з cPanel значно зменшує накладні витрати на налаштування сервера — cPanel надає інсталятор WordPress в один клік, перемикач версій PHP та файловий менеджер, які спрощують налаштування перед імпортом.
Поширені помилки та способи їх усунення
«Імпорт не вдався: не вдалося розпакувати архів»
Зазвичай це означає, що файл .wpress пошкоджений, завантаження було перервано або на місці призначення недостатньо місця на диску. Перевірте, чи розмір файлу відповідає оригіналу, перевірте доступний простір на диску за допомогою df -h та повторно завантажте через SFTP безпосередньо до wp-content/ai1wm-backups/.
«Перевищено максимальний час виконання»
Директива PHP max_execution_time занадто мала для розміру імпорту. Збільшіть її до 300 або 600 секунд у php.ini або .htaccess як показано вище.
«Завантажений файл перевищує директиву upload_max_filesize»
Ліміт розміру завантаження не було підвищено, або зміна не була застосована до правильного файлу конфігурації PHP. Запустіть php -i | grep upload_max_filesize з командного рядка, щоб підтвердити, який php.ini є активним.
php -i | grep upload_max_filesize
php -i | grep "Loaded Configuration File"Біла смерть після імпорту
Тимчасово увімкніть WP_DEBUG у wp-config.php, щоб відобразити фактичну помилку PHP:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);Потім перевірте /wp-content/debug.log на наявність конкретної помилки. Поширені причини — плагін, несумісний з версією PHP призначення, або вичерпання ліміту пам’яті.
Зламані зображення після міграції
Виконайте цільовий пошук-заміну старого домену в таблицях wp_posts та wp_postmeta. За допомогою WP-CLI:
wp search-replace 'https://olddomain.com' 'https://newdomain.com' wp_posts wp_postmeta --precise --report-changed-onlyМатриця технічних рішень: коли використовувати All-in-One WP Migration
| Сценарій | Рекомендований підхід |
|---|---|
| — | — |
| Сайт до 512 МБ, переміщення на новий хостинг | Безкоштовна версія, пряме завантаження файлу |
| Сайт понад 512 МБ | Завантажте `.wpress` через SFTP до `ai1wm-backups/` або використовуйте преміум |
| Перехід з HTTP на HTTPS | Запустіть WP-CLI `search-replace` після імпорту для виявлення серіалізованих URL |
| Міграція мережі мультисайту | Використовуйте преміум версію; безкоштовна версія не підтримує мультисайт |
| Автоматичне регулярне резервне копіювання | Використовуйте натомість спеціалізований плагін резервного копіювання (UpdraftPlus, BackWPup) |
| Перехід на іншу версію PHP | Перевірте сумісність плагінів у тестовому середовищі перед імпортом у продакшен |
| Зміна домену | Перевірте перезапис URL у Налаштування > Загальні після імпорту |
Практичні ключові висновки
- Завжди завантажуйте файл
.wpressчерез SFTP безпосередньо доwp-content/ai1wm-backups/для сайтів понад 200 МБ — це дозволяє уникнути будь-яких обмежень розміру HTTP-завантаження. - Підвищте
upload_max_filesize,post_max_size,memory_limitтаmax_execution_timeна місці призначення перед початком імпорту, а не після виникнення помилки. - Плагін виключає
wp-config.phpз архіву — облікові дані бази даних призначення зберігаються, але перевіртеWP_DEBUG,WP_SITEURLта солі безпеки вручну після імпорту. - Завжди очищайте постійні посилання одразу після імпорту. На Nginx перевірте наявність директиви
try_filesу блоці сервера. - Запускайте
wp search-replace --dry-runпісля будь-якої міграції, що передбачає зміну домену, щоб виявити залишки серіалізованих URL, які плагін міг пропустити. - Підтвердіть активність SSL на місці призначення перед запуском — невідповідність SSL-сертифіката після міграції є поширеною причиною попереджень безпеки браузера, що підривають довіру користувачів.
- Для міграцій у продакшені завжди спочатку тестуйте в тестовому середовищі, особливо при зміні версій PHP або переміщенні між суттєво різними серверними стеками.
Часті запитання
Чи працює All-in-One WP Migration для переміщення WordPress на інший домен?
Так. Плагін автоматично перезаписує вихідний домен на домен призначення під час імпорту, використовуючи процес підстановки токенів у SQL-дампі. Після імпорту перевірте успішність перезапису, перевіривши Налаштування > Загальні та запустивши WP-CLI search-replace --dry-run, щоб виявити будь-які URL, вбудовані в серіалізовані дані PHP, які плагін міг пропустити.
Який максимальний розмір файлу підтримується безкоштовною версією?
Безкоштовна версія не має жорстко закодованого обмеження розміру в самому плагіні — обмеження повністю визначається директивами PHP upload_max_filesize та post_max_size сервера. На багатьох спільних хостингах це значення за замовчуванням становить 128 МБ. Ви можете повністю обійти це обмеження, завантаживши файл .wpress через SFTP до wp-content/ai1wm-backups/ та вибравши його на екрані Імпорту, що пропускає механізм HTTP-завантаження.
Чи повністю перезапише міграція базу даних сайту призначення?
Так. Імпорт видаляє всі існуючі таблиці в базі даних призначення та замінює їх таблицями з вихідного сайту. Зробіть резервну копію бази даних призначення перед імпортом, якщо вона містить будь-які дані, які потрібно зберегти.
Чи можна використовувати All-in-One WP Migration для WordPress Multisite?
Безкоштовна версія не підтримує міграції мережі Multisite. Для експорту та імпорту повної мережі Multisite потрібне преміум розширення «Multisite Extension». Окремі підсайти в мережі іноді можна мігрувати як окремі сайти за допомогою безкоштовної версії, але це вимагає ручного очищення специфічних для мережі записів бази даних.
Чому я одразу виходжу із системи після завершення імпорту?
Це правильна поведінка. Імпорт замінює всю базу даних, включаючи таблицю wp_users, даними з вихідного сайту. Обліковий запис адміністратора сайту призначення більше не існує — тепер активні облікові записи користувачів вихідного сайту. Увійдіть, використовуючи ім’я користувача та пароль з оригінального вихідного сайту.
