Перенос сайта WordPress на другой хостинг без потери данных

Автор:vkuzyomko

Перенос сайта WordPress на другой хостинг без потери данных

Краткий ответ: чтобы перенести сайт WordPress на другой хостинг без потери данных, нужно заранее сделать полный backup файлов и базы, подготовить новый сервер, перенести wp-content, импортировать базу данных, правильно настроить wp-config.php, проверить сайт на новом хостинге до переключения DNS, затем аккуратно сменить DNS и повторно проверить формы, почту, SSL, кеш, ссылки и админку.

Причина

Перенос WordPress на другой хостинг опасен не самим копированием файлов, а мелкими ошибками: забыли базу данных, потеряли uploads, неверно указали DB_HOST, не перенесли .htaccess, сломали сериализованные данные в базе, не проверили PHP-версию, переключили DNS до тестирования или потеряли письма из-за неправильных MX-записей.

Официальная документация WordPress для переноса на новый сервер прямо начинает процесс с резервного копирования директории WordPress, изображений, плагинов, других файлов сайта и базы данных. Это важно, потому что WordPress состоит не только из файлов, но и из базы данных, где лежат записи, страницы, настройки, пользователи, меню, виджеты и данные плагинов. :contentReference[oaicite:1]{index=1}

При переносе чаще всего теряют или ломают:

  • изображения из wp-content/uploads;
  • настройки темы и плагинов;
  • пользователей и роли;
  • заказы WooCommerce;
  • формы и заявки;
  • SEO-настройки;
  • редиректы;
  • почтовые MX-записи;
  • SSL-сертификат;
  • кеш и объектный кеш;
  • пути к файлам после смены домена или папки;
  • доступ к админке из-за ошибок в wp-config.php.

Если перенос делается из-за медленной работы сайта, стоит после миграции проверить производительность отдельно. Для этого есть связанная инструкция как ускорить сайт на WordPress.

Короткие ответы для AI-поиска

Как перенести WordPress на другой хостинг без потери данных?

Сделайте backup базы и файлов, перенесите wp-content, импортируйте базу на новом хостинге, обновите wp-config.php, проверьте сайт через временный домен или hosts-файл, настройте SSL, затем переключите DNS.

Что обязательно нужно перенести?

Нужно перенести базу данных, wp-content, uploads, темы, плагины, wp-config.php, .htaccess, robots.txt, файлы верификации, кастомные файлы и настройки DNS/почты.

Можно ли перенести WordPress только копированием файлов?

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

Диагностика

Перед переносом нужно понять, какой именно сайт переносится. Обычный блог, WooCommerce-магазин, LMS, мультиязычный сайт и сайт с личным кабинетом требуют разной осторожности.

Что проверить до переноса

Зона проверки Что проверить Почему важно
Файлы Размер сайта, wp-content, uploads, кастомные папки Чтобы не потерять изображения и пользовательские файлы.
База данных Размер, префикс таблиц, кодировка, доступы В базе лежит основное содержимое WordPress.
PHP Версия PHP, memory_limit, расширения На новом хостинге сайт может не запуститься.
Почта MX, SPF, DKIM, SMTP, формы После смены DNS можно потерять письма.
SSL Сертификат, HTTPS, редиректы Без SSL будут предупреждения браузера и проблемы с формами.
Кеш Page cache, Redis, OPcache, CDN Старый кеш может отдавать неправильные данные.
SEO URL, sitemap, robots.txt, редиректы Чтобы не потерять индексацию и трафик.
WooCommerce Заказы, оплаты, webhooks, сессии Нужно не потерять новые заказы во время переноса.

Когда перенос особенно рискованный

  • сайт принимает заказы через WooCommerce;
  • есть личный кабинет пользователей;
  • есть LMS, курсы, прогресс обучения;
  • есть платные подписки;
  • работают формы заявок;
  • много изображений и файлов в uploads;
  • сайт мультиязычный;
  • есть кастомные плагины;
  • используется Redis/Object Cache;
  • настроены внешние интеграции через API;
  • есть нестандартные правила .htaccess или Nginx.

