Как перенести WordPress на другой хостинг — пошаговая инструкция | Мастерская — статьи по WordPress и серверам | de-bor.ru

Частный web-мастер Денис Борисов
WordPress-сайтов

Как перенести WordPress на другой хостинг — пошаговая инструкция

Миграции и переносы · 2026-08-18 · обновлено 2026-08-18 · 10 мин чтения

Перенос WordPress на другой хостинг — это не только копирование файлов. Нужно перенести базу данных, подправить wp-config.php, настроить веб-сервер и переключить DNS. При этом, если домен остаётся тем же, менять адреса в базе не требуется.

Важно Не отключайте старый хостинг, пока новый сайт не работает стабильно. Практическая рекомендация — не удалять старый аккаунт сразу после переезда. Срок зависит от почты, резервного копирования и необходимости отката; для важных сайтов разумно оставить его активным на несколько недель. DNS обновляется не мгновенно, а почта может оставаться у старого провайдера. Если что-то пойдёт не так, откатываться будет не на что.
Multisite Инструкция рассчитана на обычную одиночную установку WordPress. Для WordPress Multisite порядок миграции отличается.

Почему сайт ломается при переезде

Чаще всего после переноса всплывают четыре проблемы:

  • Подключение к базе данных. В wp-config.php прописаны имя базы, пользователь, пароль и хост старого хостинга. Пока они не заменены, WordPress не может подключиться к новой БД и показывает ошибку установки соединения.
  • Версии PHP и MySQL. Актуальные требования WordPress: PHP 7.4+, MySQL 5.7+ или MariaDB 10.3+, HTTPS. Если на новом хостинге используется слишком старая или несовместимая версия PHP, сайт может не загрузиться. Несовместимость часто вызвана не самим ядром, а темой и плагинами.
  • Права на файлы и владелец. На каждом хостинге своя схема: где-то PHP работает от пользователя аккаунта, где-то — от системного пользователя веб-сервера. Если владелец и группа файлов не совпадают с ожиданиями сервера, появляются ошибки записи, а иногда и 500.
  • URL в базе данных. Это актуально только при смене домена: в wp_options хранятся siteurl и home, а в wp_posts и wp_postmeta — ссылки на старый адрес. При переезде на другой хостинг с тем же доменом менять их не нужно.

Подготовка: полный бэкап

Первый шаг — бэкап файлов и базы данных, до любых действий с хостингом. WP-CLI берёт параметры подключения из wp-config.php:

# Бэкап файлов (укажите фактическую директорию WordPress)
tar -czf ~/backup-site-$(date +%Y%m%d).tar.gz /путь/к/директории-wordpress/

# Экспорт БД через WP-CLI
wp db export ~/backup-db-$(date +%Y%m%d).sql

Если SSH недоступен — скачайте файлы через FTP/SFTP, а базу экспортируйте в phpMyAdmin (вкладка Экспорт, формат SQL). Проверьте, что архив открывается и дамп не пустой; для важных сайтов желательно убедиться, что SQL-дамп действительно содержит таблицы и данные. Затем скачайте бэкап на локальный компьютер: копия, которая лежит на том же сервере, бэкапом не считается.

Перенос без смены домена — основной сценарий

Если домен остаётся тем же, замена URL в базе обычно не требуется. Процесс выглядит так.

Шаг 1. Создайте базу данных на новом хостинге

Создайте БД и пользователя с правами на неё в панели хостинга (ISPmanager, Plesk, cPanel — интерфейс зависит от провайдера). Запишите имя базы, пользователя, пароль и хост: они понадобятся в wp-config.php.

Команда wp db create нужна только на серверах, где у пользователя действительно есть права создавать базы из CLI — в обычной ситуации база создаётся в панели. Учтите: wp db import базу не создаёт, он импортирует SQL в уже существующую базу.

Шаг 2. Скопируйте файлы

