Заметки сисадмина
Назад

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

Опубликовано: 13.07.2016
Время на чтение: 17 мин
0
1601

Перенос wp со старого хостинга на новыйВ данной заметке я расскажу как можно перенести wordpress блог на другой хостинг. Причины переноса сайта могут быть разные, но в основном клиентов не устраивает либо качество услуг либо цена. Вот и я отметив, в очередной раз конечную стоимость своих 2-х сайтов, решил что пора подыскивать что то более бюджетное, тем более назревал 3-й проект и появилась необходимость в переходе на более продвинутый тариф. Пересмотрев разные варианты остановился на хостинге beget.ru как оптимальном сервисе с точки зрения цены и предоставляемых услуг. Выбрал тариф Start куда входит возможность размещения до 5 сайтов с объемом дискового пространства в 3 Gb и все это за 150 руб в месяц или 1800 руб в год. На моем старом хостинге такого тарифа нет вообще, там сразу идет предложение на 10 сайтов в 3 Гб и стоимостью в 60 с лишним USD. Хотя, если бы даже такой тариф и был то beget все равно дешевле примерно на 200 руб, поэтому оставаться на старом сервере, было совсем не вариант.

Соответственно возникла задача как корректно перенести все данные с одного хостинга провайдера на другой. Решил пойти по пути наименьшего сопротивления и воспользоваться уже существующим бесплатными решениями на базе различных плагинов для WordPress. Поскольку у себя на сайте я уже использую такой плагин как UpdraftPlus Backup/Restore, который занимается тем, что создает резервные копии сайта с определенной периодичностью и копирует в удаленное хранилище (Dropbox), то для переноса сайта на другой хостинг было решено воспользоваться им. В бесплатной версии есть так же вариант с отправкой копий на Google Drive, FTP, Amazon S3, Rackspace, Email. Другие варианты облачных хранилищ доступны в платной версии. Главные преимущества данного плагина и похожих решений перед традиционным переносом сайта, который будет рассмотрен ниже, это:

  • Файлы резервных копий хранятся в облаке и доступны из любой точки мира, так же как и ваш сайт;
  • Автоматизация процесса создания копий по расписанию в определенное время т.к. не нужно тратить время на копирование / перенос содержимого к себе на компьютер, съемный диск и заботится о постоянном обновлении копии;
  • Высокая скорость создания копии основного содержимого сайта и последующего его восстановления;

1) Перенос wordpress сайта на другой хостинг при помощи плагина UpdraftPlus Backup/Restore.

Итак, на исходном хостинге с которого переносим сайт, перейдем в панель управления плагином и познакомимся немного с настройками. На вкладке Current Status мы видим текущее состояние резервирования файлов сайта и базы данных сайта и возможность создания копии прямо сейчас (Backup Now), восстановления (Restore) и клонирования/миграции (Clone/Migrate) при помощи дополнительного платного модуля Migrator. Но нам он не понадобится.

UpdraftPlus_current_status

На следующей вкладке Existing Backups находятся существующие резервные копии внутреннего содержимого директории wp-content, которые создаются автоматически по заданному расписанию. Копии можно восстанавливать (Restore), удалять (Delete) и просматривать лог (View Log), а так же по отдельности загружать архив определенной директории wordpress к себе на компьютер. Кроме этого, есть возможность загрузить копию с компьютера (Upload backup files), просканировать локальное хранилище на наличие новых наборов резервных копий (Rescan local folder for new backup sets), просканировать удаленное хранилище (Rescan remote storage). Внимание, если данный плагин используется для других ваших сайтов, то при сканировании удаленного хранилища могут быть так же загружены их резервные копии. Главное не перепутать.

UpdraftPlus_existing_backups

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

UpdraftPlus_settings

Чуть ниже можно отметить или исключить определенные директории для экспорта в резервную копию (Include in files backup) и настроить уведомление о создании резервной копии по почте (Email).

Updraft Plus Settings 2

На вкладке Advanced Tools сводная информация по серверу, возможность удаленного управления, дебагер и сброс всех настроек плагина (Wipe Settings). На вкладке Premimum / Extensions находятся платные опции. Для простого резервного копирования что-то трогать в них не обязательно.