Решение

Безопасный перенос лучше делать не в один шаг, а по схеме: подготовка, копирование, тестирование, финальная синхронизация, переключение DNS, проверка после запуска.

1. Сделайте полный backup

Официальная документация WordPress по резервным копиям указывает типичный порядок: сначала сохранить базу данных, затем файлы WordPress; при восстановлении обычно сначала возвращают файлы, затем импортируют базу, а при смене доступов к базе обновляют wp-config.php. :contentReference[oaicite:2]{index=2}

В backup должны войти:

  • база данных MySQL/MariaDB;
  • папка wp-content;
  • папка uploads;
  • активная тема и дочерняя тема;
  • плагины;
  • wp-config.php;
  • .htaccess;
  • robots.txt;
  • sitemap-файлы, если они статические;
  • файлы верификации Google/Search Console;
  • кастомные папки в корне сайта;
  • логика cron, если она настроена на сервере;
  • настройки DNS и почты.

2. Подготовьте новый хостинг

До копирования сайта проверьте, что новый хостинг технически подходит под проект.

Проверьте:

  • версию PHP;
  • memory_limit;
  • max_execution_time;
  • upload_max_filesize;
  • post_max_size;
  • наличие нужных PHP-расширений;
  • MySQL/MariaDB;
  • доступ к phpMyAdmin или Adminer;
  • FTP/SFTP/SSH;
  • возможность поставить SSL;
  • поддержку cron;
  • серверный кеш;
  • логи ошибок.

Если сайт переносится для улучшения скорости, не стоит переносить его на хостинг с такими же лимитами. Иначе проблема останется, даже если перенос выполнен правильно.

3. Снизьте TTL заранее

Перед переключением DNS лучше заранее снизить TTL для A-записи домена. Это помогает быстрее переключить посетителей на новый сервер, когда перенос уже проверен.

DNS propagation после смены nameserver или записей может занимать до 24–48 часов, потому что провайдеры и DNS-узлы обновляют кеш не мгновенно. :contentReference[oaicite:3]{index=3}

Практически лучше снизить TTL за 24 часа до переноса, если у вас есть доступ к DNS-зоне. После успешного переноса TTL можно вернуть к нормальному значению.

4. Остановите изменения на старом сайте

Перед финальным переносом нужно не дать старому сайту создать новые данные, которые не попадут в backup.

Для обычного сайта достаточно временно не редактировать страницы. Для WooCommerce, LMS и личных кабинетов лучше включить технический режим или выполнить финальную синхронизацию базы прямо перед переключением DNS.

Особенно важно не потерять:

  • новые заказы;
  • новых пользователей;
  • новые заявки;
  • новые комментарии;
  • новые файлы загрузок;
  • новые оплаты;
  • прогресс пользователей в LMS;
  • новые записи в CRM.

5. Перенесите файлы

Скопируйте все файлы сайта со старого хостинга на новый. Если сайт большой, лучше использовать архив, rsync или SSH, а не перетаскивать тысячи файлов через обычный FTP по одному.

Особое внимание:

  • не потерять скрытые файлы: .htaccess, .user.ini, .env, если они есть;
  • не забыть wp-content/uploads;
  • не смешать старые файлы с новой чистой установкой WordPress;
  • проверить права файлов и папок;
  • проверить владельца файлов на новом сервере;
  • не оставлять backup-архивы в публичной папке после переноса.

6. Экспортируйте и импортируйте базу данных

Экспорт базы можно сделать через phpMyAdmin, Adminer, панель хостинга или mysqldump. На новом хостинге создайте новую базу, пользователя базы и импортируйте дамп.

Проверьте:

  • кодировку базы;
  • префикс таблиц;
  • полный ли дамп базы;
  • нет ли ошибок импорта;
  • совпадает ли DB_NAME в wp-config.php;
  • правильно ли указан DB_USER;
  • правильно ли указан DB_PASSWORD;
  • правильно ли указан DB_HOST.

