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

Не всегда хостинг оправдывает ожидания. В какой-то момент вы можете понять, что текущий провайдер не справляется: жалуется на то, что вы превышаете лимиты, часто бывает недоступным, техподдержка молчит или реагирует крайне медленно, во всём винит вас вместо того, чтобы реально помочь и т.д.

Иногда проблемы бывают гораздо хуже: компания-хостер обанкротилась, её сервера внезапно арестовали, или просто кто-то оборвал входящие кабели с Интернетом… Причин может быть масса.Ниже мы поговорим о технической стороне вопроса – как правильно сбежать от текущего хостера к другому.

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

Наиболее часто новички пользуются услугами shared-хостингов, где у них нет доступа к самому серверу. А в качестве CMS-системы используют WordPress (по статистике, на этой CMS работает более половины всех сайтов в Рунете).

Именно поэтому мы и рассмотрим более детально процесс переноса WordPress-сайта на другой хостинг.

Какие варианты переноса возможны

Способов миграции сайта немало, но выбор часто зависит от сложившейся ситуации: какие возможности по управлению сайтом предоставляет действующий хостинг-провайдер, какие возможности есть у нового, какие навыки и опыт имеются у пользователя и т.д. Например, кому-то может быть непонятен синтаксис командной строки при SSH-подключении; у старого хостера может использоваться нестандартная панель управления; у кого-то низкая скорость подключения при том, что архив с сайтом очень большой и т.д.

Итак, сначала о самих способах переноса:

  1. Через интерфейс панели управления (создание бэкапа сайта и дампа базы данных, их перенос и развертывание – тоже через панель).
  2. Создание архивов и выгрузка базы данных вручную, ручной перенос и распаковка на новом хостинге.
  3. Прямое копирование файлов без архивирования и загрузка на новый сервер.
  4. Воспользоваться предложением нового хостера по бесплатному переносу сайта (если такое предложение есть).

На последнем способе мы останавливаться не будем, так как особого участия пользователь здесь не принимает. Главное – проверить результат и убедиться, что всё работает как раньше.

До начала переноса

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

Всё начинается с доменного имени. Вообще, зайти на ваш сайт потенциально можно используя только IP-адрес сервера, но это при условии, что на сервере кроме вашего сайта больше ничего нет. А так как shared-провайдеры могут размещать на одном IP до нескольких сотен сайтов, то при прямом заходе на сервер с большой вероятностью можно увидеть страницу-заглушку или вообще ошибку.

Доменное имя используется как дополнительный идентификатор, поэтому запросы к shared-серверу достигают нужного сайта.

Сам домен – это некая человекопонятная запись, которая помогает связать браузер клиента с конкретным IP-адресом сервера. Такие записи заносятся и хранятся в специальной системе DNS-серверов. Обновление актуального размещения занимает время (до 3-х суток).

Что это значит? Это значит, что если вы развернёте архив своего сайта на новом сервере и сразу удалите его на старом, то вместо вашего web-ресурса пользователи будут видеть ошибку или, если старый хостер правильно настроил свой сервер, страницу-заглушку с рекламой его услуг.

Чтобы такого не произошло, переносить сайт нужно строго по плану – сначала скопировать файлы и перенести базу данных, убедиться в том, что сайт работает на новом месте, и только потом перенаправлять домен. После того, как система DNS обновится (иногда этот процесс может занимать менее 3 дней, например, у РЕГ.ру процесс обновления занимает около суток), можно удалять аккаунт у старого хостера.

Перенаправление домена

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

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

Хостер, как и любой другой клиент регистратора, имеет свою учётную запись, из-под которой регистрирует новые домены. Получается, что вам нужно передать домен из одной учётной записи в другую (в свою или в запись другого посредника).

Есть два способа переноса:

  1. Частичный (вы будете видеть основные параметры домена, но не сможете им управлять).
  2. Полный (будут доступны все возможности управления).

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

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

  • Если посредник не хочет переносить ваш домен – обращайтесь напрямую к регистратору (тоже нужно будет подтвердить свою личность).
  • Если у вас ещё нет аккаунта у регистратора, его нужно будет создать. Исключение – если вы переносите свой домен другому посреднику.

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

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

Если вы используете специальные сервисы, такие как «Почта» для доменов Яндекса или аналогичное решение от Mail.ru, то возможности управления будут отличаться (здесь нужно обращаться к официальной документации ПДД Яндекса/Майл.ру, обычно в качестве NS будет использоваться конкретный IP-адрес).

