→ Перенос WordPress на новый домен (переезд)

При тестировании хостера мне понадобилось перекинуть небольшой блог на другой домен. Перекинув файлы и, набрав адрес в браузере, иду искать сюрпризы. Да, в WP они встречаются. Первое что "бросается в глаза" — грузится только главная страница и ссылки не работают. Поняв свою ошибку, мне пришлось залезть в БД, чтобы не перемещать файлы с места на место. Тут мне сразу вспомнилась страничка в админке wp: Параметры > Общее. Так вот, если вы переносите файлы на ДРУГОЙ домен, сначала ДОМЕН нужно прописать на этой станице, задать новые Адрес WordPress и Адрес блога. И после этого не пытайтесь открыть блог сразу так как он будет перекидывать вас по новому адресу.

Для тех же, кто наступил на те же грабли, описываю решение этой проблемы. Дело в том, что у WordPress есть жесткая привязка к домену. Т.о. все что нам нужно поправить в базе данных это задать новые URI, для siteurl, home, ну и заодно сразу и upload_path (нужно знать путь к корневой директории wp).

Итак идем в панель управления хостингом, управление базами данных, переходим в phpMyAdmin. Находим таблицу options (prefix_options), ищем там строку со следующим:

option_name => siteurl
option_value => http://ваш_старый_домен.com

Жмем редактировать и меняем на новый домен.

Ну хорошо я упрощаю задачу для тех кто умеет пользоваться phpMyAdmin. Можно не искать таблицу и строку, а просто отправить вот такой SQL запрос:

UPDATE `имя_БД`.`префикс_options` SET `option_value` =
`http://ваш.новый_домен.куку` WHERE `префикс_options`.`option_id` =1 AND
`префикс_options`.`blog_id` =0 AND `префикс_options`.`option_name` =
`siteurl` LIMIT 1 ;

Примечание: префикс_options — это таблица options с вашим префиксом (замените слово "префикс_" на ваш префикс), если вы не используете префикс, то пишите просто options.

В той же таблице ищем и правим значение option_value:

option_name => home
option_value => http://ваш_старый_домен.com

SQL ЗАПРОС:

UPDATE `имя_БД`.`префикс_options` SET `option_value` =
`http://новый_домен.куку` WHERE `префикс_options`.`option_id` =39 AND
`префикс_options`.`blog_id` =0 AND `префикс_options`.`option_name` =
`home` LIMIT 1 ;

Так же в БД можно сразу обновить upload_path на новый (но можно сделать это уже в настройках блога, особенно если вы не знаете путь к вашей папке на хостинге, хотя обычно он указан в панели управления). В той же таблице prefix_options ищем:

option_name => upload_path
option_value => старый/путь (это не URL, а путь к папке, типа /home/bla-bla/htdocs/wp-content/uploads)

И меняем на новый.

SQL ЗАПРОС:

UPDATE `имя_БД`.`префикс_options` SET `option_value` =
`новый/путь/до_папки/uploads` WHERE `префикс_options`.`option_id` =60
AND `префикс_options`.`blog_id` =0 AND `префикс_options`.`option_name` =
`upload_path` LIMIT 1 ;

Проблема устранена!

Однако, выполнять эти запросы или редактировать mysql при переносе wordpress вовсе не обязательно, если сделать перенос правильно. Как правильно перенести WordPress, смотри инструкцию ниже.

Инструкция по переносу WordPress

  1. Бэкап Базы Данных и всех файлов и папок.
  2. Если вы переносите WP на новый домен (или в другую папку), то: Перейдите в панель управления > Параметры > Общее. И введите новые Адрес WordPress и Адрес блога. (Не пытайтесь открыть/посмотреть ваш блог сейчас!)
    Общие настройки
  3. Переместите файлы.
  4. При переезде на новый домен: Как правило при переезде бьются пути к картинкам, т.к. эти пути залегают в таблицах самих записей, так что перед тем как импортировать БД, откройте файл копии базы данных в текстовом редакторе и замените старые пути на будущие.
  5. Если это перенос на новый домен с новым хостингом, тогда создаем новую БД и редактируем файл wp-config.php, т.е. пишем новые параметры для БД.
  6. Импортируйте БД, через phpMyAdmin.
  7. Теперь вы можете посмотреть сайт в браузере.

Если вы не выполнили пункт 2, а оказывается надо было, но вы уже переместили все файлы — правьте БД, как указано выше в этой записи (siteurl, home).

Готово!

P.S.: Чтобы забрать свой Google PR с собой на новый домен, вам потребуется сделать 301 редирект, со старого домена на новый. Для этого в корне старого домена поместите файл .htaccess (вместо старого) с примерно следующим содержанием:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://ваш_новый_домен.ру/$1 [R=301,L]

Как быть с ТИц — пока вопрос для многих.

RSS-материал

20 Комментариев [Нет новых]

Аватар пользователя Дмитрий

Залез в phpMyAdmin, а там уже всё прописалось после того как я поправил в "options" админки, а страницы так и не работают, 404…

Аватар пользователя Дмитрий

@Дмитрий: И тут же решение проблемы: у меня стояли "произвольные" ссылки в опциях, нужно было поменять, и всё заработало.