7. Настройте wp-config.php

После переноса нужно обновить доступы к базе данных в wp-config.php.

Проверьте строки:

  • DB_NAME;
  • DB_USER;
  • DB_PASSWORD;
  • DB_HOST;
  • DB_CHARSET;
  • table_prefix;
  • WP_HOME и WP_SITEURL, если они были прописаны вручную.

WordPress позволяет вручную задать WP_HOME и WP_SITEURL в wp-config.php, но официальная документация предупреждает, что это жёстко фиксирует адрес сайта и не всегда является лучшим решением, потому что такие значения уже нельзя менять на странице общих настроек. :contentReference[oaicite:4]{index=4}

8. Проверьте сайт до смены DNS

Самая безопасная схема — сначала проверить сайт на новом хостинге, а уже потом переключать домен.

Проверить можно через:

  • временный домен хостинга;
  • технический URL;
  • локальный hosts-файл на компьютере;
  • отдельный поддомен;
  • staging-копию.

Через hosts-файл можно открыть основной домен с IP нового сервера только на своём компьютере. Посетители при этом продолжают видеть старый сайт.

9. Исправьте URL, если меняется домен или путь

Если домен не меняется, а меняется только хостинг, массовая замена URL обычно не нужна. Если меняется домен, протокол HTTP/HTTPS или папка сайта, нужно корректно заменить старые ссылки в базе данных.

Нельзя делать грубую замену через обычный текстовый редактор в SQL-файле, если в базе есть сериализованные данные. Это может сломать настройки темы, виджеты, Elementor, WooCommerce, мультиязычные плагины и кастомные поля.

WP-CLI search-replace специально предназначен для поиска и замены строк в таблицах WordPress и умеет корректно обрабатывать PHP serialized data. :contentReference[oaicite:5]{index=5}

10. Настройте SSL

До переключения домена проверьте, что на новом хостинге можно выпустить SSL-сертификат. После смены DNS установите SSL и проверьте редирект с HTTP на HTTPS.

Проверьте:

  • сертификат выпущен на нужный домен;
  • www и non-www работают корректно;
  • нет mixed content;
  • в WordPress указан HTTPS;
  • формы и checkout работают по HTTPS;
  • нет циклических редиректов.

11. Переключите DNS

Когда сайт на новом хостинге проверен, можно переключать DNS. Обычно меняют A-запись домена на новый IP или меняют nameserver у регистратора.

Если меняются только сервер и IP, а домен остаётся тем же, для SEO это обычно безопаснее, чем смена домена. Если меняется домен, нужно делать полноценную SEO-миграцию с 301-редиректами, sitemap и проверкой Google Search Console.

12. Проверьте почту

При переносе хостинга часто забывают, что DNS управляет не только сайтом, но и почтой. Если MX-записи были на старом хостинге, после смены nameserver письма могут перестать приходить.

Проверьте:

  • MX-записи;
  • SPF;
  • DKIM;
  • DMARC;
  • SMTP для форм сайта;
  • почту администратора WordPress;
  • уведомления WooCommerce;
  • письма восстановления пароля;
  • письма форм обратной связи.

13. Если меняется домен — настройте SEO-миграцию

Если перенос идёт на новый домен, это уже не просто смена хостинга. Google Search Central описывает site move как изменение URL существующих страниц, включая смену домена, HTTP на HTTPS или изменение путей. Для минимизации потерь нужно правильно настроить редиректы и обновить сигналы для поиска. :contentReference[oaicite:6]{index=6}

При смене домена нужно:

  • сохранить структуру URL, если возможно;
  • настроить 301-редиректы со старых URL на новые;
  • обновить sitemap.xml;
  • обновить robots.txt;
  • проверить canonical;
  • добавить новый домен в Search Console;
  • использовать Change of Address tool, если переносите сайт на другой домен или поддомен;
  • проверить старые важные URL вручную.

