Как да използвате 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 табло за управление и отидете на Plugins > Add New. Потърсете All-in-One WP Migration, инсталирайте го и го активирайте. Безплатната версия е достатъчна за сайтове под прага за размер на качване на вашия сървър (обикновено от 128 MB до 512 MB в зависимост от PHP конфигурацията на хоста).
След активирането не е необходима конфигурация. Плъгинът се регистрира в лявата странична лента незабавно.
Стъпка 2: Експортирайте уебсайта си
Отидете на All-in-One WP Migration > Export в страничната лента на таблото за управление.
Кликнете върху Export To и изберете File. Плъгинът ще започне да пакетира вашия сайт. За типичен сайт под 500 MB това отнема от 30 секунди до 3 минути. За сайтове с няколко гигабайта с големи медийни библиотеки, планирайте от 10 до 20 минути.
Какво се включва в експорта:
- Пълен MySQL дъмп на базата данни (всички таблици с конфигурирания префикс)
- Директория
wp-content/uploads - Активни и неактивни теми в
wp-content/themes - Всички инсталирани плъгини в
wp-content/plugins
wp-config.php е умишлено изключен по съображения за сигурност — собственият wp-config.php на целевия сайт се запазва при импорт
Какво е изключено по подразбиране:
Спам коментари
Ревизии на публикации
Неизползвани теми и деактивирани плъгини (конфигурируемо чрез превключвателя Advanced Options)
Журнали за грешки и директории за кеш
Разделът Advanced Options ви позволява да изключите конкретни таблици, пътища до файлове или типове публикации. Използвайте го, за да премахнете транзиентни кешове или големи таблици с журнали преди експорта, което значително намалява размера на архива.
След като пакетирането приключи, кликнете върху Download, за да запазите файла .wpress локално. Съхранявайте го на надеждно място — този файл е пълното резервно копие на вашия сайт.
Стъпка 3: Подгответе целевата среда
Ако мигрирате към нов сървър, преди импортирането ви е необходима чиста WordPress инсталация на целевото място. Повечето управлявани хостинг среди предоставят еднокликови инсталатори на WordPress. Ако работите в среда на VPS Хостинг, можете да инсталирате WordPress ръчно или да използвате стек от контролен панел.
Целевата WordPress инсталация не трябва да съответства на изходната по отношение на тема, плъгини или съдържание — импортът ще презапише всичко. Въпреки това следното трябва да е налице:
WordPress core е инсталиран и достъпен чрез неговото администраторско табло
Потребителят на базата данни има привилегии CREATE, DROP, INSERT, UPDATE, DELETE и ALTER върху целевата база данни
Версията на PHP е съвместима с вашите плъгини (проверете версията на PHP на изходния сайт в Tools > Site Health)
Директорията wp-content е записваема от процеса на уеб сървъра
Критично: Домейнът или поддомейнът на целевия сайт не трябва да съответства на изходния. Плъгинът презаписва URL адресите по време на импорт. Въпреки това, ако мигрирате към точно същия домейн (например преместване между сървъри), времето за разпространение на DNS е важно — не актуализирайте DNS, докато импортът не бъде проверен.
Стъпка 4: Инсталирайте плъгина на целевия сайт
Повторете процеса на инсталация на новия WordPress екземпляр: Plugins > Add New, потърсете All-in-One WP Migration, инсталирайте и активирайте.
Тази стъпка често се пропуска, когато хората настройват нова WordPress инсталация и приемат, че плъгинът ще присъства. Няма да е така — процесът на импортиране изисква плъгинът вече да е активен на целевото място.
Стъпка 5: Увеличете лимита за размер на качване преди импортиране
Това е най-честата точка на неуспех. Безплатната версия на All-in-One WP Migration спазва PHP лимита за качване на сървъра. Ако вашият файл .wpress надвишава този лимит, импортът ще се провали безшумно или ще изведе неясна грешка.
Проверете текущия си лимит, като отидете на All-in-One WP Migration > Import. Плъгинът показва максималния размер за качване директно на този екран.
За да го увеличите, използвайте един от следните методи в зависимост от нивото на достъп до вашия сървър:
Метод 1: Редактирайте php.ini директно (препоръчително за VPS и dedicated сървъри)
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');
След прилагане на промените, опреснете страницата Import в плъгина, за да потвърдите, че новият лимит е отразен. Ако сте на план за Споделен Уеб Хостинг, свържете се с вашия хост, за да повиши PHP лимитите на ниво сървър, тъй като заместванията в .htaccess може да са ограничени.
Алтернатива за много големи сайтове: Използвайте безплатния плъгин в комбинация с официалното разширение „Basic” или качете файла .wpress директно в wp-content/ai1wm-backups/ чрез FTP/SFTP и след това го изберете от екрана Import. Това напълно заобикаля ограничението за размер на HTTP качване.
Стъпка 6: Импортирайте архива
На целевия сайт отидете на All-in-One WP Migration > Import.
Кликнете върху Import From > File и изберете вашия архив .wpress. Плъгинът ще качи файла и след това ще започне процеса на възстановяване. Лента за напредък проследява операцията.
Какво се случва по време на импорт:
Архивът .wpress се разопакова в временна директория под wp-contentwp-content се презаписват с архивираните версииwp-config.php)Когато импортът приключи, ще видите диалогов прозорец за потвърждение. Кликнете върху Proceed (или Restore в зависимост от версията на плъгина), за да потвърдите замяната на базата данни. Това действие е необратимо без отделно резервно копие на целевата база данни.
Ще бъдете излезли незабавно след приключване на импорта. Това е очаквано поведение — базата данни вече съдържа потребителските акаунти от изходния сайт. Влезте с идентификационните данни от вашия изходен сайт.
Стъпка 7: Изчистете постоянните връзки
След повторното влизане отидете на Settings > Permalinks. Не променяйте никакви настройки. Просто превъртете до дъното и кликнете върху Save Changes.
Това принуждава WordPress да регенерира правилата за пренасочване на .htaccess за новата среда. Пропускането на тази стъпка води до връщане на грешка 404 за всички URL адреси на публикации и страници, дори ако съдържанието съществува в базата данни.
Ако използвате Nginx вместо Apache, няма файл .htaccess. Трябва да се уверите, че вашият Nginx сървърен блок включва стандартната WordPress директива try_files:
location / {
try_files $uri $uri/ /index.php?$args;
}Стъпка 8: Контролен списък за валидиране след миграция
Миграцията не е завършена, докато всеки елемент от този списък не бъде проверен. Пропускането на валидирането е начинът, по който повредени сайтове достигат до производство.
Целостта на URL адреси и домейни:
- Посетете Settings > General и потвърдете, че и WordPress Address, и Site Address отразяват правилния целеви 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 ключовете за сигурност чрез Settings > General или като замените константите за сол в
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 | Средни | Да | Полуавтоматично | Платена | Агенции, multisite |
| Ръчно (phpMyAdmin + FTP) | Високи | Да | Ръчно | Безплатна | Сценарии с пълен контрол |
| Възстановяване от резервно копие cPanel/Plesk | Средни | Да | Няма (същия домейн) | Включено с хоста | Миграции в рамките на същия хост |
Миграция към VPS или dedicated сървър
Ако се премествате от споделен хостинг към среда на VPS Хостинг или Dedicated Сървъри, работният процес на All-in-One WP Migration е идентичен, но настройката на целевия сървър изисква допълнително внимание:
- Инсталирайте LAMP или LEMP стек (Apache/Nginx, MySQL/MariaDB, PHP)
- Конфигурирайте виртуален хост, сочещ към основната директория на WordPress документите
- Създайте специална MySQL база данни и потребител с подходящи привилегии
- Инсталирайте WordPress core преди да стартирате импорта на плъгина
- Конфигурирайте настройките на PHP-FPM пула, за да съответстват или надвишават изискванията за ресурси на изходния сайт
За екипи, които предпочитат управляван интерфейс на контролен панел, VPS с cPanel значително намалява разходите за конфигурация на сървъра — cPanel предоставя еднокликов инсталатор на WordPress, превключвател на версии на PHP и файлов мениджър, които опростяват настройката преди импорта.
Чести грешки и как да ги поправите
„Import failed: could not extract archive”
Това обикновено означава, че файлът .wpress е повреден, качването е прекъснато или дисковото пространство на целевото място е недостатъчно. Проверете дали размерът на файла съответства на оригинала, проверете наличното дисково пространство с df -h и качете отново чрез SFTP директно в wp-content/ai1wm-backups/.
„Maximum execution time exceeded”
Директивата PHP max_execution_time е твърде ниска за размера на импорта. Увеличете я до 300 или 600 секунди в php.ini или .htaccess както е показано по-горе.
„The uploaded file exceeds the upload_max_filesize directive”
Лимитът за размер на качване не е повишен или промяната не е приложена към правилния 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 MB, преместване към нов хост | Безплатна версия, директно качване на файл |
| Сайт над 512 MB | Качете `.wpress` чрез SFTP в `ai1wm-backups/` или използвайте премиум версията |
| Преместване от HTTP към HTTPS | Изпълнете WP-CLI `search-replace` след импорта, за да уловите сериализирани URL адреси |
| Миграция на multisite мрежа | Използвайте премиум версията; безплатната версия не поддържа multisite |
| Автоматизирани периодични резервни копия | Използвайте вместо това специализиран плъгин за резервни копия (UpdraftPlus, BackWPup) |
| Преместване към различна версия на PHP | Тествайте съвместимостта на плъгините в staging среда преди производствения импорт |
| Включена е промяна на домейн | Проверете презаписването на URL адреси в Settings > General след импорта |
Практически основни изводи
- Винаги качвайте файла
.wpressчрез SFTP директно вwp-content/ai1wm-backups/за сайтове над 200 MB — това избягва всяко ограничение за размер на 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 сертификат след миграция е честа причина за предупреждения за сигурност в браузъра, които подкопават доверието на потребителите.
- За производствени миграции винаги тествайте първо в staging среда, особено при промяна на версии на PHP или преместване между значително различни сървърни стекове.
Често задавани въпроси
Работи ли All-in-One WP Migration за преместване на WordPress към различен домейн?
Да. Плъгинът автоматично презаписва изходния домейн с целевия домейн по време на импорта, използвайки процес на замяна на токени върху SQL дъмпа. След импорта проверете дали презаписването е успешно, като проверите Settings > General и изпълните WP-CLI search-replace --dry-run, за да уловите всички URL адреси, вградени в сериализирани PHP данни, които плъгинът може да е пропуснал.
Какъв е максималният размер на файл, поддържан от безплатната версия?
Безплатната версия няма твърдо кодирано ограничение за размер в самия плъгин — ограничението идва изцяло от директивите PHP upload_max_filesize и post_max_size на сървъра. При много споделени хостове това по подразбиране е 128 MB. Можете да заобиколите това ограничение напълно, като качите файла .wpress чрез SFTP в wp-content/ai1wm-backups/ и го изберете от екрана Import, което пропуска HTTP механизма за качване.
Ще презапише ли миграцията напълно базата данни на целевия сайт?
Да. Импортът изтрива всички съществуващи таблици в целевата база данни и ги заменя с таблиците от изходния сайт. Направете резервно копие на целевата база данни преди импортирането, ако съдържа данни, които трябва да запазите.
Мога ли да използвам All-in-One WP Migration за WordPress Multisite?
Безплатната версия не поддържа миграции на Multisite мрежи. Премиум разширението „Multisite Extension” е необходимо за експортиране и импортиране на пълна Multisite мрежа. Отделни подсайтове в рамките на мрежа понякога могат да бъдат мигрирани като самостоятелни сайтове с безплатната версия, но това изисква ръчно почистване на специфичните за мрежата записи в базата данни.
Защо излизам от системата веднага след приключване на импорта?
Това е правилно поведение. Импортът заменя цялата база данни, включително таблицата wp_users, с данните от изходния сайт. Вашият администраторски акаунт на целевия сайт вече не съществува — потребителските акаунти на изходния сайт са вече активни. Влезте с потребителското име и паролата от оригиналния изходен сайт.
