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

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

Перенос сайта может производиться в пределах одного хостинга или же на другой хостинг. Я рассмотрю вариант переноса в пределах одного хостинга (на примере ). Вариант с другим хостингом очень схож с переездом сайта на другой хостинг, который я недавно описывал в . Разница будет лишь в том, что на новом хостинге вы создаете уже новый домен и в robots.txt так же прописываете новый домен в директиве host.

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

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

Новый домен на хостинге

Теперь произведем непосредственный перенос wordpress на другой . С помощью Filezilla копируем все файлы из папки на вашем компьютере в новую папку на хостинге.

Настройки в wordpress

В админке в настройках wordpress в общем разделе меняем адрес сайта на новый.

Смена ссылок в постах и на картинки

Поскольку в wordpress ссылки на картинки например прописываются в базе данных с именем домена, то скорее всего на новом домене картинок в статьях вы не увидите. Для исправления этой ситуации открываем в панели управления хостингом утилиту PhpMyAdmin и подключаемся к базе данных сайта.
Если в самом начале вы не сделали бекап базы данных, то настоятельно рекомендую сделать это сейчас.

В верхнем меню жмем пункт «SQL». В открывшемся окне пишем (все ссылки без слэша (/) в конце )

UPDATE wp_options SET option_value = REPLACE(option_value, ‘http://oldsite.com’, ‘http://newsite.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;
UPDATE wp_posts SET guid = REPLACE(guid, ‘http://oldsite.com’,’http://newsite.com’);
UPDATE wp_posts SET post_content = REPLACE(post_content, ‘http://oldsite.com’, ‘http://newsite.com’);
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, ‘http://oldsite.com’,’http://newsite.com’);

Радуемся сайту на новом домене

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

И напоследок. Если утомились, то вот вам небольшой ролик для отдыха. Боксерский поединок зайцев в свете автомобильных фар. :)

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

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

Есть один немаловажный момент: при переносе на новый домен, нам теперь необходимо поддерживать 2 домена — старый и новый, и перенос этот осуществляется в 2 шага:

1) копируем все скрипты WP-сайта и БД со старого домена на новый
2) делаем 301 редирект со старого домена на новый

Перенос скриптов

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

№1

Самый оптимальный способ, если мы переносим сайт на одном хостинг-аккаунте:

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

Готово. Теперь WordPress после сохранения настроек перебрасывает Вас на новый домен с уже прописанными настройками.

№2

Этот способ подходит, если мы переносим скрипты и БД в другой аккаунт хостинга или на другой хостинг:

  1. копируем скрипты WordPress на новый домен
  2. копируем SQL-дамп и открываем его в текстовом редакторе, если он не очень большой, то все пройдет более-менее просто
  3. нужно заменить все вхождения старого адреса сайта на новый, например, http://domain.ru заменить на http://newdomain.ru, и сохраните этот sql-дамп
  4. загрузите дамп в базу данных на сервере, например, через PHPMyAdmin

Готово. Сайт на WordPress работает по новому адресу. Но делать нужно аккуратно, так-как можно что-нить поломать в SQL-дампе.

№3

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

  1. копируем скрипты WordPress и SQL-дамп на новый домен/хостинг/аккаунт
  2. зайдите в phpMyAdmin и выберите базу данных нужную базу данных
  3. нажмите на вкладку «SQL» и поочередно выполните следующие 3 запроса
    UPDATE wp_options SET option_value = replace (option_value, "http://domain.ru" , "http://newdomain.ru" ) ;

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

    UPDATE wp_posts SET guid = replace (guid, "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" ) ;

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

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

Создание 301 редиректа

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

1 2 3 Options + FollowSymLinks RewriteEngine on RewriteRule (.* ) http:// newdomain. ru/ $1 [ R= 301 , L]

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

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

Несколько слов относительно тИЦ и PR сайта. С реализованным 301 редиректом эти показатели со временем передадутся новому домену, но будут ниже, так как редирект добавляет к параметрам сайта. Главное преимущество в том, что 301 редирект передаст все поведенческие факторы новому домену, а над позициями в поиске нужно работать всегда.

