Как перенести сайт WordPress на другой хостинг
Причины переноса сайта на другой хостинг у каждого свои: не устроило качество, завышены цены, не хватает вычислительных ресурсов или даже хостер сам попросил вас съехать, так тоже бывает. Но какой бы ни была причина, мы поможем вам сориентироваться с процессом переезда.
Расскажем о переносе движка WordPress с сервера на сервер по шагам (всё, как мы любим – для новичков).
Название Наша оценка Описание Детальнее
5.0
- 40+ расположений по всему миру (включая Россию)
- Доступные цены на VPS и установка любых панелей управления
- Оплата с российских карт и криптовалютой
- Бесплатное тестирование до 3 суток
Посетить сайтpq.hosting
5.0
- На 100% российский хостер, оплата в рублях
- Оперативная техподдержка на русском
- До 7 дней тестирования
- Shared-тарифы, VPS и dedicated-серверы
Посетить сайтadminvps.ru
5.0
- Помощь с переездом (бесплатно)
- Круглосуточная русскоязычная техподдержка
- VPS и выделенные серверы в 35+ странах мира
- Оплата с российских карт и криптой
Посетить сайтishosting.com
Простейшие сайты представляют собой набор статичных HTML-страниц. С их переносом минимум проблем – тут никаких баз данных и языков программирования. Но когда речь заходит о динамических сайтах, работающих на CMS, проблем и подводных камней может быть целый вагон. К примеру, движок может взаимодействовать со сложными системами кеширования и распределёнными сетями доставки контента (CDN), интегрироваться с внешними сервисами и мобильными приложениями, обслуживать API и т.п. Согласитесь, даже звучит страшно.
Маловероятно, что те, кто смог всё это подключить и настроить, не знают, как переносить сайт с хостинга на хостинг. Поэтому мы будем ориентироваться только на начинающих веб-мастеров, которые работают со стандартными конфигурациями WordPress: только сам движок, набор популярных плагинов к нему и база данных. Никаких CDN, web-почты, Elasticsearch, микросервисов и прочего хардкода.
Материал разобьём на шаги, чтобы вы могли свериться со своей последовательностью действий.
Общий план переноса сайта на WordPress:
Содержание статьи:
- 1 Общий план переноса сайта на WordPress:
- 2 Быстрый перенос всех сайтов из панели ISPmanager в панель ISPmanager
- 3 Шаг 1. Подготовка сайта к переносу (выгрузка архивов и БД со старого хостинга)
- 4 Шаг 2. Регистрация аккаунта у нового хостинга
- 5 Шаг 3. Подготовка сервера/окружения
- 6 Шаг 4. Перенос базы данных
- 7 Шаг 5. Перенос файлов сайта
- 8 Шаг 6. Подключение БД к WordPress
- 9 Шаг 7. Перевыпуск или перенос SSL-сертификата
- 10 Шаг 8. Проверка работоспособности сайта
- 11 Шаг 9. Переадресация домена
- 12 Выводы и рекомендации
- Подготовка сайта к переносу (выгрузка архивов и БД)
- Регистрация аккаунта у нового хостинга
- Подготовка сервера/окружения
- Перенос базы данных
- Перенос файлов сайта
- Подключение БД к WordPress
- Перевыпуск или перенос SSL-сертификата
- Проверка работоспособности сайта
- Переадресация домена
Теперь о каждом шаге максимально предметно. Рассматривать будем на примере PQ.Hosting, который предлагает только VPS и выделенные серверы (без общего хостинга). Здесь вы получаете гарантированные вычислительные ресурсы с русскоязычной техподдержкой. Цены – от 4,05 евро/месяц, есть оплата с российских карт.
Быстрый перенос всех сайтов из панели ISPmanager в панель ISPmanager
Шаг 0. Инструкция формата «вместо всех шагов».
Достаточно авторизоваться в панели управления нового хостера (не путайте с биллинг-панелью, вам нужна именно панель управления внутри сервера) и пройтись по шагам:
- В боковом меню выбрать пункт «Пользователи».
- В открывшемся окне выбрать кнопку «Импорт» и пункт «из панели ISPmanager 5…через rsync».
- Заполнить поля для авторизации на старом сервере (URL-адрес доступа к панели, номер порта подключения, имя пользователя и пароль, файл ключа, если нужен).
- Нажать кнопку «Импортировать».
Специальный скрипт в фоне перенесёт сразу все данные: конфигурации доменов (NS-записи и сами имена), SSL-сертификаты, почтовые ящики, файлы с правами доступа, базы данных, пользователей FTP и даже задания планировщика cron.
Такой способ срабатывает не всегда и не для всех ситуаций. Поэтому, если на старом сервере у вас нет соответствующих привилегий или панель управления отличается, то нужно будет пройтись по шагам, описанным ниже.
Шаг 1. Подготовка сайта к переносу (выгрузка архивов и БД со старого хостинга)
Мы рекомендуем начать процесс переезда с выгрузки файлов сайта и его базы данных. Дело в том, что в разных панелях управления могут быть свои особенности архивирования и экспортирования. Где-то процедура занимает пару кликов, а где-то нужно использовать FTP и пофайловое скачивание, которое может растянуться на несколько часов.
Кроме того, многие хостинги предлагают услугу бесплатного переноса сайтов, поэтому этот шаг будет единственным, который вам придётся пройти в реальности (от вас в любом случае потребуется архив сайта, ну или логин/пароль от старой панели управления).
Технически этот шаг можно выполнить уже после регистрации аккаунта у нового хостера и подготовки принимающего окружения. Тут решать только вам когда и что делать.
Если при переносе сайта вам важно сохранить домен и активный трафик, то переадресацию DNS-записей нужно выполнять только после полного переноса всех файлов на новый хостинг. Ни в коем случае не стоит сразу что-то удалять на старом сервере. Он будет выступать в роли резервной копии сайта.
Перед созданием архива можно удалить файлы кеша, но это необязательно. Те же файлы отлично заработают и на новом сервере. Чистить кеш или исключать его при создании бэкапа стоит только для снижения размера архива.
Как выглядит процедура, если используется любая панель управления (без root-доступа, например, на shared-хостинге):
Для одного конкретного сайта (универсальный для всех подход)
- В старой панели управления нужно перейти в раздел управления сайтами.
- Для конкретного сайта нужно запустить онлайн-файловый менеджер. Это может быть кнопка «Файлы сайта», «Файлы» и что-то похожее.
- В файловом менеджере нужно перейти в корневой каталог сайта и выделить абсолютно все папки и файлы, которые там есть.
- Все выделенные файлы нужно заархивировать. Воспользуйтесь соответствующей кнопкой или контекстным меню файлового менеджера.
- Скачайте файл архива на свой ПК (если понимаете, как и что, то можно оставить его в корне сайта и скачать по прямому URL или по SSH-подключению). Если опции создания архивов нет, можно воспользоваться SSH-доступом и специальными консольными командами (для профи). А можно скачать все файлы без сжатия – по FTP (нужна программа-клиент, например, FileZilla, если есть SSH-доступ, то можно воспользоваться WinSCP или аналогичными программами).
- Перейдите обратно в раздел управления сайтами в панели управления и откройте инструмент для работы с базами данных (PhpMyAdmin и т.п.).
- Выделите все таблицы в базе данных и экспортируйте их. В панели управления сервером могут быть специальные встроенные скрипты, например, как в Plesk: раздел «Сайты и домены» –> Базы данных –> Экспортировать дамп. При экспорте желательно выбрать сжатие, тогда размер дампа будет меньше, соответственно, его будет быстрее скачать на ПК и загрузить на новый сервер.
Готово! Если сайтов несколько, повторите шаги для каждого сайта.
На выходе у вас должно получиться по одному архиву с файлами и по одной базе данных на сайт.
Шаг 2. Регистрация аккаунта у нового хостинга
Тут всё зависит от внутренних процессов выбранного провайдера услуги. Но обычно процедура выглядит как в любом веб-сервисе: нужно указать свой email или номер телефона, придумать пароль или воспользоваться интеграцией с аккаунтами соцсетей (VK, Яндекс, Google и т.п.).
Например, если вы хотите воспользоваться услугой бесплатного тестирования VPS у PQ.hosting, то нужно пройти чуть больше шагов:
- Сначала регистрируется учётная запись (требуется указать email, имя, фамилию и пароль).
- Потом нужно выбрать конфигурацию VPS-сервера и добавить его в корзину.
- Затем создаётся тикет в отдел продаж с темой «Тест VPS».
- Останется дождаться одобрения, пройти KYC-верификацию и подтвердить контакты (email/телефон).
Готово, сервером можно пользоваться.
Шаг 3. Подготовка сервера/окружения
Если вы приобрели общий хостинг, то ничего настраивать не нужно. Всё уже готово к работе. Параметры доступа к панели управления обычно отправляют на email.
Но если вы не хотите делить место на сервере с другими пользователями и заказали VPS, то тут могут быть разные варианты развития событий. Сервером можно управлять и без web-панели, но новичкам мы настоятельно рекомендуем установку хостинг-панели, так как через неё гораздо удобнее управлять и сервером, и всеми созданными сайтами. Какую панель выбрать, решать вам. Они есть платные и бесплатные, активно развивающиеся и уже заброшенные.
Наиболее адекватный вариант в Рунете с официальной коммерческой поддержкой – ISPmanager (стоимость лицензий зависит от количества сайтов и нужного функционала).
Как будет выглядеть процедура установки на примере PQ.hosting:
- При создании нового VPS-сервера выбирается любой из стабильных Linux-дистрибутивов (Ubuntu, Debian, CentOS) или FreeBSD.
- Доменное имя можно не указывать (а можно использовать домен одного из будущих сайтов, например, uguide.ru).
- В пункте «Предустановленное ПО» или «Лицензия панели управления» нужно выбрать ISPmanager.
- По желанию можно дополнительно активировать автоматическое резервное копирование всего сервера.
- Услуга заказывается и оплачивается.
После активации и развёртывания сервера вы получаете на email параметры доступа к нему и к внешней панели управления (VMmanager). Останется войти в панель и настроить сервер: добавить FTP-пользователей, выбрать версию PHP, установить обновления, внести правки в настройки ПО и т.п.
Для этого посмотрите в биллинге IP-адрес сервера и введите в браузере:
https://123.456.789.101:1500/ispmgr
где 123.456.789.101 нужно заменить на реальный IP.
Согласитесь на небезопасное подключение и используйте для авторизации параметры root-пользователя (поищите их в письме об активации сервера).
Как минимум, вам нужно создать сайты, которые вы будете переносить от старого хостера:
Действия для панели ISPmanager:
- Перейти в дашборд и выбрать раздел «Сайты».
- Кликнуть кнопку «Создать сайт».
- Ввести доменное имя (без www и http/https).
- SSL-сертификат «Не используется».
- Остальные параметры можно оставить по умолчанию (без создания БД, обработчик PHP, CMS не устанавливать).
В других панелях отдельные моменты могут отличаться. Но общий порядок будет аналогичным.
Шаг 4. Перенос базы данных
Для переноса базы данных со старого сайта нужно выполнить следующие действия:
- Перейти в раздел дашборда «Базы данных» на новом хостинге.
- Создать новую БД и пользователя к ней (тип базы MySQL, обычно кодировка utf8mb64, если не уверены, то скопируйте со старого хостинга).
- Сохранить отдельно имя пользователя базы данных и его пароль – они потребуются в дальнейшем для правки конфига WordPress. Если не хотите ничего редактировать, то полностью скопируйте параметры со старого сервера (имя базы, имя пользователя, его пароль).
- Открыть инструмент управления базой данных (PhpMyAdmin, если установлено, или штатную утилиту импорта).
- Нажать кнопку импорта БД (пункт «Импорт» в верхнем меню для PhpMyAdmin или пункт «Дамп»–> «Импорт» в штатной утилите ISPmanager).
- Указать путь к файлу с дампом на вашем ПК, который был выгружен со старого хостинга (для PhpMyAdmin поддерживаются в том числе zip-архивы, но штатная утилита работает только с распакованными .sql). Остальные параметры можно оставить по умолчанию.
- И запустить процесс загрузки.
После окончания импорта в новой базе данных должны появиться таблицы, характерные для WordPress: ваш_префикс_commentmeta, ваш_префикс_comments, ваш_префикс_links, ваш_префикс_options, ваш_префикс_postmeta, ваш_префикс_posts и т.п.
После создания базы данных её нужно подключить к сайту:
- Откройте дашборд и перейдите в раздел с сайтами.
- Выберите нужный сайт и кликните кнопку «Изменить параметры…».
- В разделе настроек «База данных» из выпадающего списка выберите созданную вами БД.
- Сохраните настройки.
Шаг 5. Перенос файлов сайта
Файлы достаточно скопировать на новый сервер:
- Перейти в раздел управления сайтом в ISPmanager (дашборд -> Сайты -> выбрать нужный сайт -> «Войти в панель с правами владельца»).
- Запустить файловый менеджер (пункт в боковом меню «Менеджер файлов»).
- Перейдите в корневую директорию сайта (www -> ваш-домен.ру)
- Если в директории есть какие-то файлы, удалите их.
- Загрузите файл с архивом (тот, что вы должны были создать в первом шаге нашей инструкции).
- Дождитесь окончания загрузки и распакуйте архив (выделить файл -> кнопка «Архив» -> «Извлечь» -> «Распаковать»).
- Обязательно удалите файл с архивом на новом сервере (иначе его смогут скачать другие пользователи в будущем).
При таком подходе права доступа должны унаследоваться для текущего пользователя сервера. Но если вы работали из-под администратора, то нужно будет сменить права вручную. Из-за конфликтов прав доступа движок WordPress не сможет создавать новые файлы, например при кешировании или при загрузке картинок.
- В файловом менеджере перейдите в корневой каталог сайта (из под root’а).
- Выберите все файлы и папки.
- В выпадающем меню «Редактировать» выберите пункт «Атрибуты».
- Укажите владельцем пользователя и группу «www-root» (это пользователь, который обычно создаётся для web-сервера по умолчанию, но значение может отличаться конкретно в вашем случае).
- В пункте «Изменить дочерние элементы» выберите «изменить владельца» (тогда все вложенные файлы унаследуют новые права доступа).
- Сохраните изменения.
Шаг 6. Подключение БД к WordPress
Если имя БД, логин пользователя БД и его пароль отличаются от значений на старом хостинге, то WordPress не сможет подключиться к базе, соответственно, сайт работать не будет.
Для исправления ситуации нужно:
- Авторизоваться под текущим владельцем сайта (www-root: войдите в дашборд под root’ом -> пункт «Сайты» в боковом меню -> выделить нужный сайт -> кнопка «Войти в панель с правами владельца»).
- Выбрать файл wp-config.php и запустить его редактирование (два раза щелкнуть на названии в менеджере файлов).
- Найти и изменить строки в соответствии с данными нового пользователя базы данных (на новом сервере). За это отвечают строки:
/** Ниже заменяем имя базы данных, только то, что между одинарными кавычками */ define( 'DB_NAME', 'ИМЯ_БД_на_новом_сервере' ); /** Ниже заменяем пользователя базы данных, только то, что между одинарными кавычками */ define( 'DB_USER', 'Имя_пользователя_БД_на_новом_сервере' ); /** Ниже заменяем пароль пользователя базы данных, только то, что между одинарными кавычками */ define( 'DB_PASSWORD', 'Пароль_пользователя_БД_на_новом_сервере' );
- Сохраните и закройте файл.
Готово, теперь сайт сможет работать на новом сервере.
Шаг 7. Перевыпуск или перенос SSL-сертификата
По поводу SSL-сертификатов нет единственно правильной точки зрения, тут стоит действовать так, как вам удобнее.
В чём суть: большинство современных сайтов используют бесплатные SSL/TLS-сертификаты от Let’s Encrypt. Они выпускаются и продлеваются автоматически, специальными скриптами. В ISPmanager есть такой скрипт – вы можете выпустить новый сертификат буквально в пару кликов.
Но есть нюансы:
- В тот момент, когда вы переадресуете домен на новый сервер, старый сертификат действовать перестанет, так как он остался на предыдущем хостинге.
- До момента выпуска нового сертификата пользователи будут видеть предупреждение о небезопасном подключении к сайту (подробнее о разнице http и https).
- Выпустить SSL-сертификат на новом хостинге заранее не получится, так как Let’s Encrypt проверяет владение доменом через специальные атрибуты (они не будут читаться на новом сервере, пока вы не перенаправите домен).
Мы рекомендуем поступать, как в случае с платными SSL-сертификатами:
- Нужно открыть панель управления старым хостингом и скопировать файлы сертификата. В ISPmanager это делается в разделе «SSL-сертификаты»: найти нужный сертификат и выбрать для него пункт «данные сертификата». Вам нужны как минимум сам SSL-сертификат и ключ SSL-сертификата. Если есть содержимое в цепочке сертификатов, то скопируйте и его.
- Далее файлы переносятся на новый хостинг. Для ISPmanager: пункт «SSL-сертификаты» –> кнопка «Добавить сертификат» –> Существующий –> заполнить поля с сертификатом, ключом и цепочкой (если есть). Если работаете под root’ом, то не забудьте выбрать владельцем пользователя www-root.
Теперь, даже если вы переадресуете домен, сайт будет оставаться с защитой (предупреждение пользователям выводиться не будет).
Если вам нужно автоматическое продление, например, если у вас был сертификат от Let’s Encrypt и вы хотите продолжать использовать его и дальше, то после перенаправления домена на новый хостинг можно просто перевыпустить новый SSL-сертификат:
- Открыть раздел дашборда «SSL-сертификаты».
- Кнопка «Добавить сертификат», пункт «Let’s Encrypt».
- Выбрать пользователя www-root (если работаете под root’ом) и домен.
- Нажать кнопку «Выпустить».
Процесс проверки владения доменом запустится автоматически. Если что-то пойдёт не так, система оповестит о наличии ошибки. Старый сертификат, который вы переносили вручную, после этого можно удалить.
Шаг 8. Проверка работоспособности сайта
Не лишним будет убедиться, что на новом сервере всё работает и подключается как надо.
Для этого нужно добавить в файл hosts вашей операционной системы следующую строку:
123.456.789.101 uguide.ru
где 123.456.789.101 нужно заменить на реальный IP нового сервера, а uguide.ru на реальный домен сайта.
В операционных системах Windows файл hosts можно найти по пути «C:\windows\system32\drivers\etc\hosts». Для редактирования нужны права администратора.
Теперь в любом браузере открывайте свой сайт – введите его домен, например, в нашем случае uguide.ru.
Если сайт запускается как положено, можно переходить к последнему шагу.
И не забудьте удалить строку из файла hosts после тестирования!
Шаг 9. Переадресация домена
Вам нужно авторизоваться в панели управления регистратора вашего домена (через него вы получали ваше доменное имя).
Если ваш регистратор имеет соответствующий функционал, то вы сможете изменить ресурсную A-запись:
- Перейдите к управлению ресурсными записями своего домена.
- Если A-запись уже есть, то её нужно отредактировать (несколько A-записей для одного домена быть не может). Если её нет, то нужно создать с нуля:
- Тип «A-запись», Subdomain/Субдомен и т.п. – символ «@», иногда достаточно оставить пустым, значение – IP-адрес вашего сервера (например, 123.456.789.101).
- Выждите пару часов и проверьте работоспособность сайта. Иногда процесс обновления DNS-системы может занимать до пары суток, поэтому наберитесь терпения.
Чтобы проверить обновление IP, можно воспользоваться любым онлайн-сервисом, который умеет возвращать IP по домену.
А можно почувствовать себя бородатым сисадмином, открыть терминал и ввести команду:
nslookup uguide.ru
Вместо uguide.ru укажите ваш домен!
Если вы работаете через роутер, то первым адресом в ответе будет что-то похожее на 192.168.0.1 или 192.168.1.1 (это локальный IP роутера). Последний адрес в списке – IP-адрес сайта на указанном домене.
Если IP домена и сервера (тот, что значится в биллинг-панели) совпадают, то обновление DNS прошло успешно.
Более сложный подход – использование внешнего DNS-хостинга. Подходит для тех случаев, когда у регистратора домена нет возможности правки отдельных ресурсных записей:
- Так как у PQ.Hosting есть бесплатная услуга DNS-хостинга, логично ею воспользоваться. Войдите в биллинг-панель и закажите услугу.
- Откройте панель DNSmanager (кнопка «Перейти» для конкретной услуги в списке).
- Добавьте новый домен и пропишите для него IP-адрес сервера. Сохраните.
Всё остальное система добавит автоматически. Примерно так будут выглядеть ресурсные записи. При желании их можно будет отредактировать:
- Войдите в панель управления регистратора домена.
- У выбранного домена пропишите NS-серверы нового хостинга (если аналогичные записи уже есть, то замените их, лишние удалите). Для PQ.Hosting это:
-
ns1.pq.hosting
-
ns2.pq.hosting
-
Готово! После того, как DNS-система обновится, домен сначала будет переадресовываться на NS-серверы PQ.hosting, а оттуда на ваш сервер.
Выводы и рекомендации
Инструкция только выглядит внушительно и сложно. На самом деле, действий по переносу не так много. Основные шаги, если их сильно упростить, сводятся только к тому, чтобы вы перенесли файлы сайта и базу данных. Немного тяжелей с SSL-сертификатами. Если не хотите с ними возиться, то просто дождитесь обновления DNS (после переадресации домена) и выпустите новый бесплатный SSL от Let’s Encrypt.
Существует большой ассортимент специальных плагинов для переноса WordPress, но на деле они только усложняют и запутывают процесс. Ведь все динамические сайты переносятся одинаково: файлы+БД.
- Автор: Дмитрий Луценко
Источник: uguide.ru