696 слов | 5 минут

Как перенести сайт на другой хостинг

Перенос сайта пугает многих — кажется что это сложно и сайт обязательно ляжет. На самом деле при правильном подходе перенос проходит незаметно для посетителей. Разберём как это сделать шаг за шагом.

Подготовка

Выберите новый хостинг и создайте аккаунт

Купите тариф на новом хостинге. Пока не трогайте DNS — сайт будет работать на старом хостинге пока вы всё настраиваете на новом.

Запишите текущие настройки

Перед переносом зафиксируйте:

  • Версию PHP (в панели управления или phpinfo())
  • Параметры базы данных (хост, имя БД, пользователь, пароль — в конфиг-файле сайта)
  • Email-аккаунты на домене если есть
  • SSL-сертификат — платный или Let's Encrypt

Шаг 1. Сделайте резервную копию

Никогда не переносите сайт без актуального бэкапа. Нужно скопировать:

Файлы сайта — через FTP-клиент (FileZilla) или архиватор в панели управления:

  1. Подключитесь к старому хостингу по FTP
  2. Скачайте все файлы сайта на локальный компьютер
  3. Или создайте архив прямо в панели управления хостингом

Базу данных — через phpMyAdmin:

  1. Откройте phpMyAdmin на старом хостинге
  2. Выберите базу данных сайта
  3. «Экспорт» → «Быстрый» → формат SQL → «Вперёд»
  4. Сохраните .sql файл

Или через командную строку:

mysqldump -u имя_пользователя -p имя_базы > backup.sql

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

  1. Зайдите в панель управления нового хостинга
  2. Создайте новую базу данных
  3. Создайте пользователя и назначьте его на базу с полными правами
  4. Запишите: имя хоста БД, имя базы, пользователь, пароль

Шаг 3. Загрузите файлы на новый хостинг

Подключитесь по FTP к новому хостингу и загрузите все файлы сайта в корневую папку (обычно public_html или www).

Если архив создавали через панель — загрузите архив и распакуйте его на новом хостинге.

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

  1. Откройте phpMyAdmin на новом хостинге
  2. Выберите созданную базу данных
  3. «Импорт» → выберите .sql файл → «Вперёд»

Для больших баз данных (более 50 МБ) phpMyAdmin может не справиться. Используйте командную строку:

mysql -u имя_пользователя -p имя_базы < backup.sql

Шаг 5. Обновите конфигурационный файл

Теперь нужно указать сайту новые параметры базы данных.

WordPress — файл wp-config.php:

define('DB_NAME', 'новое_имя_базы');
define('DB_USER', 'новый_пользователь');
define('DB_PASSWORD', 'новый_пароль');
define('DB_HOST', 'новый_хост'); // обычно localhost

1С-Битрикс — файл /bitrix/php_interface/dbconn.php:

$DBName = "новое_имя_базы";
$DBLogin = "новый_пользователь";
$DBPassword = "новый_пароль";
$DBHost = "localhost";

Laravel — файл .env:

DB_HOST=localhost
DB_DATABASE=новое_имя_базы
DB_USERNAME=новый_пользователь
DB_PASSWORD=новый_пароль

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

Это важный шаг — убедитесь что всё работает до того как переключите домен.

Через файл hosts (без изменения DNS):

Найдите IP-адрес нового хостинга (указан в панели управления или через ping новый-хостинг.ru).

Откройте файл hosts на вашем компьютере:

  • Windows: C:\Windows\System32\drivers\etc\hosts
  • Mac/Linux: /etc/hosts

Добавьте строку:

123.456.789.0  ваш-сайт.ru www.ваш-сайт.ru

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

После проверки удалите добавленную строку из hosts.

Шаг 7. Настройте SSL на новом хостинге

До переключения DNS установите SSL-сертификат:

Let's Encrypt — бесплатный, большинство хостингов устанавливают в один клик из панели управления.

Платный сертификат — если использовали платный, нужно перевыпустить или перенести. Обратитесь в техподдержку.

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

Когда всё готово и проверено — меняйте DNS-записи у регистратора домена.

Смена NS-серверов (если переходите на DNS нового хостинга):

  1. Войдите в личный кабинет регистратора домена (REG.RU, Namecheap и т.д.)
  2. Найдите управление DNS / NS-серверами
  3. Замените NS-серверы на указанные новым хостингом

Смена A-записи (если оставляете DNS у регистратора):

  1. В управлении DNS найдите A-запись для @ и www
  2. Замените IP-адрес на IP нового хостинга

Время распространения DNS: изменения вступают в силу за 1–48 часов. В большинстве случаев — в течение 2–4 часов.

Шаг 9. Переходный период

Пока DNS распространяется — оба сервера работают. Убедитесь что на старом хостинге нет активных процессов (крон-задачи, отправка email) которые конфликтуют с новым.

Не удаляйте аккаунт на старом хостинге минимум 2–3 дня после переноса. Если что-то пойдёт не так — можно быстро вернуться.

Особенности переноса разных CMS

WordPress

После переноса проверьте URL в настройках:

SELECT option_value FROM wp_options WHERE option_name = 'siteurl';
SELECT option_value FROM wp_options WHERE option_name = 'home';

Если URL содержит старый хостинг — исправьте через phpMyAdmin или через wp-cli:

wp search-replace 'старый-url.ru' 'новый-url.ru'

1С-Битрикс

  • После переноса зайдите в «Настройки» → «Инструменты» → «Агенты» — проверьте что агенты работают
  • Перепривяжите лицензию: «Настройки» → «Лицензия»
  • Очистите кэш: «Настройки» → «Производительность» → «Сбросить кэш»
  • Если используете Битрикс.VM — перенастройте серверное окружение

Laravel

# Обновите зависимости
composer install --no-dev

# Сгенерируйте ключ приложения
php artisan key:generate

# Запустите миграции
php artisan migrate

# Очистите кэш
php artisan config:cache
php artisan route:cache

Частые проблемы при переносе

Сайт открывается, но картинки не загружаются — скорее всего не все файлы перенесены. Проверьте папку с загрузками (uploads, files, images).

Ошибка подключения к базе данных — неверные параметры в конфиг-файле. Проверьте имя хоста (часто localhost, но иногда другой адрес — уточните у хостинга).

Сайт открывается со старого сервера — DNS ещё не распространился. Подождите или проверьте через файл hosts.

Форма отправки не работает — проблема с настройкой email на новом хостинге. Настройте SMTP или уточните настройки sendmail у хостинга.

Кодировка сломалась — при экспорте/импорте базы данных нужно соблюдать кодировку. Убедитесь что при импорте выбрана кодировка utf8mb4.

Если не хотите разбираться с переносом самостоятельно — обратитесь к нам. Перенесём сайт без простоя, проверим все функции и настроим SSL.