Загрузите все файлы WordPress на новый хостинг. Для большинства пользователей проще всего FTP/SFTP (FileZilla и аналоги): выделить содержимое корня сайта и залить в корень нового домена. Владельцам SSH быстрее rsync:

rsync -avz --progress /путь/к/сайту/ user@new-server:/путь/на/новом/сервере/

Типовые права: директории 755, файлы 644, wp-config.php можно сделать строже (600 или 640). Это типовой вариант, а не универсальный: решающую роль играют не только цифры chmod, но и владелец/группа файлов и схема запуска PHP на конкретном хостинге.

Шаг 3. Импортируйте базу данных

В phpMyAdmin выберите новую базу, откройте вкладку Импорт и загрузите SQL-дамп. Либо через WP-CLI:

wp db import ~/backup-db-20260818.sql

После импорта проверьте наличие всех необходимых таблиц. Неполный импорт может привести к ошибкам сайта или отсутствию части данных.

Шаг 4. Настройте wp-config.php

Пропишите данные новой базы в wp-config.php на новом сервере. Хост базы не всегда localhost — уточните значение у хостинга:

define('DB_NAME', 'newdomain_wp');
define('DB_USER', 'newdomain_user');
define('DB_PASSWORD', 'новый_пароль');
define('DB_HOST', 'хост_базы_от_хостинга');

Соли при переносе менять не обязательно — можно оставить прежние. Если всё же обновляете соли, помните: все авторизованные пользователи будут разлогинены. Если в старом wp-config.php были дополнительные константы или настройки кэша и внешних сервисов, перенесите их на новый сервер и проверьте совместимость.

Шаг 5. Настройте веб-сервер

На Apache правила обычно задаются в .htaccess. Если файл использовался на старом сервере, перенесите его и проверьте, что mod_rewrite и разрешение .htaccess настроены на новом сервере. Если в .htaccess были собственные редиректы или другие правила, сохраните их перед пересохранением постоянных ссылок и проверьте после него. После переноса пересохраните постоянные ссылки в админке (Настройки → Постоянные ссылки → Сохранить), чтобы WordPress переписал правила.

На Nginx .htaccess не работает: правила rewrite нужно прописать в конфиге виртуального хоста в зависимости от настроек веб-сервера:

location / {
    try_files $uri $uri/ /index.php?$args;
}

Это типовой пример для обычного WordPress; конкретная конфигурация Nginx зависит от сервера, PHP-FPM и дополнительных правил.

Шаг 6. Проверьте сайт на новом сервере до переключения DNS

Не переключайте DNS вслепую. Сначала откройте сайт, минуя DNS: через hosts-файл (прописать новый IP для домена на локальной машине), временный технический домен хостинга, staging URL или другой способ, который предлагает провайдер. При проверке через hosts WordPress всё равно использует значения siteurl и home из базы. Для корректного тестирования нового сервера их может потребоваться временно изменить на адрес нового сервера, а после проверки вернуть прежние значения перед переключением DNS. Проверьте главную, статьи, страницы, товары и админку на новом сервере, пока домен ещё отдаёт старый сайт.

Пример hosts Добавьте строку «IP_нового_сервера домен.ru» в hosts-файл (Windows: C:\Windows\System32\drivers\etc\hosts, macOS/Linux: /etc/hosts), сохраните и откройте сайт. После проверки строку удалите.

Шаг 7. Переключите DNS

Если вы контролируете TTL, его можно снизить до 300 секунд за несколько часов или заранее до переезда — это ускорит распространение, но не обязательное условие. После переноса смените A-запись на IP нового хостинга.

Время переключения зависит от TTL, кэшей DNS и конкретных резолверов — единого срока нет. Проверка dig показывает состояние одного DNS-сервера, а не всей сети:

dig +short A домен.ru @8.8.8.8

Если домен за Cloudflare, различайте два механизма: DNS-запись обновляется по TTL, а HTTP-кэш Cloudflare — отдельный механизм, из-за которого посетители могут видеть старую версию страницы. Очистка кэша Cloudflare ускоряет обновление сайта, но к переключению DNS отношения не имеет.

