Приветствую вас, друзья! 🙂

В предыдущих статьях я изложил всю необходимую информацию по созданию сайта на WordPress.

Мы поговорили о начальном этапе – непосредственно установке на хостинг или локальный веб-сервер. Также мы поговорили об установке графических тем и плагинов, чтобы сделать ваш сайт более презентабельным.

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

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

Те, кто внимательно читал мою , поймут, о чём я говорю.

Для того, чтобы сделать ваш сайт достоянием общественности, осталось произвести перенос WordPress на хостинг, что мы с вами сегодня и научимся делать.

Подготовка к переносу WordPress на хостинг

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

В качестве примера используется провайдер TheHost , услугами которого я в данный момент пользуюсь.

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

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

Лично у меня проблем при переносе WordPress сайтов c установленными плагинами на хостинг никогда не было. И вообще я рекомендую устанавливать и настраивать их уже после переноса.

Поэтому если вы осуществляете перенос WordPress на хостинг с установленными плагинами, лучше прислушаться к мнению большинства и отключить их 🙂

Тем более, что сделать это совсем не сложно. Более подробно о данной процедуре вы можете прочитать в статье « ».

После этого заходим в phpMyAdmin или другой веб-интерфейс для работы с СУБД на вашем локальном веб-сервере:

По умолчанию на большинстве локальных веб-серверов данные для входа «root – пустой пароль».

Настройки по умолчанию можно не менять. Просто нажимаем на кнопку «ОК». В результате у вас должен был создаться sql-файл, который сохраняется в папку загрузок вашего веб-браузера, в котором вы запускали phpMyAdmin.

Теперь, чтобы перенести сайт на WordPress на хостинг, нам нужно импортировать вашу базу данных на удалённый сервер.

Для этого запускаем phpMyAdmin на хостинге. У Интернет-провайдера TheHost, где у меня есть аккаунт пользователя, запуск данной программы производится в панели управления путём выбора в главном меню «Доп. приложения — phpMyAdmin».

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

Войдя в phpMyAdmin в меню слева выбираем требуемую БД и в отрывшемся окне переходим на вкладку «Импорт»:

Нажимаем на кнопку «Выберите файл» и находим созданный вами ранее sql-скрипт.

Остальные настройки также можно не трогать. Нажимаем «ОК» и завершаем перенос WordPress с локального сервера на хостинг.

Отлично! Теперь мы рассмотрим основные способы дальнейшей настройки сайта на хостинге.

Установка WordPress на хостинг – способ первый

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

Заключается он в копировании файлов сайта с локального веб-сервера на удалённый сервер провайдера с соответствующими настройками.

Почему же я тогда рассматриваю именно перенос WordPress на хостинг?

Дело в том, что для каждой CMS и фреймворка характерен свой механизм конфигурирования, который заключается в изменении настроек конфигурационных файлов.

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

В качестве примера я сделаю перенос тестового сайта mywp.com.ua с моего локального сервера на хостинг.

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

Данные для подключения по FTP вы можете узнать у вашего хостинг-провайдера, и они, как правило, всегда указываются в инструкциях, присылаемых вам на email после регистрации.

В правой части экрана для каталога будущего сайта проверяем права на запись (должны быть «777» или «766») и устанавливаем, если они недостаточны.

В левой части экрана FileZilla переходим в каталог вашего сайта на локальном веб-сервере и копируем все файлы оттуда в папку будущего ресурса на хостинге.

После того, как копирование завершилось, переходим на сайт, введя его доменное имя в веб-браузере, и видим такую картину:

Не стоит отчаиваться, всё идёт по плану 🙂

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

Соединение с базой данных WordPress

Настройки соединения с базой данных WordPress хранятся в файле wp-config.php, который расположен в корне сайта.

Заходим в каталог сайта на локальном хостинге и копируем файл в какую-то другую папку на компьютере. Затем открываем его и редактируем содержимое:

