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

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

Здесь я подробно и пошагово расскажу о том, как переехать на другой хостинг с сайтом на WordPress. Читайте всё внимательно, соображайте правильно, и всё будет хорошо.

Я приведу инструкцию переезда, которая позволит всё время находиться сайту в доступном состоянии. То есть, всё время, пока вы будете его перетаскивать на другой хостинг (а это может занять время), он будет открываться у посетителей, и поисковики будут его видеть. Это позволит не испортить стратегию продвижению, если были уже достигнуты какие-то цели.

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

Инструкция ниже будет показана на примере хостинга . Если у вас другой хостинг, то не беспокойтесь, принцип тот же, просто интерфейс будет другой. Сообразите сами.

А если у вас какой-то другой хостинг, то делайте всё сами. Это интересно! Итак, поехали!

Как перенести сайт WordPress на другой хостинг

Разделим всё процедуру на несколько этапов. Делайте всё именно в этом порядке, и не иначе.

Сохранение файлов сайта на компьютер

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

Сохранение базы данных сайта на компьютер

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


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


В PHP My Admin перейдите во вкладку «Экспорт» и, оставив все настройки по умолчанию, нажмите кнопку «Вперёд».


Начнётся скачивание базы данных. Она сохранится в виде архива, оставьте её так, не распаковывайте.

Создание сайта на новом хостинге

Перед тем, как перенести сайт на WordPress на другой хостинг, нужно создать в новом хостинге домен и привязать его к папке. Для этого на вашем новом хостинге перейдите в раздел управления доменами.


Добавьте домен вашего сайта (регистрировать не надо, только добавить уже существующий домен) и направьте его на какую-либо папку на хостинге.


Загрузка файлов сайта на новый хостинг

Следующий этап переноса – загрузка тех файлов сайта, которые были сохранены на компьютере, на новый хостинг. Нужно загрузить в ту папку, на которую вы в действии выше направили домен.

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

Создание базы данных сайта на новом хостинге

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


Затем перейдите к управлению созданной базой банных через PHP My Admin, перейдите во вкладку «Импорт», нажмите кнопку «Обзор» и выберите файл архива базы данных, который вы скачали ранее со старого хостинга.


И потом нажмите «Вперёд», чтобы начать загрузку базы с компьютера.


Изменение параметров файла конфигурации

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

/** The name of the database for WordPress */ define("DB_NAME", "имя базы данных"); /** MySQL database username */ define("DB_USER", "имя пользователя базы данных"); /** MySQL database password */ define("DB_PASSWORD", "пароль базы данных"); /** MySQL hostname */ define("DB_HOST", "localhost");

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

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

Проверка правильности переноса сайта

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

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

  • Узнайте IP вашего сервера на новом хостинге. Это можно выяснить у службы поддержки или в персональном кабинете.
  • Откройте файл на компьютере C:\Windows\System32\drivers\etc\hosts (открыть через программу блокнот или аналогичную) и запишите в конце такую строку:

Иногда может возникнуть ситуация, когда необходимо сайт, работающий на движке 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.

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

Полученных знаний вам должно было хватить для того, чтобы разработать сайт на 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 . При заказе сообщите его и скидка вам гарантирована! Друзьям тоже можете рассказать 😉

По разным причинам вам может понадобиться перенести свой сайт на другой хостинг или VPS сервер. Это может быть вызвано тем, что ваш проект развивается и для него уже недостаточно ресурсов сервера, а может просто вас не устраивает уровень обслуживания. За все время развития Losst я менял хостинг провайдера много раз, то, что описано в истории сайта далеко не все. Возможно, позже у меня дойдут руки дописать, но не сейчас.

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

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

  • mysql;
  • rsync;

Этого будет вполне достаточно, если вы менее опытный пользователь, то сюда можно добавить еще два инструмента:

  • phpmyadmin;
  • клиент ftp;

Упор я делаю на VPS, рассчитывая на то, что у вас есть доступ к серверу по SSH. Но эта инструкция может быть использована чтобы выполнить перенос сайта на Wordpres на другой хостинг. Большинство современных хостингов дают доступ к ssh консоли хотя бы в html интерфейсе.

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

Первое на что нужно обратить внимание, и желательно, при регистрации хостинга, это DNS. Нам нужно чтобы пользователи ничего не заметили. А поэтому сервера имен не должны меняться. Лучше всего, если ваши сервера имен будут у регистратора доменных имен и он же будет управлять доменной зоной.

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

