Как использовать 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, данными с исходного сайта. Учётная запись администратора сайта назначения больше не существует — теперь активны учётные записи пользователей исходного сайта. Войдите в систему, используя имя пользователя и пароль с оригинального исходного сайта.