/** Имя базы данных для WordPress */ define("DB_NAME", "MyWP"); /** Имя пользователя MySQL */ define("DB_USER", "root"); /** Пароль к базе данных MySQL */ define("DB_PASSWORD", ""); /** Имя сервера MySQL */ define("DB_HOST", "localhost"); /** Кодировка базы данных для создания таблиц. */ define("DB_CHARSET", "utf8"); /** Схема сопоставления. Не меняйте, если не уверены. */ define("DB_COLLATE", "");

Как видите, каждая строчка содержит комментарии по поводу назначения строки кода, следующего после него.

В первой строке вместо «MyWP» вводите имя вашей БД, которую вы создали на хостинге. Во второй вместо «root» нужно указать имя пользователя БД, которого вы создавали перед развёртыванием базы.

На третьей вместо пустых кавычек вводите пароль пользователя БД для подключения к базе. На четвёртой – имя сервера MySQL (в большинстве случаев будет localhost).

Пятая строка – кодировка вашей базы, которую вы указывали при создании (кодировка БД на локальном сервере, которая импортировалась на хостинг). В большинстве случаев будет такой же – utf8.

Данные в шестой строке менять также не нужно.

Сохраняете изменения и заливаете файл настроек соединения с базой данных WordPress на хостинг в корень сайта, заменяя существующий wp-config.php (если сообщения о замене файлов не появилось – вы скопировали его не туда).

Теперь можно обновить страницу сайта в веб-браузере. И что же мы видим?

Мда… Сайт выглядит, мягко говоря, непрезентабельно 🙂

Данные неудобства вызваны различием имён сайта на локальном веб-сервере и удалённом, из-за которых после переноса сайта WordPress на хостинг нас ещё и в админку не пустит, т.к. будет происходить перенаправление на доменное имя ресурса, расположенного у вас на компьютере 🙂

И если локальный веб-сервер выключен, то браузер покажет нам сообщение о недоступности веб-страницы.

Если у вас эти имена совпадают, то вам повезло и никаких проблем у вас не возникнет. Не забудьте только имена БД сделать также одинаковыми.

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

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

Меняем имя сайта WordPress через админку

Вы и сами могли догадаться до этого способа изменения имени сайта WordPress через админку, если внимательно изучали меню кабинета администратора и особенно пункт «Настройки — Общие».

Запускаем локальный веб-сервер и заходим в админку WordPress. Выбираем указанный пункт и видим следующее:

Здесь нас будут интересовать поля «Адрес WordPress (URL)» и «Адрес сайта (URL)», а особенно первое из них, т.к. оно будет использоваться как корень сайта при подгрузке файлов из каталога ресурса на хостинге.

Поэтому значение поля «Адрес WordPress (URL)» и название каталога сайта на удалённом сервере должны совпадать.

Поле «Адрес сайта (URL)» пригодится для случая, когда вы захотите сделать разные адреса для админки и клиентской части ресурса или перенести WordPress на хостинг в поддомен.

Пока у нас нет такой задачи, поэтому вводим сюда те же данные, что и в предыдущее поле – «mywp.com.ua».

Сохраняем файл и не спешим закрывать данную страницу, т.к. при введённых данных попасть сюда повторно нам не получится ввиду редиректа на «mywp.com.ua» 🙂

Быстро делаем дамп базы данных (phpMyAdmin — Экспорт) и импортируем его на хостинг (если в требуемой БД уже есть информация, её нужно оттуда удалить, т.к. изменения не внесутся).

Вводим в адреcную строку «имя_сайта_на_хостинге/admin» и убеждаемся, что мы имеем к нему доступ.

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

Если же вас не пускает в админку на локальном сервере, то для изменения имени сайта WordPress нужно использовать другие способы.

Минусы данного способа налицо – придётся прыгать между админками сайта на локальном веб-сервере и хостинге. К тому же, в итоге вы можете куда-то просто не попасть 🙂

Смена имени сайта WordPress в файле конфигурации

Этот способ проще и надёжнее предыдущего и я настоятельно рекомендую пользоваться именно им при переносе WordPress на хостинг.