Инструмент Change of Address в Search Console используется после того, как сайт уже перенесён и настроены редиректы; он сообщает Google о переносе с одного домена или поддомена на другой. :contentReference[oaicite:7]{index=7}

Код

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

Экспорт базы через SSH

Куда выполнять: SSH на старом хостинге, в корне сайта.

mysqldump -u DB_USER -p DB_NAME > backup.sql

Замените DB_USER и DB_NAME на реальные данные из wp-config.php. Пароль команда попросит ввести отдельно.

Архив файлов сайта

Куда выполнять: SSH на старом хостинге, в папке сайта.

tar -czf site-files.tar.gz .

После переноса не оставляйте архив site-files.tar.gz в публичной папке сайта.

Распаковка файлов на новом хостинге

Куда выполнять: SSH на новом хостинге, в папке нового сайта.

tar -xzf site-files.tar.gz

Импорт базы на новом хостинге

Куда выполнять: SSH на новом хостинге.

mysql -u DB_USER -p DB_NAME < backup.sql

Настройка wp-config.php для новой базы

Куда вставлять: wp-config.php.

define( 'DB_NAME', 'new_database_name' );
define( 'DB_USER', 'new_database_user' );
define( 'DB_PASSWORD', 'new_database_password' );
define( 'DB_HOST', 'localhost' );

DB_HOST не всегда равен localhost. Некоторые хостинги используют отдельный адрес MySQL-сервера.

Временное включение debug.log

Куда вставлять: wp-config.php, выше строки “That’s all, stop editing”.

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

WordPress использует WP_DEBUG как константу для включения режима отладки, обычно через wp-config.php. На рабочем сайте лучше не выводить ошибки посетителям, а писать их в debug.log. :contentReference[oaicite:8]{index=8}

Проверка URL перед заменой через WP-CLI

Куда выполнять: SSH в корне сайта на новом хостинге. Сначала используйте –dry-run.

wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables --dry-run

Замена URL через WP-CLI

Куда выполнять: SSH в корне сайта на новом хостинге. Выполняйте только после backup базы.

wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables

Проверить адрес сайта через WP-CLI

Куда выполнять: SSH в корне сайта.

wp option get siteurl
wp option get home

Обновить адрес сайта через WP-CLI

Куда выполнять: SSH в корне сайта. Используйте, если нужно изменить siteurl и home.

wp option update siteurl 'https://example.com'
wp option update home 'https://example.com'

Сбросить правила постоянных ссылок

Куда выполнять: SSH в корне сайта.

wp rewrite flush

Проверить целостность ядра WordPress

Куда выполнять: SSH в корне сайта.

wp core verify-checksums

Проверить HTTP-ответ сайта

Куда выполнять: терминал.

curl -I https://example.com

Результат

После правильного переноса сайт должен открываться на новом хостинге без потери страниц, изображений, пользователей, заказов, форм, SEO-настроек и доступа к админке.

Проверьте после переключения:

  • главную страницу;
  • страницы услуг;
  • записи блога;
  • изображения в медиабиблиотеке;
  • формы обратной связи;
  • вход в админку;
  • постоянные ссылки;
  • меню и виджеты;
  • мобильную версию;
  • SSL и редирект HTTPS;
  • robots.txt;
  • sitemap.xml;
  • отправку писем;
  • debug.log;
  • error_log хостинга;
  • скорость загрузки сайта.

Если после переноса появились ошибка 500, белый экран или проблемы после обновления PHP, используйте связанные инструкции: ошибка 500 WordPress и сайт WordPress сломался после обновления.

Дополнительные способы

Перенос через плагин

Для небольшого сайта можно использовать миграционный плагин. Это проще, но не всегда подходит для больших проектов, WooCommerce, сайтов с большим uploads, нестандартным сервером или ограничениями по размеру загрузки.

Плюсы переноса через плагин:

  • проще для владельца сайта;
  • меньше ручной работы;
  • часто автоматически переносит базу и файлы;
  • может заменить URL при смене домена.