Перенос сайта WordPress

Сначала нам нужно перенести все файлы сайта на другой сервер. Конечно, вы можете использовать для этого FTP клиент, сначала скачать все файлы по одному с одного сервера, а потом загрузить по одному на другой. Но это сработает, только если у вас немного файлов. С сайтом в несколько гигабайт это может занять дни. Поэтому будем использовать более простой способ через SSH. Подключитесь к вашему серверу по SSH:

ssh root@address1

rsync -avz -e ssh /папка/с/файлами/сайта root@address2:/папка/для/файлов/сайта/

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

mysqldump -u root -p имя_базы > dump.sql

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

rsync -avz -e ssh dump.sql root@address2:~/

Если ваш сайт использует https, то нужно передать на новый сервер сертификаты, пока вы не подключите домен и не создадите новые:

rsync -avz -e ssh /путь/к/сертификату/site.pem root@address2:~/
rsync -avz -e ssh /путь/к/сертификату/site.key root@address2:~/

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

ssh root@address2

Сначала файлы. Утилита rsync сохранит владельца файла из предыдущего сервера или сделает им root. А нам нужно чтобы файлы сайта принадлежали тому пользователю, от имени которого запущен Nginx и php-fpm или Apache. Посмотрите группу и пользователя, от которых они запущены:

Затем поменяйте текущего пользователя и группу всех файлов сайта на нужные с помощью утилиты chown:

chown -R losst:losst /путь/к/файлам/сайта/

Флаг -R включает рекурсивную обработку всех файлов, первый параметр - пользователь, второй, через двоеточие - группа. Дальше мы готовы перейти к базе данных. Сначала нужно создать нашу базу и создать пользователя, с помощью которого WordPress будет к ней подключаться. Для этого войдите в интерфейс mysql:

> CREATE DATABASE имя_базы_данных;
> CREATE USER "имя_пользователя"@"%" IDENTIFIED BY "пароль";
> GRANT ALL PRIVILEGES ON "имя_базы_данных" . * TO "имя_пользователя"@"localhost";
> GRANT ALL PRIVILEGES ON "имя_базы_данных" . * TO "имя_пользователя"@"address1";
> FLUSH PRIVILEGES;

С помощью этих команд мы создаем новую базу, затем пользователя, даем ему права делать с ней все что он захочет, если он подключен с localhost или сервера с ip address1, а последней командой обновляем таблицу привилегий. Нам осталось только загрузить информацию в базу:

mysql -u root имя_базы_данных < dump.sql

В принципе, для создания базы, пользователя и ее разворачивания можно было использовать Phpmyadmin, но в консоли все проще. Дальше нам осталось отредактировать файл wp-config и указать новые параметры доступа к базе:

vi /путь/к/файлам/сайта/wp-config.php

define("DB_NAME", "имя_базы_данных");
/** MySQL database username */
define("DB_USER", "имя_пользователя");
/** MySQL database password */
define("DB_PASSWORD", пароль");
/** MySQL hostname */
define("DB_HOST", "localhost");

Если хотите использовать HTTPS, то укажите путь к переданным сертификатам в конфигурации Nginx или Apache. Вы уже знаете как перенести wordpress, осталось только протестировать. Теперь возвращаемся на ваш локальный компьютер и добавляем в файл /etc/hosts псевдоним вашего домена, который будет указывать на новый адрес. В Windows тоже есть этот файл, но только находится он по другому адресу:

address2 ваш_домен.ru

Дальше открываем сайт в браузере, убеждаемся, что это именно новая версия и кэш DNS обновился, затем проверяем как все работает, если все хорошо, то можно перенаправлять A запись регистратора на этот, новый ip адрес:

Доменная зона обновится не мгновенно, на это потребуется довольно много времени, до нескольких дней. Все это время некоторые пользователи будут обращаться к старому серверу чтобы он выдавал новые страницы нужно подключить сюда базу данных. Помните, мы разрешили подключаться к нашей базе от этого сервера, теперь просто укажите на старом сервере address1 в wp-config.php данные доступа и адрес сервера address2 вместо localhost. Готово. Теперь ваш сайт перенесен. Осталось дождаться полного обновления доменной зоны и можно выключать первый сервер. Не забудьте обновить SSL сертификаты, если их использовали.