Заключается он в добавлении всего двух строк в файл wp-config.php, в котормо мы ранее настраивали соединение с базой данных.

Открываем ещё раз копию этого файла, где мы прописывали настройки БД, и после строчки «define(‘DB_COLLATE’, »);» прописываем следующее:

Define("WP_HOME","http://mywp.com.ua"); define("WP_SITEURL","http:// mywp.com.ua");

Не забудьте вместо «mywp.com.ua» указать доменное имя (url) сайта на хостинге.

Сохраняем изменения и копируем файл по FTP на удалённый сервер, подтверждая замену существующего.

После этого заходим в админке на хостинге в «Настройки — Общие» и видим следующую картину:

В этой особенности данного способа и заключается его единственный минус – имя сайта через админку теперь поменять не удастся, т.к. данные в wp_config.php имеют бОльший приоритет над значениями, вводимыми через админку.

Смена имени сайта WordPress через functions.php

Если предыдущие способы вам не понравились, то вы можете произвести изменение имени сайта WordPress через файл functions.php вашей темы, который хранится по пути «корень_сайта/wp-content/themes/ваша_тема/functions.php».

Копируем его к себе на компьютер либо открываем его удалённо, если у вас есть SSH-доступ к файлам на хостинге (открыть его в редакторе админки WordPress нам пока, к сожалению, не получится)

И в самом начале прописываем следующее:

Update_option("siteurl", "http://mywp.com.ua"); update_option("home", "http://mywp.com.ua");

Также не забудьте вместо «mywp.com.ua» указать доменное имя вашего ресурса.

Сохраняем файл и для переноса WordPress на хостинг копируем его с заменой обратно на сервер (если вы не корректировали его удалённо).

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

После того, как изменения вступят в силу, удалите эти строчки из functions.php, т.к. они нам больше не понадобятся.

Минус данного способа – очередная беготня с копированием файлов, но этот недостаток несущественен. Так что данный способ можно смело брать на вооружение.

Изменение имени сайта WordPress через базу данных

Открою небольшой секрет – все предыдущие способы изменения имени сайта WordPress сводились к текущему.

Поэтому данный метод является самым верным и, что называется «прямым» 🙂

Для того, чтобы изменить имя сайта при установке WordPress на хостинг, необходимо зайти в БД на удалённом сервере, подключившись к ней через phpMyAdmin.

Выбираем требуемую базу, после чего в левой части окна программы отобразится список таблиц выбранной вами базы. О том, что такое таблицы БД, и из чего они состоят, вы можете прочитать в статье, посвящённой .

Итак, выбираем таблицу wp_options и меняем значение полей «siteurl» и «home», вписывая туда адрес своего сайта.

Эти поля соответствуют «Адрес WordPress (URL)» и «Адрес сайта (URL)».

Если не разобрались как редактировать поля в БД – небольшая подсказка: нажмите на кнопочку в виде карандашика слева от названия поля, а после сохраните изменения нажав на «ОК».

Всё, на этом перенос WordPress на хостинг подходит к концу, т.к. все необходимые настройки были нами выполнены.

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

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

Перенос WordPress на хостинг – способ второй

По сравнению с предыдущим методом данный вариант переноса WordPress на хостинг является более технологичным и быстрым.

Он заключается в непосредственной установке WordPress на хостинг с дальнейшим копированием файлов сайта (за исключением файлов конфигурации сайта).

Суть данного способа состоит в том, что настройки соединения с базой данных, url сайта и прочие конфигурации создадутся автоматически на основании введённых вами данных через интерфейс установщика.

Таким образом, вы избегаете необходимости «лазить» по таблицам БД в поисках нужного поля и файлах конфигурации.

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

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

Почему же он является технологичным? Поясню.

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

Вам останется только перенести необходимые файлы на удалённый сервер – и дело в шляпе 🙂 К тому же некоторые установщики способны дополнительно упростить и без того простой процесс установки CMS на хостинг.

Отсюда значительная экономия времени и удобство переноса WordPress на хостинг данным способом.

Правда, он доступен не везде. Наличие установщика скриптов нужно узнавать у каждого хостинга индивидуально.

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

