Перенос сайта WordPress на новый VPS — задача, с которой сталкиваются многие владельцы сайтов при переходе на более мощный хостинг или при смене провайдера. Основная цель — сделать это быстро и без простоев, чтобы пользователи не заметили изменений, а поисковые системы не зафиксировали недоступность ресурса.
В этом материале разберём пошаговый перенос сайта вручную: от подготовки нового сервера до настройки домена. Мы перенесём все файлы и базу данных WordPress, настроим окружение на новом VPS и укажем DNS-записи, чтобы домен «смотрел» на новый сервер. Такой подход даст вам полный контроль над процессом и поможет избежать ошибок, которые могут возникнуть при автоматических миграциях.
Что понадобится
Возможность зайти на прежний сайт через веб-панель или напрямую.
Новый VPS (IP, логин, пароль).
SSH-клиент: PowerShell, PuTTY (для Windows) или Terminal (macOS/Linux).
FTP-клиент (например, бесплатная FileZilla): скачиваем сайт и загружаем его на новый сервер.
По завершении установки можно подключаться к серверу и переносить данные обычным перетаскиванием — как в любом менеджере файлов.
Настройка нового VPS: установка компонентов для WordPress
WordPress не запускается сам по себе — ему нужны опорные компоненты, которые будут обслуживать сайт.
Веб-сервер — программа, которая отвечает на запросы от браузера. Самые популярные:
- Nginx — быстрый и современный,
- Apache — более старый, с гибкой настройкой.
Для новичков проще начать с Nginx.
PHP — язык, на котором написан WordPress. Мы установим нужную версию PHP вместе с модулями.
База данных — место, где WordPress хранит всё содержимое. Обычно это MySQL или MariaDB. Мы выберем MariaDB — она проще в установке и совместима с WordPress.
WP-CLI — дополнительная утилита, позволяющая управлять WordPress через командную строку. Она облегчает многие задачи: установку, перенос, обновления и резервные копии.
Обновляем систему перед установкой.
В терминале (где вы подключены к серверу) наберите:
apt update && apt upgrade -y
Устанавливаем Nginx — будет работать как веб-сервер:
apt install nginx -y
systemctl enable nginx
systemctl start nginx
Устанавливаем PHP и модули:
apt install php php-fpm php-mysql php-cli php-curl php-xml php-mbstring -y
Ставим базу данных (MariaDB):
apt install mariadb-server -y
systemctl enable mariadb
systemctl start mariadb
mysql_secure_installation
В процессе задаём пароль и отключаем лишний доступ.
Устанавливаем WP-CLI:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp
После этого можно запускать wp в командной строке.
Готово: ресурс функционален, PHP установлен, система настроена и есть инструмент для управления WordPress без браузера.
Можно переносить файлы и импортировать данные.
Резервная копия и перенос файлов WordPress
Чтобы перенести сайт, сначала нужно его упаковать. В WordPress всё разделено на два ключевых элемента:
- файлы сайта: темы, плагины, медиафайлы, скрипты и ядро WordPress;
- база данных — всё содержимое сайта (тексты, заголовки, структура страниц, учётные записи и настройки).
Без базы — сайт пустой, без файлов он не откроется. Надо всё сохранить.
Копируем содержимое сайта
Используем FTP-клиент. Рекомендуем FileZilla — простое и бесплатное приложение.
Откройте FileZilla. Заполните поля:
- хост: IP-адрес старого сервера;
- имя пользователя: чаще всего root, если у вас VPS;
- пароль: ваш root-пароль;
- порт: 22 (для SFTP — безопасного соединения).
Важно: если сервер поддерживает только SFTP (а это норма для VPS), обязательно используйте порт 22 и выбирайте тип соединения SFTP.
После подключения вы увидите две панели:
- слева ваши локальные файлы,
- справа — файлы сервера.
Откройте папку, где установлен WordPress:
/var/www/html/
или
/home/ваш_пользователь/public_html/
Если не уверены — посмотрите в панели управления хостингом или спросите у техподдержки.
Скачайте всю папку WordPress на компьютер. Это и есть ваш сайт в файловом виде.
Как сохранить базу данных WordPress
Копируем содержимое базы.
Если у вас есть phpMyAdmin (веб-интерфейс для управления базой) — отлично. Откройте его через браузер, найдите свою базу и экспортируйте её как SQL-файл.
Если phpMyAdmin не установлен (что типично для VPS), подключитесь через SSH.
Введите команду для экспорта:
mysqldump -u root -p имя_базы > backup.sql
Где имя_базы — наименование вашей информационной базы в wp-config.php в папке WordPress. Откройте его любым редактором и перейдите к define('DB_NAME', имя_базы').
В текущей папке увидите файл backup.sql — полная копия базы. Скачайте его. В FileZilla снова подключитесь к серверу, найдите backup.sql и перетащите его к себе на диск.
Когда у вас на компьютере есть папка со всеми файлами WordPress и файл backup.sql с базой данных — вы готовы к загрузке на новый сервер.
Загружаем файлы WordPress
Открываем FileZilla и подключаемся к новому VPS, так же как делали со старым:
- Хост: IP-адрес нового сервера,
- имя пользователя: root или тот, что вы создали,
- пароль,
- порт: 22,
- тип соединения: SFTP.
После подключения открываем на сервере папку, где будет лежать сайт. Обычно это:
/var/www/html/
Если папки нет — создайте её. В FileZilla это делается правым кликом → Create directory («Создать папку»).
Теперь перетащите все файлы WordPress (которые ранее скачали со старого сервера) в эту папку. Система может спросить, заменять ли существующие файлы — соглашайтесь.
Создаём новую базу данных
Подключитесь к новому серверу через SSH. Откройте MySQL или MariaDB:
mysql -u root -p
Система спросит пароль от MySQL. Если вы его не задавали — вернитесь к этапу установки и создайте безопасного пользователя и пароль.
Далее введите команды по порядку:
CREATE DATABASE имя_новой_базы CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'новый_пользователь'@'localhost' IDENTIFIED BY 'надёжный_пароль';
GRANT ALL PRIVILEGES ON имя_новой_базы.* TO 'новый_пользователь'@'localhost';
EXIT;
Замените имя_новой_базы, новый_пользователь и надёжный_пароль на свои значения и сохраните их — они понадобятся при настройке wp-config.php.
Переносим содержимое базы данных
Подключаемся по SSH и выполняем:
mysql -u новый_пользователь -p имя_новой_базы < backup.sql
При запросе пароля системы введите тот, который вы только что установили для базы.
Команда завершит импорт. Дальше — подключение к сайту.
Настраиваем wp-config.php
В корне вашего сайта есть команды:
define( 'DB_NAME', '...' );
define( 'DB_USER', '...' );
define( 'DB_PASSWORD', '...' );
define( 'DB_HOST', 'localhost' );
Замените значения на свои:
- 'DB_NAME' — имя новой базы,
- 'DB_USER' — имя пользователя,
- 'DB_PASSWORD' — его пароль.
Сохраняем. Веб-страницы в браузере должны открываться.
Следующий шаг — работа с DNS-записями и доменом, чтобы при переходе по привычному адресу страница открывалась уже с нового VPS.
Если забыли, IP-адрес нового VPS можно посмотреть в личном кабинете хостинга или в терминале, подключившись по SSH и набрав:
ip a
Обычно он будет в строке с eth0 или ens3.
Заходим в панель управления доменом («Управление DNS» или «Записи DNS»). Нас интересуют записи типа:
- A-запись (указание на IP-адрес);
- (иногда) CNAME и другие — их пока не трогаем.
Обновляем A-запись
Найдите существующую A-запись, где в поле «Имя» (или Name) указано @, а в поле «Значение» — старый IP-адрес.
Замените старый IP на IP нового VPS.
Если A-записи не было — создайте:
- имя: @;
- тип: A;
- значение: IP нового сервера;
- TTL: 600 секунд (или по умолчанию).
Если есть поддомен www, то добавьте или измените вторую запись:
- имя: www;
- тип: CNAME;
- значение: @ или ваш домен без www.
Обновление может занять от 5 минут до 24 часов.
Проверить, стал ли домен указывать на новый сервер, можно командой:
ping вашдомен.ру
Если в ответе появится IP нового VPS, всё работает.
Установка SSL (https)
Оптимальный вариант — выпуск сертификата безопасности через Let's Encrypt.
В среде нового VPS запустите следующую команду:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
Для Apache вместо nginx укажите apache.
Certbot самостоятельно определяет домен, получает сертификат и настраивает его.
Если всё отображается, значит сайт успешно переехал. Если нет — проверьте DNS-записи, wp-config.php и логи сервера:
/var/log/nginx/error.log
или
/var/log/apache2/error.log
Заключение
Перенос WordPress-сайта на новый VPS — это несложная, но требующая внимательности процедура. Чтобы обойтись без простоев, важно действовать по шагам: подготовить сервер, сделать полную резервную копию, корректно перенести файлы и базу данных, обновить настройки и DNS-записи. Если вы всё сделали правильно, сайт будет работать на новом VPS незаметно для посетителей — без ошибок, потерь и с актуальным содержимым. Чтобы упростить будущие переносы, настройте регулярные бекапы и держите под рукой инструкции.
Читайте в блоге:
- Безопасность WordPress на VPS
- Как интегрировать WordPress с CRM через VPS
- Оптимизация WordPress для SMM