Проверка результата

Когда DNS переключился и сайт открывается с нового сервера, пройдите по чеклисту:

  • главная, статьи, страницы, товары и админка открываются
  • HTTPS работает: сертификат выпущен и не даёт ошибок
  • редиректы корректны, в том числе с http на https
  • формы отправляют сообщения — проверьте тестовым письмом
  • авторизация: вход и выход из аккаунта
  • существующие изображения отображаются; попробуйте загрузить новое в медиабиблиотеку
  • WooCommerce, если используется: корзина, оформление заказа, письма о заказах; дополнительно проверьте очередь фоновых заданий Action Scheduler
  • cron и фоновые задачи, если они настроены
  • логи PHP и веб-сервера — нет новых ошибок

Дополнительные проверки:

  • Ядро. wp core verify-checksums сверяет только файлы ядра — плагины и тему он не проверяет
  • Остатки старого URL. Если домен менялся, проверьте, не осталось ли ссылок на старый адрес: wp search-replace 'https://старый-домен.ru' 'https://новый-домен.ru' --all-tables --precise --skip-columns=guid --dry-run или wp db search 'старый-домен.ru' --all-tables. Старый адрес может легально встречаться в GUID и сторонних данных — это не ошибка, поэтому пустой результат не обязателен
  • Кэши. Очистите object cache (wp cache flush), а также кэш конкретного плагина или сервера; при наличии доступа сбросьте OPcache; при persistent object cache очистите Redis/memcached, если после переноса сайт продолжает использовать старые данные; сайт за Cloudflare — очистите HTTP-кэш
  • Почта. Отправьте тестовое письмо через форму обратной связи или через настроенный на сайте SMTP-плагин. Разделяйте MX и SMTP: MX-записи отвечают за получение почты на ящики, SMTP-сервер — за отправку. Перенос сайта не переносит почтовые ящики: если почта осталась у старого провайдера и MX не менялись, получение почты переезд не затрагивает

Если домен меняется: замена URL в базе

При смене домена адреса в базе менять нужно. Используйте wp search-replace — он корректно обрабатывает сериализованные данные плагинов и опций, в отличие от ручной замены в SQL-редакторе:

wp search-replace 'https://старый-домен.ru' 'https://новый-домен.ru' --all-tables --precise --skip-columns=guid

--all-tables означает все таблицы базы, включая не-WordPress. Если база используется только этим сайтом, это нормально; если в той же базе находятся другие приложения или сайты, ограничьте список таблиц.

При миграции с изменением домена исключите колонку guid из замены: --skip-columns=guid. GUID — не обычная ссылка, а идентификатор записи, и менять его не рекомендуется, даже при смене домена.

Никогда не редактируйте URL напрямую в SQL (UPDATE wp_options SET ...). Сериализованные строки плагинов содержат длины строк: при ручной замене они не совпадут, и плагины отвалятся с ошибкой unserialize(). Только wp search-replace или специализированные плагины (Better Search Replace, Velvet Blues).

Если адрес сайта изменился только по протоколу (http на https), проверьте и при необходимости обновите home и siteurl:

wp option update home 'https://домен.ru'
wp option update siteurl 'https://домен.ru'

Если WP_HOME или WP_SITEURL заданы в wp-config.php, они имеют приоритет над значениями home и siteurl в базе.

Когда этот способ не сработает

1. База больше, чем позволяет phpMyAdmin

На больших дампах phpMyAdmin упирается в лимиты по размеру загрузки и времени выполнения. Тогда используйте CLI-инструменты: mysql или wp db import. На пределы влияют разные параметры: лимиты PHP (upload_max_filesize, post_max_size), max_allowed_packet в MySQL/MariaDB, таймауты и способ импорта — универсального одного решения нет.

2. PHP-несовместимость темы или плагинов

