Перенос wordpress на другой хостинг. Перенос 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 части:

  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, на другой домен или хостинг. С переносом сайта на другой хостинг с сохранением того же доменного имени проблем никаких не будет. Главное, чтобы новый хостинг поддерживал те системные характеристики, которые необходимы для вашей площадки.

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

  1. Воспользоваться одним из способов, описанных ниже, для переноса сайта на другой домен.
  2. Настроить robots.txt на старом и новом доменах.
  3. Создать 301 редирект со старого домена на новый.

Перенос сайта, работающего на WordPress, на другой домен

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

Самый простой способ, заключается он в том, чтобы поменять доменное имя в консоли администратора:

  1. Зайдите в панель администратора, далее переходим на страницу “Настройки - Общие”.
  2. В имеющихся полях “Адрес WordPress” и “Адрес сайта” заполняем новый URL вашего домена. Сохраняем настройки. Готово.

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

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

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

  1. Откройте SQL-дамп базы данных в текстовом редакторе (например, Notepad++).
  2. Замените все вхождения старого адреса сайта на новый. Сохраните документ.
  3. Импортируйте дамп в базу данных, предварительно перед этим удалите все имеющиеся таблицы там. Готово.

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

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

  1. Зайдите в PhpMyAdmin, непосредственно в базу данных. Нажмите в приборной панели сверху “SQL”.
  2. Вписываем поочередно или сразу три запроса: 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. Заменяем “domain.ru” и “newdomain.ru” старым и новым адресами соответственно. Сохраняем. Таким образом мы добьемся изменения URL по всему сайту, где бы он не был. Готово.

Настройка robots.txt на старом и новом доменах

Для успешной склейки старого домена с новым необходимо указать поисковому роботу о функционировании другого адреса сайта. Для этого в файле robots.txt на старом домене создаем директиву “Host” с адресом нового доменного имени (то же самое проделываем на новом):

Host: newdomain.ru

Данная и следующая процедуры необходимы для того, чтобы сохранить “вес” сайта (тИЦ, возраст и пр.), а также не дать подумать роботу, что он имеет дело с совершенно другим ресурсом, с таким же контентом и дублированными страницами.

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

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

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

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

Собственно, вот и вся процедура.

Сегодня я расскажу о переносе сайта на WordPress с хостинга на хостинг или c хостинга на денвер, а так же на новый домен или в другую папку.
Содержание статьи:

Почему возникает проблема переноса WordPress сайта

Рано или поздно каждому из нас приходится столкнуться с переездом, для этого существует ряд причин. Самая распространенная из них – недовольства хостингом, когда терпеть уже нет сил, начинаешь думать о смене хостинг-провайдера. Хотя в этом случае проще оставить заявку в техподдержку на перенос вашего сайта (любой приличный хостинг предоставляет такую услугу бесплатно). Мне приходилось менять хостинг сотню раз, пока однажды, наконец, не повезло, теперь я пользуюсь хостингом и вам советую.

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

Да мало ли какие причины заставили вас заняться переносом сайта на вордпресс. Лично мне понадобилось развернуть локальную версию сайта у себя на денвере (читайте ), потому что работать с локальным сайтом быстрее и удобнее. На нем можно экспериментировать с настройками блога и плагинами, не боясь за работоспособность сайта. Поэтому я советую каждому иметь локальную версию, пусть будет.

Перенос WordPress на другой хостинг

1. Скачиваем файлы сайта и базу данных со старого хостинга

Способ №1:

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

Чтобы попасть в эту папку, можно зайти по FTP (я использую программы Total Commander или File Zilla) или через файловый менеджер хостинга (этот способ удобнее, как мне кажется). Скачайте полученные архивы к себе на компьютер. Распакуйте базу данных.

Если по какой-то причине вы не смогли сделать бэкапы, существует второй способ:

Далее зайдите в раздел управления базами данных вашего хостинга, выберите phpMyAdmin. В колонке слева выберите название вашей базы данных из списка. Перейдите на вкладку Экспорт (Export) и щелкните Ок(Go). Сохраните сгенерированный файл.

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

2. Перенос данных с компьютера на новый хостинг

В разделе «базы данных» нового хостинга добавьте нового пользователя БД и новую БД, придумайте ей пароль и запомните его. У меня это выглядит так:

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

Откройте phpMyAdmin, найдите в списке слева вашу базу данных, перейдите на вкладку Импорт (Import). Закачайте ранее скачанный на компьютер дамп базы данных с разрешением.sql и нажмите ОК (Go).

Теперь залейте архив с файлами на ftp и разархивируйте его. Следите, чтобы в итоге файлы оказались в правильной папке, на моем хостинге это папка public_html, так же она может называться httpdocs, www или иначе, в зависимости от хостинга. Проверьте, чтобы эта папка была пустой, прежде чем распаковывать в нее архив.

3.Настройка соединения с базой и установка прав

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

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

Установите права (атрибуты) 777 для папки wp-content/uploads и всех вложенных папок. Это делается по ftp или в файловом менеджере:

Привязка вашего домена к новому хостингу

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

  • Узнайте у нового хостера его DNS сервера. Обычно они написаны в письме, отправленном вам на почту при регистрации хостинга.
  • Зайдите в личный кабинет своего регистратора доменов — сайт, где вы покупали домен. Я пользуюсь 2domains.ru и расскажу, как это делается там. Найдите раздел «Управление DNS-серверами» и измените DNS-сервера на новые:

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

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

Перенос WordPress на другой домен, папку

Если помимо хостинга, вам нужно перенести сайт на другой домен, придется столкнуться с некоторыми сложностями. В отличие от большинства CMS, в вордпрессе все пути прописаны абсолютными ссылками (это неприятный минус системы) и нам предстоит бороться с ними вручную. Давайте по порядку:

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

Когда вы скачали дамп базы данных со старого хостинга, надо открыть ее в редакторе (я пользуюсь Dreamweaver) и заменить все упоминания о старом домене на новые:

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

UPDATE wp_options SET option_value = REPLACE (option_value, "https://old_domain.ru", "https://new_domain.ru") WHERE option_name = "home" OR option_name = "siteurl";

UPDATE wp_posts SET guid = REPLACE (guid, "https://old_domain.ru", "https://new_domain.ru");

UPDATE wp_posts SET post_content = REPLACE (post_content, "https://old_domain.ru","https://new_domain.ru");

2. Изменения в.htacces и robots.txt

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

3. Изменения в файлах сайта

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

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

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

Если вам нужно перенести блог в другую папку (например, domain.ru/blog), внесите следующие изменения в.htaccess (изменения выделены жирным):

# BEGIN WordPress
RewriteEngine On
RewriteBase /blog /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog /index.php [L]
# END WordPress

Возможные ошибки, связанные с переносом WordPress блога

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

  1. Error establishing a database connection. Такая ошибка случается, если неверно введены данные вфайле wp-config.php.
  2. Открылась страница с установкой WordPress. Подобная ситуация могла возникнуть из-за ошибки импорта базы данных. Попробуйте удалить все таблицы базы и заново импортировать дамп.
  3. Вы видите страницу вашего хостинг-провайдера с приветствием. Причиной может стать то, что вы не очистили папку public_html (httpdocs), прежде чем распаковать в нее архив. Удалите файл index.html.
  4. Forbidden. You don"t have permission to access / on this server. Возможно, вы залили файлы сайта в неправильную папку.

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