696 слов | 5 минут
Как перенести сайт на другой хостинг
Перенос сайта пугает многих — кажется что это сложно и сайт обязательно ляжет. На самом деле при правильном подходе перенос проходит незаметно для посетителей. Разберём как это сделать шаг за шагом.
Подготовка
Выберите новый хостинг и создайте аккаунт
Купите тариф на новом хостинге. Пока не трогайте DNS — сайт будет работать на старом хостинге пока вы всё настраиваете на новом.
Запишите текущие настройки
Перед переносом зафиксируйте:
- Версию PHP (в панели управления или
phpinfo()) - Параметры базы данных (хост, имя БД, пользователь, пароль — в конфиг-файле сайта)
- Email-аккаунты на домене если есть
- SSL-сертификат — платный или Let's Encrypt
Шаг 1. Сделайте резервную копию
Никогда не переносите сайт без актуального бэкапа. Нужно скопировать:
Файлы сайта — через FTP-клиент (FileZilla) или архиватор в панели управления:
- Подключитесь к старому хостингу по FTP
- Скачайте все файлы сайта на локальный компьютер
- Или создайте архив прямо в панели управления хостингом
Базу данных — через phpMyAdmin:
- Откройте phpMyAdmin на старом хостинге
- Выберите базу данных сайта
- «Экспорт» → «Быстрый» → формат SQL → «Вперёд»
- Сохраните
.sqlфайл
Или через командную строку:
mysqldump -u имя_пользователя -p имя_базы > backup.sql
Шаг 2. Создайте базу данных на новом хостинге
- Зайдите в панель управления нового хостинга
- Создайте новую базу данных
- Создайте пользователя и назначьте его на базу с полными правами
- Запишите: имя хоста БД, имя базы, пользователь, пароль
Шаг 3. Загрузите файлы на новый хостинг
Подключитесь по FTP к новому хостингу и загрузите все файлы сайта в корневую папку (обычно public_html или www).
Если архив создавали через панель — загрузите архив и распакуйте его на новом хостинге.
Шаг 4. Импортируйте базу данных
- Откройте phpMyAdmin на новом хостинге
- Выберите созданную базу данных
- «Импорт» → выберите
.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 нового хостинга):
- Войдите в личный кабинет регистратора домена (REG.RU, Namecheap и т.д.)
- Найдите управление DNS / NS-серверами
- Замените NS-серверы на указанные новым хостингом
Смена A-записи (если оставляете DNS у регистратора):
- В управлении DNS найдите A-запись для
@иwww - Замените 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.