Иногда может возникнуть ситуация, когда необходимо сайт, работающий на движке 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_options SET option_value = replace(option_value, "http://domain.ru", "http://newdomain.ru") WHERE option_name = "home" OR option_name = "siteurl";
    • 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

Всем привет! На связи с вами Александр Сергиенко. Постоянные читатели знают, что одно из моих увлечений — это . И не могу не сказать, что это увлечение приносит неплохой результат. Но чтобы иметь успех в продажах Интернет-проектов, нужно уметь их передавать, переносить как на другой хостинг, так и на другой домен.

Скажите, а сколько способов переноса сайта вы знаете? Я расскажу о трех, каждый из которых имеет свои преимущества и недостатки, узнав которые, перенос сайта wordpress на другой хостинг будет максимально прост и понятен.

Данную статью я разделяю на 2 части:

1. Перенос сайта на другой домен.

2. Перенос сайта wordpress на другой хостинг (Таймвеб).

1. Перенос wordpress сайта на другой домен

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

Смысл переноса Интернет-проекта на другой домен обретает лишь при его покупке. Либо, если вы спохватились и решили переименовать свой Интернет-ресурс. В принципе, разницы нет, когда вы хотите менять имя , так как можно поставить и все его показатели (домена) перейдут на новый, но об этом позже.

Собственно, сама сложность и состоит в том, чтобы показатели старого домена ( и Pr) плавно перетекли на новый.

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

Итак, первое, что нужно сделать перед началом переноса:

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

Теперь нам нужно в самой базе данных изменить все ссылки типа http://domain.ru заменить на http://newdomain.ru . Иначе все картинки и страницы интернет-ресурса будут ссылаться на новый домен. Далее я Вам приведу три способа как это сделать:

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

Данный способ подойдёт для пустого сайта, либо созданного на локальном сервере, так как мы изменяем только siteurl и home, а ссылки в меню, адреса картинок не изменяются.

Этот способ самый простой, но я его узнал позже других:).

1). Зайдите в административную панель вашего блога, нажмите на пункт «Настройки»--->"Общие" .

2). В полях «Адрес WordPress (URL)» и «Адрес сайта (URL)» вставьте адрес нового домена и нажмите кнопку "Сохранить изменения " . После чего Вордпресс вас сразу же переадресует на страницу входа на новом домене.

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

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

1). Экспортируйте базу данных себе на компьютер. Формат должен быть "SQL " .

2). Откройте файл (дамп) базы данных в формате sql через любой PHP редактор, я рекомендую воспользоваться программой notepad++ , которую можете .

3). Теперь замените все старые URL-адреса в базе данных на новые, для этого в notepad++ нажмите ctrl+f и в всплывающем окне выберите пункт "Заменить " , далее вводите в пункт "Найти " существующий URL, в пункте "Заменить на " — новый URL-адрес.

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

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

Наилучший вариант, среди перечисленных.

1). Откройте phpMyAdmin, нажмите на редактируемую базу данных.

2). Нажмите на пункт "SQL " и выполните 3 запроса, заменяю адрес старого домена на новый. Запросы вводите поочередно.

  • UPDATE wp_options SET option_value = replace (option_value, "http://domain.ru", "http://newdomain.ru") WHERE option_name = "home" OR option_name = "siteurl";
  • 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");

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

Options +FollowSymLinks
RewriteEngine on

Данная директива способствует переносу Pr со старого домена на новый.

В некоторых случаях закрадываются в файлах Интернет-проекта на старый домен, которые исправить можно только вручную. Для этого можно использовать notepad++, проверить файлы сайта и заменить как описано в способе №2.

Для переноса Тиц необходимо :

1). В файле.htaccess вставить следующее:


RewriteEngine off

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

2). В файле robots.txt вставить следующее:

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

Всё, теперь Тиц и Pr вашего старого домена со временем перейдут на новый домен.

2. Перенос сайта wordpress на другой хостинг

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

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

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

Итак, начнём:

1). Делаем архив всех файлов сайта . Для этого существует раздел "Файловый менеджер « , далее открываете папку с вашим Интернет — проектом и заходите в его корень. Что такое корень сайта можете . Далее нажимаете на вкладку „Правка“--->»Выделить всё" .