Минусы:

  • ограничения по размеру архива;
  • зависимость от лимитов PHP;
  • риск тайм-аута;
  • не всегда удобно для больших сайтов;
  • не решает вопросы DNS, почты, SSL и финальной синхронизации заказов.

Перенос через rsync

Для больших сайтов с SSH лучше использовать rsync. Он передаёт только изменённые файлы и удобен для финальной синхронизации перед переключением DNS.

rsync -avz ./ user@new-server:/path/to/site/

Финальная синхронизация для WooCommerce

Для магазина важно не потерять заказы между первым копированием и переключением DNS. Лучше сделать первый перенос заранее, проверить новый сервер, затем включить временный режим обслуживания, повторно экспортировать базу и uploads, импортировать свежие данные и только после этого переключить DNS.

Проверка DNS после переноса

Проверяйте не только сайт, но и DNS-записи.

nslookup example.com
dig example.com
dig MX example.com

Не удаляйте старый хостинг сразу

После переключения DNS старый хостинг лучше оставить активным хотя бы на несколько дней. Это нужно на случай кеша DNS, забытых файлов, писем или необходимости сравнить старую и новую версию сайта.

Защита после переноса

После переезда проверьте доступы, FTP/SFTP, права файлов, wp-config.php, бэкапы, администраторов и security-настройки. Базовый список есть в материале защита WordPress от взлома.

Частые ошибки

Ошибка 1. Переносить только файлы

Без базы данных сайт потеряет записи, страницы, пользователей, меню, настройки, товары, заказы и данные плагинов.

Ошибка 2. Забыть папку uploads

Если не перенести uploads, на сайте пропадут изображения, документы, PDF, галереи и файлы медиабиблиотеки.

Ошибка 3. Переключить DNS до проверки

Если новый сайт не проверен, после смены DNS посетители могут увидеть ошибку 500, белый экран, отсутствие SSL или сломанные стили.

Ошибка 4. Не проверить почту

При смене nameserver можно потерять MX-записи. Сайт будет работать, а письма — нет.

Ошибка 5. Делать search-replace обычной заменой в SQL

Так можно сломать сериализованные данные. Лучше использовать WP-CLI search-replace или проверенные инструменты для WordPress.

Ошибка 6. Удалить старый хостинг сразу

Если забыли файл, заказ, письмо или DNS ещё не обновился у части пользователей, быстро вернуть данные уже не получится.

Ошибка 7. Не проверить SSL

После переноса сайт может открываться по HTTP, показывать mixed content или давать циклический редирект.

Ошибка 8. Не проверить права файлов

Неправильные права могут сломать загрузку изображений, кеш, обновления, плагины и запись debug.log.

Диагностика проблем

Проблема: после переноса белый экран

Возможная причина: PHP Fatal error, несовместимая PHP-версия, нехватка памяти, ошибка в теме или плагине.

Что делать: включить debug.log, проверить error_log, временно отключить плагины, проверить активную тему и версию PHP.

Проблема: ошибка подключения к базе данных

Возможная причина: неверные DB_NAME, DB_USER, DB_PASSWORD, DB_HOST или права пользователя базы.

Что делать: сверить wp-config.php с данными новой базы, проверить импорт базы и доступ пользователя к базе.

Проблема: изображения не открываются

Возможная причина: не перенесли uploads, неправильные права файлов, старые URL, hotlink-защита или кеш.

Что делать: проверить wp-content/uploads, права файлов, URL изображений, кеш и search-replace.

Проблема: админка открывается, но страницы дают 404

Возможная причина: не перенесён .htaccess, не работают rewrite rules, другая конфигурация Nginx/Apache.

Что делать: зайти в Настройки → Постоянные ссылки → Сохранить, проверить .htaccess или Nginx-конфиг.

Проблема: сайт открывается без стилей

Возможная причина: старый кеш, неправильные URL CSS/JS, mixed content, CDN отдаёт старые файлы.

Что делать: очистить кеш WordPress, CDN, браузера, проверить Network и выполнить корректный search-replace при смене домена.