Стоимость такой услуги – 50 грн. Мелочь, а не приятно 🙂

Зато у лидера рынка хостинг-услуг России и Украины AvaHost такая услуга мало того, что бесплатна, так ещё и производится автоматически с применением установщика скриптов, о котором мы говорили ранее.

После того, как вы станете клиентом AvaHost, выбрав и заказав у них пакет хостинг-услуг, вам будет доступно для установки более 300 CMS.

К дополнительным преимуществам установщика скриптов также относится автоматизация процесса обновления версий вашего движка, который помимо запуска обновления будет делать предварительный бэкап файлов и БД, лишив вас этих хлопот 🙂

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

Если AvaHost вас заинтересовал, то у меня есть хорошая новость - это эксклюзивная 20% скидка на все услуги для друзей сайт и подписчиков. Чтобы воспользоваться ею, введите при регистрации следующий промокод - AVA-CCCPBLOG

Финальные штрихи, чтобы перенести сайт на WordPress на хостинг

Итак, ваш сайт на хостинге. Теперь остаётся ввести его доменное имя в адресной строке браузера и нажать «Enter».

Если всё прошло хорошо, вы увидите свой сайт:

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

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

У хостинг-провайдера TheHost доступ к ним можно получить в панели усправления в пункте главного меню «World Wide Web — Журналы», где вас должен интересовать лог с надписью «error.log» в конце.

Там вы сможете найти информацию о компоненте, вызвавшем ошибку.

Как правило, частенько возникают проблемы из-за установленной темы WordPress или плагинов. По тексту ошибки вы можете отыскать информацию о решении проблемы в Интернете.

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

Если всё перечисленное положительного эффекта не даёт — просто откажитесь от установленного компонента, поискав ему соответствующую замену.

Жёстко, но эффективно 🙂

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

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

Возможно, вы пользуетесь методом, не описанным в статье. Тогда узнать о нём будет полезно всем читателям. Не проходите мимо 🙂

На этом всё! Всем удачи! 🙂

P.S. : если вам нужен сайт, но нет времени самостоятельно его разрабатывать, могу порекомендовать вам своего проверенного партнёра - . Было не просто, но я всё-таки выбил для вас скидку 20% , что составит до 20 тысяч рублей в зависимости от выбираемого тарифа 🙂 Вот промо код - CCCP . При заказе сообщите его и скидка вам гарантирована! Друзьям тоже можете рассказать 😉

Иногда может возникнуть ситуация, когда необходимо сайт, работающий на движке WordPress , перенести на новый домен. Т.е. суть данного действа заключается только в изменении имени домена , все содержимое же, равно как и структура ссылок, остается прежним. При этом не маловажный момент — сохранение показателей тИЦ и PR .

К данному вопросу необходимо подходить с полным пониманием дела, ибо обратное может быть чревато неприятными последствиями.

Процесс переноса можно условно разделить на 2 части:

  1. Перенос сайта, работающего на движке WordPress, на новый домен.
  2. Создание 301 редиректа со старого домена на новый.

Перенос сайта, работающего на движке WordPress, на новый домен

В самую первую очередь необходимо сделать 2 вещи:

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

Дальнейшие действия могут выполняться одним из трех нижеследующих способов.

Первый способ

Это самый простой способ, требующий от вас минимум действий.

  1. Зайдите в админ-панель вашего сайта на страницу «Настройки — Общие» .
  2. В полях «Адрес WordPress» и «Адрес сайта» укажите URL нового домена и подтвердите изменения, нажав на кнопку «Сохранить изменения» .
  3. Готово. В тот же момент WordPress переадресует вас на страницу входа в админ-интерфейс, но уже на новом домене .

Второй способ

  1. Откройте сохраненный sql-дамп базы данных в текстовом или PHP редакторе .
  2. Замените все вхождения старого адреса сайта на новый адрес , например, http://domain.ru заменить на http://newdomain.ru , и сохраните изменения.
  3. Загрузите дамп в базу данных на сервере , предварительно удалив из нее все имеющиеся таблицы.
  4. Готово. Сайт на WordPress работает по новому адресу.

