Перенос сайта с локального компьютера на онлайн-хостинг

Дата публикации:Апрель 11, 2013

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

  • Сам WordPress – вам нужно будет установить систему на новом месте;
  • Базу данных – вы можете ее перенести с помощью phpMyAdmin;
  • Файлы вашей темы, ее загрузки и плагины;

Итак, процесс переноса сайта с локального компьютера на хостинг состоит из следующих шагов.

1. Выключаем постоянные ссылки.

Отключаем постоянные ссылки на экране «Permalinks», который находится в меню «Settings». Установим их по умолчанию, выбрав пункт «Default» и щелкнув по кнопке «Save Changes».

2. Делаем бэкап базы данных.

Создаем копию базы данных и даем ей новое название (к примеру, добавив префикс «old» к ее старому названию).

3. Устанавливаем WordPress на новом месте и загружаем контент.

Устанавливаем WordPress на онлайн-сервер. С помощью FTP или SFTP копируем файлы из локальной папки «wp-content» в аналогичную папку на сервере, сохраняя ту же самую файловую структуру, что и в локальной сборке.

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

4. Редактируем базу данных.

Просто открыть оригинальный файл базы данных из локальной сборки и отредактировать его не получится. Данные в БД сериализированы, поэтому их нельзя редактировать с помощью обычных текстовых редакторов. Лучше всего для этого воспользоваться специальным инструментом Search-Replace-DB. Замените старый URL-адрес, относящийся к локальной сборке, на новый URL-адрес, относящийся к онлайн-сайту.

К примеру, если ваш старый URL был http://localhost/example, то вам понадобится изменить его, допустим, на http://example.com.

Использование команды replace позволит заметно ускорить данный процесс – в базе данных могут быть храниться тысячи таких экземпляров. Сохраняем базу данных.

5. Удаляем существующую базу данных на хостинге.

Примечание: данный шаг применим только в том случае, если вы использовали для установки WordPress скрипты, такие как Softaculous или Fantastico, поскольку эти скрипты автоматически создают базу данных. Если вы устанавливали WordPress вручную, вы можете проигнорировать данный шаг.

В phpMyAdmin удалите базу данных, которая была создана на сайте при установке WordPress:

Выбираем базу данных, которая нам требуется.

Щелкаем по вкладке Structure

Сразу под списком таблиц выбираем Check All

В выпадающем меню выбираем пункт With selected, после чего пункт Drop.

phpmyadmin-drop-tables

Вылезет предупреждение, спрашивающее, действительно ли вы желаете удалить все таблицы. Щелкаем Yes.

В конце концов вы увидите сообщение, которое сообщит вам, что все прошло успешно:

phpmyadmin-drop-success

6. Загружаем новую базу данных.

Пока вы находитесь в phpMyAdmin, загрузите базу данных, которую вы ранее отредактировали:

Переходим к вкладке Import

Щелкаем по кнопке Choose file

Выбираем базу данных, сохраненную на шаге 4, после чего щелкаем Choose или OK.

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

phpmyadmin-import-success

7. Чистим кэш браузера.

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

8. Заходим в панель администратора на сайте и обновляем постоянные ссылки.

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

Переходим к экрану Permalinks и возвращаем обратно постоянные ссылки.

Все готово!

Источник: wp.smashingmagazine.com

Поделиться

19 комментариев

  1. Я делал проще. Сохранял базу данных в файл, открывал его notepad++ и через поиск и замену менял везде адрес сайта с mytestsite.ru на нужный, ну и в настроках конфиг файла WP естественно и загружал на хостинг и всё.

    Кстати пользуюсь денвером, а там есть возможность создавать сайт непосредственно с настоящим адресом, а не с адресом вида http://localhost/mytestsite. В таком случае, если адреса сайтов совпадают, то и менять ничего не нужно, кроме конфиг файла на хостинге, т.к. там свои названия баз данных.

    • Architect Of Ruin says:

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

  2. Что значит «в сериализованном виде»?

  3. Антон says:

    А как пользоваться Search-Replace-DB? И есть ли другие способы переноса сайта?

    • Дмитрий Алёшин says:

      На Github в разделе Usage описано использование скрипта. Шаги переноса те же самые, могут лишь незначительно отличаться в плане применяемых для этого инструментов.

  4. Антон says:

    Спасибо. Я сразу не понял, что БД редактируется в локальной установке.

  5. Антон says:

    Спасибо, всё замечательно работает!!!

  6. Маргарита says:

    Дитьотй, добрый день.
    Пожалуйста, опишите, подробней, как пользоваться скриптом Search-Replace-DB.
    Прочитала Usage, но не совсем понятно, куда именно подгружать его.

    Заранее благодарна!

  7. Маргарита says:

    Со скриптом разобралась. После этого нужно сделать еще одну копию БД в phpmyAdmin? И снова подгрузить через фтп-клиент на реальный сервер?

    Спасибо.

    • Дмитрий Алёшин says:

      Не совсем понял про копии.
      Если вы про пятый шаг, то надо смотреть по ситуации, в зависимости от того, был ли предустановлен WP на ваш хостинг.

  8. Миша says:

    Дмитрий а какому хостеру вы отдаете предпочтение?

  9. Николай says:

    Спасибо за статью, но у меня это так и не вышло сделать, хорошо что хостер Handyhost сам все перенес к себе на хостинг

  10. Антон says:

    У меня возник вопрос. А если не включать постоянные ссылки в режим по умолчанию, могут ли возникнуть проблемы с ними на хостинге?

  11. Антон says:

    Немного предыстории. Заказала небольшая компания мне сайт на WordPress. В качестве демо установил локально на свой ноут на xampp или wamp (уже точно не помню). Сайт настроил, кое-где подправил код, установил всё необходимое, наполнил контентом. Показал заказчику. Всё понравилось. Решили залить на их сервер CentOS. Заливал всё сам, так как своего админа у них не было. Перед установкой удалил сайт на Drupal. В настройке ссылок ЧПУ на тот момент необходимости не было, но через год компания решила продвинуть свой сайт по SEO. Опять обратились ко мне. И тут я обнаружил, что произвольные ссылки не работают… Что делать, как исправить, в каком направлении двигаться? Ума не приложу. С CentOS дело имею в первый и пока единственный раз.

    CentOS v. 6.6
    Apache v. 2.2.15
    php v. 5.3.3
    MySQL v. 14.14
    Wordpress v. 4.8.3

  12. Дмитрий says:

    Посмотрите вот тут:

    https://www.digitalocean.com/community/questions/wordpress-permalinks-centoos-7

    Здесь для Centos 7 приводится решение, но, возможно, что и для вашей версии подойдет.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.