Аватар пользователя EllECTRONC

Кстати фиды feedburner'a тоже надо редиректить Подмигивание

Аватар пользователя Натуся

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

Аватар пользователя bersy

если phpMyAdmin на хостинге нету (ну бывает такое), для бэкапа БД можно использовать специальный скрипт, например, широко изветсный Sypex Dumper Lite, затем просто открыть созданный скриптом дамп базы в текстовом редакторе и произвести пару операций замены:
1) заменить все пути к папке upload (например, все строчки http://example.com/up заменить на http://example.net/up)
2) заменить все остальные старые пути на новые (все строчки http://example.com заменить на http://example.net)
В примере подразумевается что WP был установлен в корне http://example.com и папка upload находилась здесь http://example.com/up. В общем делаем замены в файле дампа в зависимости от своих настроек WP, обычно достаточно выполнить всего 1-2 замены.
Затем с помощью все того же Sypex Dumper Lite на новом домене восстанавливаем БД из полученного дампа и все.
Букаф может и многовато, но обычно эти действия занимают пару минут Улыбка

Разумеется перед операцией с БД, на новый домен нужно залить все установленные ранее плагины, тему, папку upload; в общем сделать такую же структуру папок как на старом домене.

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

Аватар пользователя EllECTRONC

@bersy: phpMyAdmin'а нет? Как-то не думала что такое бывает…

Ну, в общем вы написали почти тоже самое. Вот только у меня вопрос: а почему с "http://"? оно же неизменяемо (почти всегда(!))

Sypex Dumper Lite — хорошая штука, но возможны траблы с кодировками, так что с ним нужно внимательно.

На счет переноса дампа БД на новый домен используя плагин это я очень сомневаюсь… ибо придется сначала ставить чистый WP на новый домен и этот плагин, а потом уже…

Аватар пользователя Анастасия

А не подскажете случайно, в чем может быть проблема: yandex вдруг перестал индексировать нормальное имя сайта. Индексирует только техническое. Сайт на WordPress сначала был настроен под это техническое имя. В первые дни существования. Затем в панели управления был поставлен нормальный url. При этом с Google нет проблем. Может, где-то все же идет привязка к техническому имени?

Аватар пользователя EllECTRONC

@Анастасия: Вы же сами пишите, что проблема только одним поисковиком, поэтому это не проблема WP.

В чем может быть проблема:

  1. сайт заблокирован яндексом из-за частых жалоб и/или спама.
  2. яша глючит.

В чем может быть решение:

  • посмотрите какой URL указан в вашем robots.txt (в корне сайта), если вообще не указано или нет такого файла создайте его и укажите специально для бота Яши параметр Host: ваш-нормальный.урл. Яндекс.Вебмастер вам в помощь;
  • если он раньше нормально индексировался, а сейчас просто перестал, то пишите в поддержку яши и спрашивайте у них в чем дело;
  • заново подайте в индексацию яндексом ваш новый URL.
Аватар пользователя Анастасия

@EllECTRONC: Спасибо, вы меня успокоили, а то думала переустановить движок Улыбка. Знаю, что сайт не заблокирован. И robots.txt сделала для Яндекса сегодня. Написала в Яндекс. Надеюсь, все решится.

Аватар пользователя Al11

Спасибо хорошая информация, буквально - пара нажатий мыши о все работает

Аватар пользователя Руслан

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

Аватар пользователя EllECTRONC

Руслан, если в .htaccess настроено перенаправление, то да, если не настроено, то нет.

Аватар пользователя Everouge

Хорошо написано.Спасибо за тонкости. Я как то без подобных заморочек переносил, но теперь буду знать)

Аватар пользователя Mj

Автору, большое спасибо) Переехал за 3 минуты, до этого пытался неделю править БД и боролся с дампами!))

Аватар пользователя SEIvanov

Полезная статья ,Собираюсь переезжать Интересный блог ,добавил блог к себе в закладки

Аватар пользователя Елена

)))))))))))))))))))))))))))
СПАСИБО!!!!!!!
Сама не верю, но все получилось! )))))
Вот бы Ваш сайт попался мне несколькими днями раньше )))

Аватар пользователя Гость

Спасибо за статью. Помогло в критической ситуации

Аватар пользователя Благодарный Гость

Спасибо, добрый человек! Дня 2 как "наступил на грабли" Долго искал где URL порописывается, а тут за раз помогло! ))

Аватар пользователя Abadonna

Вот никак не пойму шаг 2

Если вы переносите WP на новый домен (или в другую папку), то: Перейдите в панель управления > Параметры > Общее. И введите новые Адрес WordPress и Адрес блога. (Не пытайтесь открыть/посмотреть ваш блог сейчас!)— автор не указан

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

Аватар пользователя EllECTRONC
Вот никак не пойму шаг 2
… Если на старом то зачем? Файлы уже все слиты, база данных тоже… Если на новом то как? wordpress то там еще не установлен… ??
или я ламер или лыжи не едутAbadonna

Прочитайте все еще раз от начала до конца. Перенос файлов это пункт 3.

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

Либо строго следуйте инструкции.

Что ты об этом думаешь?

МультиВход
ИЛИ

Комментарии