Пример для хостера Bluehost:

  • ns1.bluehost.com
  • ns2.bluehost.com

Или можно использовать конкретные IP-адреса:

  • 162.88.60.37
  • 162.88.61.37

Обратите внимание, некоторые панели управления автоматически проверяют NS-записи. И, если они указывают на сторонние сервера, то мастер создания нового сайта выдаст ошибку.

Чтобы проверить на какие записи указывает домен, можно воспользоваться специальными сервисами, например, reg.ru/whois.

Перенос сайта через панель управления

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

Шаг 1. Создание архива на старом хостинге

Открываете интерфейс файлового менеджера (некоторые хостеры могут предлагать даже несколько на выбор) и переходите в каталог с сайтом. Адрес каталога будет определяться настройками хостинга.

Выделяете корневой каталог с файлами сайта и создаёте архив, если доступен соответствующий функционал (это может быть кнопка создания архива в формате .zip, но возможны и другие варианты: .tar, .tar.gz, .tgz и т.п.). Задаёте имя архива.

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

Шаг 2. Скачивание архива

Дожидаетесь окончания процесса архивации и скачиваете архив на свой ПК.

Если новый хостер позволяет скачивать архивы с указанного адреса (через интерфейс файлового менеджера), то можно переместить файл архива, например, в корень сайта.

В этом случае он будет доступен для скачивания по адресу vash-domen.ru/vash-archiv.zip

Обратите внимание, незапароленные архивы позволяют получить доступ ко всему содержимому вашего сайта любым посторонним лицам, если они перейдут по этому URL. Будьте осторожны!

Шаг 3. Создание сайта в панели управления

На примере cPanel у Bluehost. Переходите в секцию «My Sites/Мои сайты» (в боковом навигационном меню слева). Нажимаете кнопку «Add Site/Добавить сайт» и выбираете WordPress.

Указываете свой домен и название папки, в которой будут размещаться файлы сайта (можно ввести что-то универсальное, если у вас только 1 сайт, например, /wordpress, хотя логичнее использовать имя домена, особенно если сайтов несколько).

Перейдите в новый каталог и удалите все созданные там файлы.

Шаг 4. Загрузка на новый хостинг

Откройте менеджер файлов в панели управления нового хостинга, перейдите в корневую директорию сайта.

Выберите пункт меню для загрузки файлов и укажите ваш архив.

После окончания процесса выделите архив и распакуйте его в текущую директорию

Шаг 5. Правка конфигурационных файлов

Используя встроенный редактор текста, вы можете поправить файл wp- config.php (актуально для WordPress-сайтов).

Необходимо найти в файле строки, отвечающие за подключение к базе данных. Обычно в редактировании нуждаются только строки

	

define( 'DB_NAME', 'ЗДЕСЬ_НОВОЕ_ИМЯ_БД' );

define( 'DB_USER', 'ЗДЕСЬ_НОВЫЙ_ПОЛЬЗОВАТЕЛЬ_БД' );

define( 'DB_PASSWORD', 'ЗДЕСЬ_ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_БД' );

Имя сервера (localhost) в правке, как правило, не нуждается, но у нового хостера могут быть свои требования на это счёт. Если вы переходите в Bluehost, то здесь всё стандартно – используется localhost.

Шаг 6. Перенос базы данных

Схема переноса аналогична файлам, только для работы понадобится другой инструмент – интерфейс для управления БД (обычно это phpMyAdmin, но хостер может использовать альтернативные инструменты). Утилита открывается из панели управления хостингом, расположение кнопки запуска будет зависеть от версии панели.

На старом хостинге нужно выделить нужную базу данных и выгрузить её. Лучше всего выбирать сжатие .zip (поддерживается не на всех хостингах). Так размер дампа БД будет существенно меньше, а значит, время выгрузки и последующей загрузки тоже сократится.

Экспорт баз данных

Теперь на новом хостинге откройте менеджер/мастер управления базами данных и создайте новую БД+пользователя для неё (если БД и пользователь не были созданы автоматически при регистрации нового сайта в панели управления хостинга).

Откройте phpMyAdmin и выделите созданную БД. Перейдите на вкладку «Импорт/Import» и выберите файл с вашим дампом со старого хостинга.

Импорт баз данных