Третий способ

  1. Зайдите в phpMyAdmin и выберите базу данных.
  2. Нажмите на вкладку «SQL » и поочередно выполните следующие 3 запроса, заменив http://domain.ru и http://newdomain.ru соответственно на старый и новый адреса сайта (обратите внимание, что в конце адреса не должно быть слеша ):

      UPDATE wp_posts SET guid = replace(guid, "http://domain.ru","http://newdomain.ru");

      UPDATE wp_posts SET post_content = replace(post_content, "http://domain.ru", "http://newdomain.ru");

  3. Готово. Теперь сайт будет открываться по новому адресу.

Создание 301 редиректа со старого домена на новый

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

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

Options +FollowSymLinks RewriteEngine on RewriteRule (.*) http://newdomain.ru/$1

На этом процедуру переноса WordPress-сайта на новый домен можно считать законченной.

Теперь несколько слов относительно сохранения показателей тИЦ и PR сайта .

Вышеуказанная директива кроме своего прямого назначения позволяет перенести на новый домен показатель Google PR , так что с ПиАром проблем возникнуть не должно.

Однако открытым для меня остается вопрос переноса показателя тИЦ Яндекса . Я прочитал по этому поводу достаточно информации, но так и не нашел однозначного решения. В основном рекомендуют на старом домене создать файл robots.txt с указанием параметра Host: newdomain.ru , на это не сработает из-за 301-го редиректа.

Я был бы признателен тому, кто разъяснит мне данный вопрос.

Добавлено 24.04.2010

Сам нашел ответ на свой вопрос. Чтобы при обращении к старому домену срабатывал 301-редирект, но за исключением файла robots.txt , в файле .htaccess старого домена нужно указать следующее:

RewriteEngine off Options +FollowSymLinks RewriteEngine on RewriteRule (.*) http://newdomain.ru/$1

А в файле robots.txt указать следующее:

User-Agent: * Disallow: Host: newdomain.ru

  • Tutorial

Каждый веб-разработчик регулярно сталкивается с задачей миграции. Сюда входят и развёртывание (deploy) локальной версии на удалённом сервере, и перенос работающего сайта с одного сервера на другой. Некоторые печатные издания для программистов называются «Cookbook» – что буквально значит «книга рецептов». Рецептов множество, какой из них лучший - дело вкуса. В этом материале автор расскажет о том, какую технологию переноса типичного сайта на WordPress он считает оптимальной, и почему.

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

Резервное копирование данных

С технической точки зрения нам предстоит сделать копии двух составляющих сайта:
  • Файловой системы
  • Базы данных
Каждый веб-разработчик должен заботиться о сохранности данных веб-сайта. Поэтому, как правило, после того как рабочая версия развёрнута на удалённом сервере, разработчик сайта настраивает резервное копирование данных или «бэкап» (от англ. «backup copy», резервная копия).

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

В чём главная цель разработчика при переносе сайта с одного сервера на другой? Ничего не потерять. То есть на новом месте сайт должен быть полностью идентичен тому же сайту на старом.

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

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

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

Режим обслуживания

Вы могли заметить, что когда WordPress обновляет плагины или ядро системы, посетители сайта видят вместо его содержимого белый фон и поверх большой заголовок «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту. ».

Как принудительно перевести в него сайт?

Для этого необходимо в корне сайта создать файл под названием.maintenance и разместить в нём следующий PHP-код:

Результат:

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

Однако, если вы хотите сделать страницу более привлекательной, можете создать в папке wp-content файл maintenance.php , который будет загружаться вместо исходного текста. В нём вы можете сверстать какую угодно картинку для поджидающего окончания работ пользователя.

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

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

Резервная копия базы данных

Способов создания резервной копии базы данных WordPress существует несколько:
  • При помощи плагинов WP-DB-Backup , WP Database Backup и прочих.
  • При помощи браузерной утилиты phpMyAdmin
  • При помощи консоли сервера
  • При помощи панели хостинга