На новом хостинге версия PHP может отличаться. Несовместимость часто вызывает не ядро, а темы и плагины со старым кодом (например, устаревшие функции вроде each() — это лишь пример, не главная причина). До переключения PHP проверьте совместимость темы и плагинов. На рабочем сайте не выводите ошибки посетителям: логируйте их в файл. Минимальная конфигурация в wp-config.php:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
После диагностики отключите отладку — debug-логи могут содержать чувствительные данные.

3. Переезд с Apache на Nginx

.htaccess на Nginx не работает. Правила редиректов, защиты и кэширования переносите в конфиг Nginx, а не в .htaccess. Пересохранение постоянных ссылок в админке обновляет rewrite-правила на Apache; для Nginx правила прописываются в конфигурации веб-сервера.

4. Почта остаётся у старого провайдера

Ящики на домене могут продолжать обслуживаться старым хостингом: MX-записи останутся прежними, и получение почты переезд не затронет. Отправка писем сайтом настраивается отдельно (SMTP-плагин, почтовый сервис) и зависит от нового сервера.

Частые вопросы

Сколько времени занимает перенос WordPress на другой хостинг?
Небольшой сайт при наличии доступа к SSH или панели можно перенести за десятки минут; при FTP и большой файловой структуре перенос может занять значительно больше времени. Основное время обычно уходит на загрузку файлов и импорт базы.
Нужно ли менять URL в БД, если домен не меняется?
Нет, search-replace не требуется. Если адрес сайта действительно изменился с HTTP на HTTPS, проверьте и при необходимости обновите home и siteurl. При неправильной настройке HTTPS на сервере или прокси могут возникнуть циклические редиректы.
После переноса белый экран. Что проверять первым?
Порядок: включите логирование ошибок (WP_DEBUG_LOG в wp-config.php или лог PHP) и посмотрите, какая ошибка возникает. Частые причины: неверные данные БД в wp-config, старая версия PHP на новом хостинге, несовместимый плагин или тема, несовпадение владельца и прав на файлы. На проде не включайте вывод ошибок на экран.
Пропадут ли позиции в поиске, если домен не меняется?
Сам перенос хостинга при сохранении домена и структуры URL не должен приводить к потере позиций. Критично не допустить длительной недоступности сайта, ошибок 5xx, изменения URL и проблем с HTTPS. Первые 1–2 недели следите за ошибками в Яндекс.Вебмастере и Google Search Console.
Нужно ли менять соли при переносе?
Нет, можно оставить прежние. Если меняете — все авторизованные пользователи будут разлогинены, сохранённые сессии и пароли в куках сброшены. Менять соли имеет смысл, если есть подозрение, что они скомпрометированы.
Почему GUID нельзя менять при смене домена?
GUID — не обычная ссылка, а постоянный идентификатор записи. WordPress не рекомендует изменять его даже при смене домена, поэтому колонку guid исключают из search-replace. Основное назначение GUID — идентификация записи в RSS/Atom feed readers: читатели могут воспринять старые записи как новые.

Нужна помощь с переносом WordPress?

Перенесу сайт без потери контента и позиций: файлы, база, DNS, почта и проверка после переезда. Есть опыт с Beget, Timeweb и Reg.ru.

Написать в Написать в

Переезд сайта

Переезд сайта

На другой хостинг/домен без потери SEO.

7.200

Подробнее
Сопровождение и поддержка сайта

Сопровождение и поддержка сайта

Сопровождение после переноса.

от 5.400 ₽/мес

Подробнее

Разрабатываю WordPress-сайты

Лендинги, многостраничные сайты, интернет-магазины на WooCommerce — всё на WordPress с удобной панелью управления.

Сайт под ключ: регистрация домена и хостинга, установка WordPress, настройка шаблона и модулей.

Поддерживаю WordPress-сайты

Обновление плагинов и тем, резервное копирование, мониторинг работоспособности — сайт работает без сбоев.

