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

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

Перенести WordPress-блог на другой хостинг, не меняя доменного имени легко.
Первое - надо скопировать все файлы себе локально, чтобы было, и чтобы можно было вносить изменения.
Второе - сделать дамп базы данных. Это делается либо через специализированные плагины, такие как WordPress Database Backup, или через phpMyAdmin, который, по-моему, есть вообще на всех хостингах. Или вообще через командную строку. Но если Вы в состоянии это сделать через консоль, то Вы не тот человек, которому нужна инструкция по переносу. :)
Как это сделать с помощью phpMyAdmin можно прочитать на странице кодекса. Те кто не знают английского все поймут по картинкам. Последний вариант - попросить хостера сделать дамп базы и прислать его. Мне кажется не откажут. Хотя, возможно, это мы своих клиентов балуем. ;)

Опциональный шаг, иногда помогающий админам при развертывании дампа на новом хостинге - можно в phpMyAdmin тыкнуть в закладку SQL, и ввести вот такой запрос: SHOW VARIABLES LIKE ‘character_set%’;
а вывод его записать. Это позволит узнать, какие кодировки использовались на старом MySQL-сервере.

Третье - внести изменения в файлик wp-config.php, и залить все на новый сервер.
Четвертое - зависит от того, как Вы решали пункт два. Если Вам понравилось ковырять phpMyAdmin, то Вы можете развернуть базу с его помощью. О том, как это сделать, можно прочитать на другой странице кодекса. Альтернатива - отдать базу инженерам нового хостера и попросить их ее развернуть. Им как раз можно сообщить данные, полученные на опциональном шаге, и попросить, чтобы теперь все данные в базе и сама база, и вообще все что можно, были в utf8. Вариант их ответа сильно зависит от воспитания, и того, что Вы получили на опциональном шаге.

По-идее, после всех этих манипуляций счастливый блоговладелец увидит свой блог на новом хостинге. На всякий случай рекомендуется это все делать пока есть доступ к старому хостеру. :) В случае, если Вы увидели свой блог, но на нем все в вопросиках, то рекомендую подправить файлик wp-db.php так, как написал Slaff.

(Маленький tip: Выбирайте новый хостинг, где версия MySQL не меньше 4.1. Сэкономите много нервов и у Вас будет нормально работать поиск.)

Да, кстати, есть второй метод переноса, если все вышенаписанное Вас не заинтересовало, расстроило, перепугало, или просто вызвало тоску - воспользоваться услугами BlogService. Это будет самый приятный переезд в Вашей жизни. :)

Дополнения к материалу приветствуются.

Comments

12 Responses to “Перенос WordPress на другой хостинг”

  1. lab on August 29th, 2006 11:59 am

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

  2. phil on August 29th, 2006 12:09 pm

    Кроме подмены имен и путей в конфигах еще надо подменить имена и пути в базе. Самое главное - url блога в базе. Скорей всего не получилось именно из-за него.

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

  3. Lab on August 29th, 2006 8:16 pm

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

  4. phil on August 29th, 2006 8:21 pm

    Админка не пускает обычно с сообщением о “sending referrers”. Как правило это именно из-за изменения url самого блога.
    Возможно могут быть и другие варианты, но надо знать, на что именно он ругается, не пуская дальше первой страницы.

  5. slaff on August 30th, 2006 2:20 am

    Нужно менять пути в 2х полях одной таблицы в БД,

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

    Но всё-таки надежнее всего:

    * отключить плагины
    * раскопировать директорию блога
    * подготовить 10 конфигов (с именем базы, логином и пассом)
    * подготовить 1 sql запрос для смены значений в этих 2х полях (это очень простой запрос, если надо помогу написать его)

    * залить конфиги, дампы базы
    * войти в каждую базу и выполнить sql-запрос

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

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

  6. saahov on August 30th, 2006 2:42 pm

    В заметке так и чувствуется завлекалово в… ;)

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

  7. phil on August 30th, 2006 2:52 pm

    2saahov: Где? Я вроде ни словом не обмолвился! :)))

  8. slaff on August 30th, 2006 2:58 pm

    Таблица _options. Поля:

    id 1 - siteurl
    id 46 - home

    Там урл полный блога поставить и не забыть прописать данные доступа к этой базе в wp-config.php.

  9. Anton on August 30th, 2006 7:51 pm

    Если возникнут проблемы, можно ли к Вам обратиться ща помощью?
    За отдельную плату естественно.

  10. phil on August 31st, 2006 9:21 pm

    2Антон: Конечно можно, без проблем!
    Кстати, если потребуется помощь теоретическая - захотите спросить или надо будет подсказать что-то - спрашивайте, поможем бесплатно. ;)

  11. стас on October 6th, 2006 6:02 pm

    по моему перенос очень просто и понятен каждому

  12. kost on October 13th, 2006 10:22 pm

    Советы для домохозяек?

Leave a Reply