С целью экономии места в посте не буду рассказывать про первые два способа, они достаточно тривиальны.

Если у вас есть доступ к консоли сервера, и вы умеете пользоваться терминалом - это заметно ускорит работу.

Прежде всего потому, что создании резервной копии выполняется одной единственной командой:

Mysqldump -u[пользователь] -p[пароль] [имя_базы_данных] > [имя_файла_резервной_копии].sql

По-хорошему будет заархивировать дамп базы на ходу:

Mysqldump -u[пользователь] -p[пароль] [имя_базы_данных] | gzip >[имя_файла_резервной_копии].sql.gz

Текстовые файлы, коим является дамп базы, архивируются наилучшим образом. Размер архива может быть значительно ниже размера дампа базы. Это важно при переносе, т.к. 100Мб перенести куда быстрее, чем 1Гб, например.

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


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

Однако, далеко не каждый хостинг предоставляет подобные возможности клиентам, поэтому если данный вариант присутствует - удобнее всего пользоваться им.

Резервная копия файлов

Файловая система WordPress обычно выглядит следующим образом (без поддиректорий и их содержимого):
├── index.php ├── license.txt ├── readme.html ├── wp-activate.php ├── wp-admin ├── wp-blog-header.php ├── wp-comments-post.php ├── wp-config-sample.php ├── wp-config.php ├── wp-content ├── wp-cron.php ├── wp-includes ├── wp-links-opml.php ├── wp-load.php ├── wp-login.php ├── wp-mail.php ├── wp-settings.php ├── wp-signup.php ├── wp-trackback.php └── xmlrpc.php

В принципе, больше всего нас интересуют папка wp-content и конфигурационный файл wp-config.php .

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

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

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

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

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

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

Восстановление данных

Итак, архив файлов сайта и дамп базы данных перенесены на новый сервер.

Воссоздание файловой структуры

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

Чтобы восстановить исходную структуру и не напортачить с папками, необходимо руководствоваться следующим правилом:

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

Например, если вы сжимали сайт при помощи консольного архиватора из корня сайта zip -r "full-backup.zip" * , то и распаковывать на новом сервере его необходимо также в корне сайта unzip full-backup.zip .

Обратите внимание , что невидимые файлы, коим является.htaccess не всегда архивируются вместе с остальными. Поэтому, если на вашем новом сайте не работают «красивые адреса», первым делом проверьте, перенесли ли вы.htaccess в корень сайта.

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

Воссоздание базы данных

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

Если же её ещё нет, то создать новую базы данных можно разными способами:

  • Через веб-интерфейс при помощи утилиты phpMyAdmin
  • Через панель управления хостингом
  • Через консоль сервера следующей командой: mysql -u[имя_пользователя] -p; # после ввода пароля вы войдете в режим командной строки MySQL mysql: CREATE DATABASE [имя_базы_данных] CHARACTER SET utf8 COLLATE utf8_general_ci; CHARACTER SET utf8 COLLATE utf8_general_ci; CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON[имя_базы_данных] .* TO [имя_пользователя]@localhost IDENTIFIED BY "[пароль]";
В результате мы должны иметь на руках:
  • Имя базы данных
  • Имя пользователя
  • Пароль
В некоторых случаях, когда база данных находится на другом сервере, нам необходимо ещё знать адрес хоста (обычно - localhost , если на той же машине).

Используя эти данные мы должны импортировать наш дамп базы данных.

Опять-таки, сделать это мы можем теми же средствами.

В phpMyAdmin выбираем базу данных, вкладку «Импорт», выбираем файл дампа и отправляем форму запроса.

Если вы работаете через консоль, используйте команду mysql -u[имя_пользователя] -p[пароль] [имя_базы_данных] < [дамп_базы_данных].sql .

В случае, если дамп базы данных был заархивинован: gunzip < [дамп_базы_данных].sql.gz |mysql -u[имя_пользователя] -p[пароль] [имя_базы_данных] .

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

Настройка файла конфигурации