Оперативное исправление ошибок, создание новых разделов, доработка функционала и наполнение контентом.

Продвигаю WordPress-сайты

SEO-оптимизация, настройка Яндекс Метрики и Вебмастера, подключение Google Search Console.

Оптимизация позволяет «поднять» сайт в поисковых выдачах, увеличить целевой трафик и привлечь новых клиентов.

Чистка от вирусов WordPress

Если сайт взломали, появился подозрительный код или спам-рассылка — найду и удалю вредоносный код, закрою уязвимости и настрою защиту от повторного заражения.

После чистки проверю все файлы и плагины, обновлю WordPress до актуальной версии и настрою автоматическое резервное копирование.

Диагностика сайта

Проверю ваш сайт по ключевым параметрам и подготовлю отчёт с рекомендациями:

  • Скорость загрузки и производительность;
  • Безопасность и уязвимости;
  • SEO-состояние и индексация;
  • Мобильная адаптация;
  • Технические ошибки и код.
Заказать диагностику
Михайлова Анастасия

Денис МАСТЕР своего дела. Вёл целый проект, работали с ним на протяжении 4х месяцев. Отзывчивый, понимающий с полуслова специалист. Стоимость услуг радует, а качество работы приводит в восторг.

Денис спасибо Вам от лица нашей строительной компании и от всего нашего персонала.

Михайлова Анастасия

Игорь Караваев

Обратился к Денису для восстановления сайта на WordPress после сбоя. Сделал, как и обещал, за сутки — сайт снова работает без ошибок. Профессионал своего дела, доходчиво объясняет, вежлив и тактичен. Однозначно рекомендую!

Игорь Караваев

Яна Веркулич

Денис, спасибо огромное за работу)) Очень тепло вспоминаю Вас и все что Вы сделали для моей работы и моего сайта.

Денис Профессионал с большой буквы, решает любые вопросы, отличный специалист))

Рекомендую к сотрудничеству, еще раз спасибо)

Яна Веркулич

Бюро Переводов

Денис оперативно и грамотно справляется со всеми поставленными задачами. Внес правки на англоязычную и русскоязычную версии сайта, учел все пожелания. Будем обращаться еще!

Бюро Переводов

Анастасия Виричева

Денис мастер своего дела, рекомендую его как специалиста.
Понимает, что нужно сделать и справляется с поставленной задачей в короткое время.

Делал сайт для салона красоты, просто и функционально.

Анастасия Виричева

Владимир

Очень много времени мучались с сайтом на OpenCart. «Специалисты» не могли нормально разобраться в проблеме, возникавшей при выполнении элементарной задачи.

Денис сделал это в два счета, также расписал подробно, в чем была проблема и как она решена. На 200% доволен. Даже не хочется его рекомендовать, потому что будет постоянно занят))

Владимир

Ксения Петровская

Денис оперативно ответил и помог решить проблему, которую я даже описать нормально не могла)) Мы сами что-то накрутили с корпоративной почтой — письма то уходили, то нет, в общем всё сломали.

Денис всё починил, теперь у нас нормальная почта, домен работает, письма приходят и уходят. Цена как заявлена — оплатили по факту проверки. Спасибо большое!

Ксения Петровская

Александр Кривуля

Заказал у Дениса доработать сайт на WordPress. При этом трудно себе представлял, что сам хочу. Благодаря профессионализму Дениса и его умению всё грамотно и просто объяснять, предлагать разные варианты решений — цель была достигнута.

Умение общаться доходчиво и терпеливо с клиентами — огромный плюс. Я очень доволен. Однозначно рекомендую!

Александр Кривуля

Кондитер мания

Прекрасный специалист, ответил и устранил ошибку на сайте за пару часов, сохранила контакт, будем по необходимости обращаться. Рекомендую!

Кондитер мания

Бесплатная настройка хостинга и домена

Регистрация хостинга на 1 месяц и домена .ru/.рф на 1 год входит в стоимость разработки сайта.

Подробнее