Убедитесь, что в таблице появились новые записи после окончания импорта.

Шаг 7. Проверка работоспособности

Некоторые хостинг-провайдеры автоматически создают алиасы (псевдонимы) для новых сайтов, что позволяет проверить их доступность, не дожидаясь перенаправления основного домена.

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

Чтобы не вредить SEO, после проверки работоспособности псевдоним лучше удалить в панели управления. Иначе поисковые системы, если узнают альтернативный адрес, будут воспринимать основной домен и алиас как два разных ресурса, но с одинаковым контентом. Или указывайте псевдоним в качестве зеркала (в файле robots.txt, в директиве host должен быть прописан основной домен).

Перенос из консоли

Для профи и «бородатых линуксоидов» это самый простой вариант, но для новичков такой подход кажется чем-то очень сложным. Хотя при детальном изучении всё выглядит не так уж и страшно.

Очень важно, чтобы ваш новый и/или старый хостер предоставляли доступ к SSH. Иногда такую опцию можно активировать за отдельную плату, а иногда нужно просто попросить провайдера активировать её для вашего аккаунта. Например, у Bluehost подключение SSH нужно запросить.

Шаг 1. Создание архивов

Для подключения к серверу понадобится его IP-адрес, номер порта, имя пользователя и пароль (выдаются при активации услуги, обычно высылаются на электронную почту).

В качестве клиента можно использовать наиболее привычное ПО, например, PuTTY (если работаете из-под Windows).

В консоли переходите в нужный каталог (все имеющиеся каталоги можно посмотреть командой ls):

cd /каталог/сайта/

Если знаете полный путь к каталогу, можно сразу создать архив командой:

tar -cvf имя_архива.tar /полный/путь/к_каталогу_сайта

Обратите внимание, файл архива создастся в той директории, в которой вы находитесь в настоящий момент (в корневой, если вы никуда не переходили).

Шаг 2. Создание дампа базы данных

mysqldump -u ИМЯ_ПОЛЬЗОВАТЕЛЯ_БД -p ИМЯ_БД > НАЗВАНИЕ_ДАМПА.sql

Здесь нужно указывать пользователи и имя БД от старого хостинга.

После нажатия ввода приготовьтесь указать пароль пользователя БД.

Шаг 3. Скачивание / загрузка архива

Для скачивания полученных файлов можно использовать любой FTP-клиент (например, FileZilla) или SFTP-клиент (например, WinSCP).

Ими же можно воспользоваться для загрузки архивов/файлов на новый хостинг.

Если вы не хотите скачивать файлы на свой ПК, а потом выгружать их на новый хостинг, можно переместить файлы в корень сайта и скачать их сразу в нужный каталог нового хостинга командой

wget адрес_сайта/ваш_архив.tar

(вводить команду нужно, находясь в нужном каталоге нового хостинга).

Шаг 4. Распаковка

Просто введите

tar -xvf имя_архива.tar

или

tar -xvf имя_архива.tar -C /полный/путь/к_каталогу_сайта

если нужно распаковать архив в конкретную папку.

Шаг 5. Импорт базы данных

mysql -u ИМЯ_ПОЛЬЗОВАТЕЛЯ_БД -p ИМЯ_БД < НАЗВАНИЕ_ДАМПА.sql

После ввода появится запрос пароля пользователя БД.

Шаг 6. Правка конфигурационных файлов

Файл wp-config.php можно скачать с помощью FTP или SFTP-клиента на свой ПК и отредактировать в удобном текстовом редакторе. После внесения изменений его нужно закачать на новый хостинг в соответствующую директорию.

Всё, сайт перенесён.

Поштучное копирование файлов по FTP

Часто архивирование файлов из консоли или даже из панели управления хостингом (в том числе через интерфейс онлайн файлового менеджера) приводит к нежелательным последствиям.

  • Может нарушаться кодировка символов (давняя проблема, которая проявляется на разных конфигурациях серверов по-разному, всегда в зоне риска кириллические и иные символы, отличающиеся от латиницы).
  • Превышается время, отведённое на создание архива (процесс прерывается, архив получается «битым»).
  • Большие архивы тяжело скачивать с сервера и сложно загружать. Многие хостеры устанавливают лимиты на размеры (нужно дробить архивы на части или запаковывать отдельные каталоги).

Всего этого можно избежать, если использовать классическое FTP-подключение и скачивать отдельные файлы поштучно.