Теперь необходимо открыть в редакторе файл wp-config.php и установить соответствующие настройки для соединения с новой базой данных:

Не забудьте удалить файл.maintenance из корневой папки сайта.

Остаётся только проверить работоспособность сайта!

Заключение

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

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

P.S. Важное дополнение в комментарии от

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

Перенос файлов и базы сайта на Вордпресс из одного домена в другой

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

1. Создаем и сохраняем файлы сайта, выполнить это можно через Файловый менеджер:
Пройдите в корневой каталог старого домена выберите все файлы из корневого каталога и создайте архив. Сохраненный архив скачиваем на Ваш компьютер. Еще для скачивания файлов можно воспользоваться .

2. Экспортируем дамп базы данных. Для этого проходим в phpMyAdmin, выделяем базу в левом списке и нажимаем сверху на кнопку Экспорт

Еще: Архивы файлов и базы сайта в Макхосте можно сделать автоматически из меню Резервные копии раздел Создать резервную копию. Файлы будут помещены в каталог private

Теперь имея исходные файлы Вашего сайта можно перейти ко второму этапу: это перенос данных в новый домен и настройка. Советую сделать их копию и сохранить отдельно, на случай 3. Переходим в корневой каталог нового домена и производим загрузку архива. Выполнить это опять же можно как через файловый менеджер панели управления хостинга, так и через FTP. Файл можно распаковать в файл-менеджер
4. Производим импорт sql дамп в базу данных через phpMyAdmin. Для этого, авторизовавшись в phpMyAdmin требуемой базы выбираем базу в левом списке и затем нажимаем в верхней панели на кнопку Импорт

5. В конфигурационном файле сайта wp-config.php нового домена пропишите информацию для подключения к базе данных.

Изменение домена в настройках Вордпресс

После переноса как правило в сайте не отображаются изображения, как-будто отсутствуют файлы стилей. Переход по ссылкам происходит на старый домен. Это особенность движка WordPress, для завершения переноса нужно внести изменения в базе данных, а именно изменить ссылки старого домена на новый. Выполнить это можно несколькими способами.

Смена домена в Вордпресс через phpMyAdmin

Заходим в phpmyadmin базы данных, к которой подключен Ваш сайт. Обязательно выбираем базу в левом списке и нажимаем кнопку SQL, как показано на скриншоте

Поочередно или все три сразу скопируйте и выполните запросы что указаны ниже, исправив параметры

UPDATE wp_options SET option_value = REPLACE(option_value, "http://старый-домен.ru", "http://новый-домен.ru") WHERE option_name = "home" OR option_name = "siteurl"; UPDATE wp_posts SET guid = REPLACE(guid, "http://старый-домен.ru","http://новый-домен.ru"); UPDATE wp_posts SET post_content = REPLACE(post_content, "http://старый-домен.ru", "http://новый-домен.ru");

Важно! Прописывать нужно домен без слеша / в конце, как это указано в примере.
Запрос не выполнится если у вас префикс в таблицах не wp_ , а другой.
Если например у вас префикс pref_ , то в коде запроса пропишите его: UPDATE pref_posts SET…

Смена домена в Вордпресс в sql-дампе через текстовый редактор

Другим способом обновления информации в базе данных является ручная замена ссылок со старого домена на новый. Авторизуйтесь через phpMyAdmin в базе данных старого домена и выполните экспорт, если еще сделалм. Текстовым редактором откройте полученный файл sql и выполните поиск с заменой все упоминания старого домена на новый. После обновления информации выполните импорт дампа в базу на хостинге, очистив её предварительно от старых таблиц.

На этом перенос и настройка завершены.

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