После выделения нажмите "Архиватор--->Архивировать " . После чего вам предложат выбрать тип архива, выбирайте rar или zip и нажмите "Упаковать " , через некоторое время будет создан архив с выбранными параметрами. Последний штрих — кликните два раза левой кнопкой мыши по архиву, после чего начнётся его скачивание на компьютер.

2). Экспортируем базу данных себе на компьютер . Для этого ищем пункт "Базы данных MySQL " , нажимаем. Перед вами откроется список всех баз данных. Нажимаем на в базе данных, которую мы хотим скачать себе на компьютер.

Отлично, теперь нажмите вкладку "Экспорт " . Формат оставляйте тот же, после чего нажмите кнопку "Ок " . Всё, теперь база данных будет автоматически скачана на Ваш компьютер.

3). Импорт базы данных на сервер (хостинг) . Перед тем как это сделать вам нужно создать новую базу данных на хостинге, на который перемещаете сайт. Для этого зайдите в раздел "Базы данных MySQL " . Там увидите строку создания новой базы данных. Введите желаемое имя базы данных и пароль.

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

4). Редактирование файла wp-config.php .

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

Ниже в скриншоте я выделил строки, которые нужно заменить. Название базы данных WordPress, имя пользователя MySQL, пароль MySQL — всё это мы с вами создали в предыдущем пункте.

Единственная сложность — определить хост MySQL. В Таймвебе — это всегда "localhost " , в других хостингах может быть соответственно другое название хоста. Но во всяком случае — вам должно быть выслано письмо на электронный ящик с параметрами вашего доступа как по FTP, так и напрямую, через сайт хостинга. Если вам ничего не пришло — обратитесь в службу поддержки сервера (хостинга), а быть может все настройки вы можете увидеть в своём личном кабинете.

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

Хорошо, когда вы заполните необходимые строки — замените старый wp-config.php в архиве на новый.

5). Загружаем все файлы сайта на новый сервер (хостинг) . Также как и в пункте 1, заходим в "Файловый менеджер " , открываем папку, в которую хотим закачать архив сайта, нажимаем «Файл» ---> "Закачать " , выбираем архив и нажимаем "Закачать " .

После того как архив будет скачан на хостинг (сервер) нажимаем на него и выбираем пункт меню "Архиватор " ---> "Разархивировать " .

6). Размещение домена на хостинга (сервера) . Для этого в Таймвебе вам нужно будет нажать на пункт "Управление доменами " . Далее нажмите "Разместить на NS серверах " .

1. Прописать название и выбрать зону, в котором он находится (ru, com и т.д.)

2. Выбрать директорию (папку), где находится сайт (где распаковали архив с сайтом).

3. Нажать на кнопку "Перенести домены на NS-сервера TimeWeb " .

7). Прикрепляем (прилинковываем) домен к корневой папке сайта . Т.е. к папке, где находится Интернет-ресурс. Для этого нажимаем на пункт "Управление сайтами " в личном кабинете хостинга Таймвеб. После этого выбираем домен и директорию, где находится сайт, нажимаем "Привязать домен к сайту " .

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

Если есть какие мысли по статье — пишите в комментариях.

Р/S

С уважением, Александр Сергиенко

Каждый веб-разработчик регулярно сталкивается с задачей миграции. Сюда входят и развёртывание (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. Важное дополнение в комментарии от nik_vr :

При переносе с localhost"а на реальный сервер нельзя забывать про адрес сайта. Смена домена с одновременным переносом по вашей инструкции сделает сайт абсолютно неработоспособным. По-этому в инструкцию стоит добавить ещё один шаг (актуальный при смене домена, в т.ч. - при переносе с локального сервера на боевой). Для примера будем считать, что сайд переносится с домена mysite.local на домен mysite.ru .

В сохранённом дампе базы данных WordPress ищем все вхождения mysite.local и заменяем на mysite.ru . Можно это сделать в любом нормальном текстовом редакторе (например, Notepad++). После замены аккуратно сохраняем БД, не забывая о кодировке (в случае с более или менее современными версиями WordPress нужна кодировка UTF-8 без BOM).

После импорта базы данных можно выполнить следующую MySQL-команду:

UPDATE wp_options SET option_value = "http://mysite.ru" WHERE option_value = "http://mysite.local";