Доброго времени суток, уважаемые читатели блога Мои тараканы!
Недавно возникла потребность перенести сайт на WordPress с сервера одного хостинг провайдера на сервер другого хостинга. В принципе, причин для этого может быть множество — вас перестали устраивать услуги хостера (большая цена или не удовлетворительное качество), вы купили уже готовый проект или же просто хотите создать тестовую копию вашего творения.
На вопрос «как перенести сайт» может быть много вариантов ответов, всё зависит от того что именно вам нужно — со сменой домена, без смены домена, перенос на Денвер (локальный компьютер), другой движок. В данной статье расскажу о том как произвести перенос сайта на WordPress на примере двух хостинг-провайдеров. Экспорт будет производиться из Hostenko на TimeWeb.
У меня прошло всё гладко. Правда возникало несколько интересных нюансов, о которых я и напишу в этой статье.
Перенос файлов
Первое, с чего мы начнем, это копирование файловой системы. Для этого нам обязательно понадобиться программа FileZilla — без неё перенос сайта на другой хостинг невозможен. Скачиваем. Устанавливаем. Запускаем.
Открываем программу и кликаем по иконке в верхнем левом углу.
В диалоговом окне настраиваем соединение с сервером.
1. Создаем новое соединение.
2. Придумываем ему название.
3, 5, 6. Эти параметры узнаем у хостера (см. ниже).
4. Тип входа Нормальный.
7. Соединиться.
Для соединения нам нужны параметры Хост, Пользователь и Пароль — их мы узнаём в панели управления хостингом (как я говорил в начале поста, переносить ресурс мы будем из Хостенко).
Переходим в Личный кабинет >> Управление хостингом:
Отсюда берём данные Хост, Пользователь (login), Пароль.
Теперь мы можем соединиться с сервером по протоколу ftp (File Transfer Protocol).
Перенос файлов с сервера на компьютер
В левой половине экрана мы видим папки и файлы, находящиеся на нашем компьютере, справа — на удалённом сервере. Нам нужно создать папку на компьютере (правой кнопкой мыши «Создать каталог и открыть его») и туда скопировать все содержимое из корневой директории (кликнуть по одному из элементов, нажать на клавиатуре Ctrl+A (выбрать все) и просто перетянуть файлы в нужную нам папку).
Простым перетягиванием копируем файлы к себе на компьютер
Копирование может занять длительное время. У меня этот процесс занял 15 минут.
Выгрузка файлов на сервер
Для начала, в панели управления хостингом (напомню, мы переезжаем на ТаймВеб) нужно создать директорию для переезда.
Это можно сделать двумя способами: либо создать новый сайт и подключить к нему домен (как подключить домен читайте мою статью), либо создать его на поддомене, что, в принципе я и сделал.
1. Придумываем имя для поддомена.
2. Указываем директорию.
Соединяемся по ftp с сервером TimeWeb при помощи уже известной нам программы FileZilla. Данные для подключения мы найдём на главной страничке панели управления.
Когда подключимся, мы увидим созданную нами через админку директорию, и уже имеющиеся там папку cgi-bin и файлик index.htm. Вот как прокомментировали наличие этих файлов в службе поддержки:
Индексный файл index.htm и папка cgi-bin создаются автоматически. Вам необходимо добавить индексный файл Вашего сайта и затем удалить файл index.htm. Папка cgi-bin не влияет на работу сайта и также может быть удалена.
Удаляем их и переносим все, что мы сохранили в папку на компьютере в корневую папку на хостинге.
Экспорт-импорт базы данных
Файловую систему мы перенесли. Но это только половина дела. Если мы сейчас перейдем по адресу нашего сайта мы увидим следующее сообщение: Ошибка установки соединения с базой данных. Ясное дело — базы данных (далее буду использовать сокращение БД) у нас то ещё нет.
Экспорт базы данных
Снова возвращаемся в админ-панель Hostenko. Личный кабинет >> Управление хостингом.
Переходим в phpMyAdmin (панель управления базой данных).
Делаем экспорт таблиц БД.
Сохраняем дамп БД в формате SQL себе на компьютер.
Импорт и настройка базы данных
Теперь идём в панель управления TimeWeb и создаем новую БД. Обязательно запомните, как вы её назвали и пароль к ней.
Открываем в Notepad++ (FTP настраивается по такому же принципу как и в FileZilla) wp-config.php (находится в корневой директории), в нём прописаны настройки к старой БД их нужно изменить на новые:
// ** Параметры MySQL: Эту информацию можно получить у вашего хостинг-провайдера ** // /** Имя базы данных для WordPress */ define('DB_NAME', 'сюда вписываем имя БД'); /** Имя пользователя MySQL */ define('DB_USER', 'сюда имя пользователя (может совпадать с именем БД)'); /** Пароль к базе данных MySQL */ define('DB_PASSWORD', 'пароль');
Что будет если сейчас открыть главную страницу нашего проекта? Мы увидим следующее сообщение:
Ничего устанавливать не нужно. У нас всё установлено. Это происходит, потому что наша база данных ещё пуста. Нам нужно произвести импорт таблиц из старой БД в новую. Для этого переходим в phpMyAdmin (на хостинге на который переезжаем). И импортируем таблицы из дампа SQL на нашем компьютере.
1. Переходим во вкладку «Импорт».
2. Выбираем сохраненный ранее дамп БД.
3. Жмём Ok
Если мы сейчас откроем наш сайт, мы наконец-то увидим то, что нужно. Но в случае если вы при переезде сменили доменное имя, ресурс может работать не совсем корректно — могут не отображаться картинки, ссылки вести на страницы со старым доменом и др. Это по тому, что в некоторых таблицах БД сохранились «хвосты» от вашего старого домена.
Чтобы это исправить, нам нужно произвести следующие действия:
В phpMyAdmin открываем вкладку SQL и выполняем запросы:
UPDATE wp_options SET option_value = REPLACE (option_value, 'старый домен', 'новый домен') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = REPLACE (guid, 'старый домен', 'новый домен'); UPDATE wp_posts SET post_content = REPLACE (post_content, 'старый домен','новый домен');
Обратите внимание! Имя домена вводим без http://
. Иначе адрес вашего сайта может получиться вида http://http://vash_site.ru
1. Открываем вкладку SQL.
2. Сюда вписываем запросы.
3. Жмём «Вперёд».
Ну вот! Теперь всё работает как часы! Перенос сайта на другой хостинг произведён! В какой последовательности вы будете выполнять перечисленные действия — не важно, главное их произвести правильно.
Осталась пара нюансов! Нужно удалить упоминания о старом домене (если они конечно есть) в документах .htacess и robots.txt (о настройке роботс.тхт я когда-то писал).
Мы рассмотрели перенос сайта на WordPress, но по такому же принципу можно переместить вебсайт на любом движке. Если у вас ещё остались вопросы по теме «как перенести сайт?», задавайте их в комментариях.
На этом прощаюсь с вами. Подписывайтесь на обновления моего блога в Twitter , RSS или по почте!
С уважением, Мышак Пётр!