Теперь снова перейдем на вкладку Exiting Backup и загрузим к себе на компьютер, актуальную версию базы данных сайта (Database) и основной контент сайта, расположенный внутри wp-content, а именно Plugins, Themes, Uploads и другие файлы, которые мы будем восстанавливать на новом хостинге. Обратите внимание, что плагин в бесплатном режиме позволяет выгружать только содержимое директории wp-content и не как не затрагивает содержимое wp-admin и корня сайта (wp core), где у вас могут быть например файлы .htaccess, robots.txt и прочее. Поэтому данные файлы придется предварительно скопировать к себе на компьютер при помощи ftp-клиента и затем уже перенести на новый сайт. И в этом пожалуй кроется единственный минус данного плагина. Правда кому не жалко 15$, то можно допилить его при помощи доп. расширения More Files позволяющего так же создавать backup корня сайта и любых других директорий и файлов :)

Теперь на новом хостинге у нас должен быть установлен новый сайт на движке wordpress и такой же плагин UpdraftPlus Backup/Restore. Приминительно к beget.ru делается все просто.

Переходим в управление сайтами, задаем имя сайта.

beget.ru_new_site

Теперь к созданному сайту необходимо привязать домен, иначе нельзя будет установить WordPress. Переходим в панель управления на вкладку "Управление доменами" и выбираем "Добавить или зарегистрировать домен". Затем в поле "Добавить уже имеющийся домен" прописываем свое доменное имя и укажем что мы хотим направить домен на существующую директорию. После чего нажимаем "Добавить домен".

beget.ru new domain

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

reg.ru ns servers

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

beget.ru new siteПоэтому установим на наш пока пустой сайт CMS - WordPress. Для этого переходим в панель управления на вкладку CMS - Установка систем управления. И добавляем WordPress к нашему сайту. Надо заметить происходит это практически мгновенно.

beget.ru cms wordpress

Напротив версии WordPress кликаем по иконке i, что бы посмотреть информацию для входа в  панель управления сайтом. Затем сразу поставим плагин UpdraftPlus Backup/Restore, что бы при помощи него поскорее восстановить ранее сохраненные резервные копии нашего блога.

UpdraftPlus Backup Restore setup

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

UpdraftPlus existing backups upload new backup

UpdraftPlus_database_restore

В конце плагин попросит нас удалить старые директории .old, которые остались после процесса копирования, соглашаемся. На этом восстановление и перенос сайта на другой хостинг можно считать завершенным. Как видим ничего сложного. Можно воспользоваться и другими похожими по функционалу wordpress плагинами, например WP Migrate, Duplicator, но это уже дело личного выбора.

2) Традиционный перенос wordpress сайта на другой хостинг.

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

Под штатными средствами подразумевается создания дампа базы в консоли mysql или более привычный экспорт mysql базы сайта через web-интерефейс при помощи phpMyAdmin и ручное копирование файловой структуры при помощи ftp-клиента. Для этого на своём хостинге переходим в управление базой MySQL. Находим как перейти в phpMyAdmin. Затем идем на вкладку Экспорт.

beget.ru phpmyadmin

Формат оставляем SQL, жмем Вперед. Сохраняем файл к себе на компьютер. Затем идем на хостинг, на котором мы разворачиваем наш новый сайт. Здесь так же находим панель управления базой данных, в beget.ru вкладка MySQL, где необходимо уже перейти на вкладку Импорт и через кнопку 'Обзор' подпихнуть наш файлик и нажать Вперед, тем самым запустив процесс восстановления базы данных. Другие опции оставляем по умолчанию.

beget.ru phpmyadmin restore

Кстати, если требуется перенести базу данных на хостинг с другим доменным именем, отличным от старого сайта, то перед импортом в дампе sql-файла необходимо найти все строки содержащие записи старого доменного имени и заменить их на новое имя. С этой задачей справится любой продвинутый редактор, например Notepad++ где необходимо выполнить операцию по поиску необходимых записей и замене их на новые.

beget.ru-notepad_plus

Теперь после импорта базы, необходимо перенести основную файловую структуру сайта. Для это подключаемся к сайту через ftp и копируем содержимое прежде всего директории wp-content к себе на компьютер, а также если нужно корня сайта, файлов robots.txt, .htaccess и любых других файлов и директорий которые считаете нужными. После чего, загружаем эти сохраненные файлы уже на новый хостинг своим любимым ftp-клиентом и что бы сократить время копирования, обязательно выбираем опцию "копировать только новые / измененные файлы". Проверяем доступность сайта на новом хостинге.

Поделиться
Похожие записи