Подходит для такой задачи любой FTP/SFTP клиент (те же FileZilla и WinSCP).

В остальном алгоритм переноса практически ничем не отличается от предыдущих, но гарантированно работает везде (так как FTP-доступ предоставляется всеми провайдерами хостинга):

  1. Выполняется подключение к старому хостингу.
  2. Выделяется каталог с файлами сайта.
  3. Инициируется процесс скачивания в выбранную папку на ПК.
  4. При обрывах процесс можно продолжать с последнего не файла, который не скачался.
  5. Вносятся правки в конфигурационный файл wp-config.php непосредственно на ПК (перед загрузкой).
  6. Выполняется подключение к новому хостингу.
  7. Выделяется каталог на ПК и начинается процесс загрузки в выбранную папку на сервере.
  8. База данных экспортируется и импортируется любым поддерживаемым способом (из консоли или с помощью phpMyAdmin, о них выше).

Сайт готов к работе.

Возможные проблемы

Даже наличие большого опыта работы с разными движками и хостингами не гарантирует того, что в процессе переноса не возникнут ошибки. Всё всегда очень индивидуально.

Чтобы снизить риски, заведите привычку делать бэкапы (файлов сайта и базы данных), периодически пробуйте их разворачивать в тестовой среде. Для этого могут пригодиться виртуальные машины или локальные сервера, такие как сборка Open Server. Вообще, любые значимые действия с сайтом производите в тестовой среде. Это обезопасит вас от любых потенциальных проблем (начиная от несовместимости расширений и заканчивая неудачными правками шаблона).

Cookies заблокированы или не поддерживаются

Сообщение появляется при попытке входа в админ-панель. Скорее всего вы ранее редактировали файл functions.php в вашей теме оформления или правили wp-config.php. Нужно пересохранить эти файлы в кодировке UTF-8 без BOM. Если проблема не ушла – переименуйте каталоги тем и плагинов, создайте новые пустые каталоги и по одному переносите в них свои шаблоны и дополнения. Возможно, кто-то из них запускается раньше, чем это разрешено. Если и это не помогло – отключите кэширование для страницы wp-login.php.

После переноса все или отдельные картинки не отображаются

Первая вероятная причина – сами файлы не перенеслись или распаковались с ошибкой. Проверить, так ли это, очень просто. Нужно посмотреть путь размещения файла с проблемной картинкой и найти её в соответствующем каталоге. Если её нет – вы забыли её скопировать, она не попала в архив, неправильно распаковалась и т.д. Решение – проверьте свой архив с файлами или просто перекачайте проблемные файлы со старого хостинга.

Вторая причина – кириллица или другие нелатинские символы в наименовании. Характерный признак – вместо адекватных названий файлов в каталоге будут лежать изображения с нечитаемыми именами. Решение – скачать все файлы со старого хостинга поштучно (через FTP/SFTP без архивации). И также загрузить на новый хостинг. Это будет долго, но результативно.

Вместо любой страницы сайт выдаёт ошибку соединения с базой данных

Здесь всё просто – вы либо забыли поправить конфигурационный файл (wp-config), чтобы вписать туда новые параметры подключения к БД, либо неправильно импортировали БД.

Съехала тема

Весьма актуальная проблема, которой страдают многие современные темы WordPress. Дело в том, что свои параметры (настройки) темы хранят тоже в базе данных, но по какой-то причине для этого используют сложные многомерные массивы. При переносе через импорт-экспорт такие структуры легко повреждаются (из-за сложного синтаксиса и обилия спецсимволов). Выход только один – выгрузка и загрузка дампов только через командную строку. На shared-хостингах такая возможность доступна редко. Проще и быстрее будет настроить тему заново. Если она поддерживает свою систему экспорта/импорта настроек – воспользуйтесь ею.

Вместо выводов

Несмотря на различные конфигурации хостингов, перенести сайт можно практически по стандартному алгоритму: создание архива файлов и выгрузка дампа базы данных, а затем их загрузка и распаковка на новом сервере. Главное – не забыть поправить файл конфигурации, чтобы сайт на новом хостинге смог подключиться к базе данных. А ещё нужно перенаправить свой домен на новые сервера.

Всё остальное – это технические детали, которые могут отличаться в зависимости от знаний и навыков самого пользователя, а также от технических возможностей/ограничений хостеров.

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