Для чего вам может потребоваться перенос сайта WordPress на другой домен:

  1. Например вы разработали какой-либо проект, который у вас работает, приносит вам удовольствие и заработок. Проходит какое-то время и вы понимаете что проект нужно улучшать, обновлять, изменять. При этом делать это на хорошо отлаженном сайте опасно, для этого следует завести другой домен или поддомен и тестировать всё новое на нём.
  2. Так же бывает, что вас забанил какой либо поисковик, например вы попали в «Баню» Яндекса. Тогда в бесконечных попытках от туда выплыть вы регистрируете еще один домен и переносите ваш WordPress туда.
  3. Был у вас сайт vasy.ru и как то вечером, после программы «Вести» вы решили что хочеться домен вася.рф. И снова вы ставите задачу по переносу вашего сайта на другой домен в зону рф.
  4. Бывают и другие причины переноса сайта, но это уже на усмотрение читателя.

И так, что понадобится для переноса сайта на WordPress

  1. FTP доступ к старому сайту/домену
  2. FTP доступ к новому сайту/домену
  3. Phpmyadmin досуп к старому сайту/домену
  4. Phpmyadmin досуп к новому сайту/домену
  5. Редактор файлов, что то вроде «Notepad++» или любой IDE PHP(например netbeans). Этот пункт актуален если вы делаете действия по редактированию файлов на вашем ПК.
  6. Доступ к панели управления хостингом, если там есть интрументы для работы через WEB(файловый менеджер, редактор файлов, Phpmyadmin) — тогда первые 5 пунктов вам не нужны.

Последовательность действий:

  1. Сделаете 2-е полных копии работающего сайта к себе на ПК (сделайте это в две разные папки)
  2. Сделайте копии базы данных с работающего сайта
  3. Открываете 1 копию и далее работаете только с ней, вторая копия вам нужна будет что бы не качать по ftp повторно работающий сайт, если вы вдруг не так что-то сделаете.
  4. Откройте на редактирование файл function.php своей темы и впишите туда следующие строчки

update_option("siteurl","http://ваш новый домен.ру"); update_option("home","http://ваш новый домен.ру");

update_option ("siteurl" , "http://ваш новый домен.ру" ) ;

update_option ("home" , "http://ваш новый домен.ру" ) ;

Эти две строчки при открытии нового сайта пропишут необходимый домен в базе данных нового сайта.

Такой же поиск и замену нужно повторить для папки с плагинами. Данные действия актуальны если вы знаете что ваши плагины и тема сайта допиливались.

Работа с базой данных:

  1. При помощи Phpmyadmin залейти базу с старого сайта, в базу нового сайта. База нового сайта при этом должна быть пустой (не содержать таблиц)
  2. Пропишите в файле wp-config.php нового сайта, параметры подключения к БД

/** Имя базы данных для WordPress */ define("DB_NAME", "имя новой базы"); /** Имя пользователя MySQL */ define("DB_USER", "имя пользователя новой базы"); /** Пароль к базе данных MySQL */ define("DB_PASSWORD", "пароль к новой базе"); /** Имя сервера MySQL */ define("DB_HOST", "localhost");

После всех проделанных действий, по FTP закачайте изменённую копию старого сайта на на новое место.

Попробуйте зайти в админку нового сайта http://новый сайт.ру/wp-admin/

Всё получилось, тогда установите плагин «Better Search Replace от Автор: Expanded Fronts» — при помощи него вы сможете заменить в базе нового сайта все вхождения «http:// старый сайт.ру » на «http://новый сайт.ру «. После этого переезд можно считать успешным.

Конечно есть разного рода форсмажорные обстоятельства, которые выходят за рамки данного материала. Перечислю некоторые из них:

  1. Имена изображений на новом сайте стали крокозябрами. Причинам может быть в том что при FTP передаче нужно принудительно установить кодировку соединения. Актуально если на старом сайте, активно использовались кирилические символы в название файлов.
  2. Не получается загрузить старую базу на новое место, так как есть ограничения по размеру загрузки. Тут вариант, либо меняйте ограничение(если хостинг позволяет) либо делите базу на части.
  3. После загрузки вы обновили плагины на новом сайте и сайт стал работать не корректно. Возможно в коде темы у вас появились устаревшие функции, которые больше не используются в новых плагинах. Ищите какие функции устарели, меняйте их на новые.

Так же посмотрите отличную по переносу WordPress на другой домен.