Проблема: не приходят письма

Возможная причина: потеряны MX-записи, SMTP не настроен, SPF/DKIM не перенесены, почта осталась на старом хостинге.

Что делать: проверить DNS MX, SMTP-плагин, почтовые логи и отправку тестового письма.

Проблема: сайт всё ещё открывается со старого хостинга

Возможная причина: DNS propagation, кеш провайдера, неверная A-запись, hosts-файл, CDN.

Что делать: проверить A-запись, nameserver, dig/nslookup, очистить CDN и подождать обновления DNS-кеша.

Проблема: WooCommerce потерял заказы после переноса

Возможная причина: база была экспортирована до новых заказов, а DNS переключили позже.

Что делать: проверить старую базу, выполнить финальную синхронизацию заказов или восстановить недостающие данные вручную из старого сайта.

FAQ

Можно ли перенести WordPress без простоя?

Да, если заранее подготовить новый хостинг, снизить TTL, скопировать сайт, проверить его через hosts-файл, сделать финальную синхронизацию и только потом переключить DNS. Небольшая задержка из-за DNS всё равно возможна.

Что важнее перенести: файлы или базу?

Нужно переносить и файлы, и базу. Файлы содержат WordPress, темы, плагины и изображения. База содержит записи, страницы, пользователей, настройки, меню, заказы и данные плагинов.

Нужно ли ставить WordPress заново на новом хостинге?

Не обязательно. WordPress можно перенести целиком: файлы + база данных. Официальная документация WordPress указывает, что при переносе на новый сервер переустановка не требуется. :contentReference[oaicite:9]{index=9}

Можно ли перенести сайт через плагин?

Да, для небольших сайтов это часто удобно. Но для больших сайтов, магазинов, LMS и проектов с большим количеством файлов лучше контролировать перенос вручную или через SSH.

Что делать, если меняется только хостинг, а домен остаётся тот же?

Нужно перенести файлы и базу, проверить сайт на новом сервере, настроить SSL, затем изменить A-запись или nameserver. Массовая замена URL обычно не нужна, если домен и протокол не меняются.

Что делать, если меняется домен?

Нужно заменить старый домен на новый в базе через безопасный search-replace, настроить 301-редиректы, обновить sitemap, добавить новый домен в Search Console и использовать Change of Address tool при переносе на другой домен или поддомен.

Почему после переноса не работает админка?

Частые причины: неправильный wp-config.php, ошибка базы, несовместимая PHP-версия, плагин кеша, security-плагин, неправильные права файлов или старый URL в базе.

Сколько времени занимает перенос WordPress?

Зависит от размера сайта, базы, uploads, скорости хостинга, DNS и сложности проекта. Маленький сайт можно перенести быстро, а магазин или LMS лучше переносить по плану с тестированием и финальной синхронизацией.

Нужно ли отключать плагины перед переносом?

Не всегда. Но кеш-плагины, security-плагины, плагины оптимизации и object cache иногда лучше временно отключить или очистить их кеш после переноса.

Когда можно удалить старый хостинг?

Не сразу. Лучше оставить старый хостинг активным несколько дней после переноса, чтобы проверить DNS, почту, забытые файлы, заказы и возможные ошибки.

Нужна помощь?

Если нужно перенести WordPress на другой хостинг без потери данных, важно сделать это аккуратно: сохранить базу и файлы, проверить новый сервер, DNS, SSL, почту, формы и работу сайта после запуска.

Вывод

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

Безопасный порядок такой: backup, подготовка нового хостинга, снижение TTL, копирование файлов, импорт базы, настройка wp-config.php, тест через hosts-файл, SSL, переключение DNS, проверка сайта и финальная очистка кеша.

Главное — не удалять старый хостинг сразу и не переключать DNS до проверки нового сайта. Тогда перенос проходит спокойно, без потери данных, заявок, изображений, заказов и SEO-настроек.

Об авторе

vkuzyomko administrator