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

4 Окт
2009

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

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

1. Переносим все файлы со старого хостинга на новый.

2. Переносим дамп БД, со старого хостинга на новый.

Если переносим на другой домен или в другую папку, в mysql дампе базы необходимо заменить все вхождения адреса старого блога на новый, т.е. заменяем все http://www.vasya.ru на http://www.petya.ru/blog

3. Прописываем настройки новой БД в файле wp-config.php, вместо старых.

4. В файле wp-config.php прописываем

define('WP_HOME', 'http://www.vasya.ru'</a>);
define('WP_SITEURL', 'http://www.vasya.ru'</a>);

где http://www.vasya.ru – адрес главной страницы нашего блога.

Если изменилась папка блога по которой он доступен через web, например, блог был http://www.vasya.ru стал http://www.petya.ru/blog, в файле .htaccess делаем следующие изменения:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

Где ‘blog/’ – путь после доменного имени, в данном случае для http://www.petya.ru/blog

5. Устанавливаем атрибуты 777 для папки wp-content/uploads и всех подпапок.

6. Проверяем, в том числе работоспособность разных страниц и плагинов.

Подробная инструкция: перенос Wordpress на другой хостинг.

Нам понадобится:

  • FTP доступ к старому и новому хостингу.
  • PhpMyAdmin доступ к старому и новому хостингу.
  • Доступ к панели управления новым хостингом.

1. Копируем содержимое корневой папки wordpress.

Здесь всё достаточно просто, нужно зайти по FTP на ваш старый хостинг и найти корневую папку WordPress, она выглядит примерно так:

image

Копируем все файлы и папки к себе на компьютер.

2. Копируем дамп (образ) вашей базы данных со старого хостинга.

Если у вас больше одного сайта на старом хостинге:

Для начала нужно будет найти какую именно базу использует ваш WordPress, это можно сделать, открыв файл wp-config.php вашего блога в текстовом редакторе, файл находится в корневой директории вашего блога.

В wp-config.php находим строчку define(‘DB_NAME’, ‘srv16622_presser‘), то, что выделенно жирным и есть название вашей БД, именно ее и нужно открыть при помощи PhpMyAdmin.

Открываем БД нашего блога через PhpMyAdmin.

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

image

Нажимаем Экспорт (Export) в верхнем меню, на странице экспорта выбираем Упаковать: zip

image

Нажимаем ОК, после чего будет предложено сохранить файл БД к себе на компьютер, что и нужно сделать.

3. Перенос домена.

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

4. Копируем базу данных на новый хостинг

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

1. Название новой БД.

2. Имя пользователя БД.

3. Пароль пользователя БД.

4. Адрес сервера БД (если не указан в панели администрирования хостинга, возможно адрес сервера localhost).

Дальше нам опять поможет PhpMyAdmin, но уже на новом хостинге.

Открыв нашу новую БД в PhpMyAdmin, нажимаем на Импорт (Import)

На странице импорта указываем файл с нашей БД (который мы сохранили в п.2) и нажимаем OK.

Скорость импорта сильно зависит от размера БД, от количества комментариев, постов и т.п.

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

5. Подготовка файлов к переносу на новый хостинг

Перед тем как продолжить, в файл wp-config.php, после “<?php” нужно добавить две строчки:

define('WP_HOME', 'http://www.vasya.ru');
define('WP_SITEURL', 'http://www.vasya.ru');

где http://www.vasya.ru – адрес главной страницы нашего блога.

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

image

Так же в wp-config.php нужно заменить параметры старой БД, на новые, находим в wp-config.php следующие строки:

image

и заменяем значения, на полученные нами в п.4. Т.е. например если название нашей БД на новом хостинге стало “superhosting_vasya” то в wp-config.php должно быть:

define(‘DB_NAME’, ’superhosting_vasya’);

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

6. Копирование файлов блога на новый хостинг, проверка.

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

После того как файлы закончат копироваться на ftp, нужно установить права 777(rwxrwxrwx) на папку wp-content/uploads и все папки и все папки внутри нее, сделать это можно вашим FTP клиентом. Если этого не сделать, вы не сможете заливать новые файлы через панель администрирования WordPress.

Ну а теперь – всё готово! Барабанная дробь, дрожь в пальцах, набираем адрес нашего блога и….

блог не заработал :)

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

1. Сайт не открывается, браузер выдает ошибку вроде “Сервер не найден”, наиболее вероятная причина – неправильно перенесен домен или домен еще не “прописался” на новом хостинге.

2. Появилась надпись Error establishing a database connection. WordPress не может соединится с нашей новой БД, наиболее вероятная проблема – неправильно указанные данные в wp-config.php

3. Появилось страница с предложение установить новый блог, вместо главной страницы старого. Причина – WordPress соединился с БД, но база данных пуста, т.е. наша копия базы данных со старого хостинга по какой то причине не залилась в новую базу. Ищем ошибку импорта в PhpMyAdmin.

4. Появилась страница с названием нашего хостера вместо нашего блога, варианта два, возможно, достаточно просто удалить index.html из вашей корневой директории на ftp. Второй вариант, вы залили файлы не в ту папку на ftp.

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

блог заработал! :)

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

Перенос WordPress на другой домен или в другую папку

Здесь всё немного сложнее.

Допустим мы переносим блог http://www.vasya.ru на адрес http://www.petya.ru/blog

Делаем всё по вышеописанному сценарию, но у нас добавляется пара пунктов

2.1 Вносим изменения в базу

После того как мы сохранили дамп нашей базы к себе на компьютер, в нем нужно сделать некоторые изменения. Дело в том, что в базе WordPress хранятся прямые ссылки на наш старый блог. Например, у вас в посте есть картинка, ее адрес на старом блоге был http://www.vasya.ru/wp-content/uploads/kartinka.jpg, после переноса блога на новый адрес, ссылка будет все равно указывать на http://www.vasya.ru/wp-content/uploads/kartinka.jpg. Для того, что бы ссылка была на то же изображение но на новом хостинге, нужно вручную в базе исправить все ссылки со старым адресом нашего блога, на новый, сделать это можно любым приличным текстовым редактором, при помощи функции поиск и замена, примерно как на скриншоте:

image

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

5.1 Изменения в .htaccess

Необходимо так же внести изменения в файл .htaccess который находится в корне вашего WordPress, если раньше htaccess выглядел так:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

То при переносе WordPress в папку ‘blog’, файл должен быть таким:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

Всем спасибо, удачного вам “переезда”. Буду рад услышать ваши комментарии.

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

Похожие посты:

  1. Новая уязвимость в WordPress
  2. Настройка “Корзины” в WordPress
  3. Не-капча для вашего блога
  4. Интеграция phpBB и WordPress
  5. Обновление WordPress на живом примере

56 Комментариев к статье Перенос WordPress блога на другой хостинг, новый домен, в другую папку.

Avatar

wp-admin

4th Октябрь 2009 в 13:39

Крайне полезная инструкция, спасибо большое!

Avatar

Mr. Banana

15th Октябрь 2009 в 10:27

Действительно полезно. Сохраню в закладках.
Как раз недавно задавался вопросом о возможности смены хостинга в будущем…

Avatar

IvanMelnin

19th Октябрь 2009 в 13:43

Очередной раз понимаю, что wordpress универсальный инструмент

Avatar

Глум

24th Октябрь 2009 в 12:04

переехал с одного домена в отдельную директорию другого домена, все вроде сделал правильно, адреса поменял, но работает тольк главная domain.ru/pereezd/index.php все внутренниею выдают 404

Avatar

Михаил

30th Октябрь 2009 в 00:57

Спасибо, очень познавательно!

Avatar

Lady Maksima

1st Ноябрь 2009 в 00:35

У меня, после переезда, не добавляются картинки, с админки блога видно, что они пытаются «добавиться» в несуществующую директорию, как это исправить? Изменения, насколько я понимаю нужно делать в wp-config?

Avatar

Wordpresser

1st Ноябрь 2009 в 08:20

Lady Maksima, скорее всего нужно выставить права на папку uploads и все папкивнутри нее 777 и всё заработает

Avatar

Богдан Билан

1st Ноябрь 2009 в 12:40

Спасибо, очень полезная информация. Но есть вопрос по переносу блога в другую папку на хостинге. Как быть со всеми проиндексированными ссылками? Они будут работать, или нет?

Avatar

Lady Maksima

1st Ноябрь 2009 в 12:44

Я так и сделала, но это не помогло. Там что-то неправильно с путем. Вордпресс пытается сохранить изображения в папке, которой не существует :( Есть еще какой-то способ это исправить?

Avatar

Wordpresser

1st Ноябрь 2009 в 12:45

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

Avatar

Wordpresser

1st Ноябрь 2009 в 12:47

Lady Maksima, то, что WordPress пытатеся сохранить в несуществующую папку это нормально. Напишите, что конкретно пишет WordPress, какую ошибку.

Avatar

Lady Maksima

1st Ноябрь 2009 в 16:15

Вот такой ответ: Не могу создать директорию /home/home1/public_html/wp-content/uploads/2009/10. Проверьте, доступна ли родительская директория для записи (Права доступа должны быть 755, 775 либо 777 в зависимости от настроек вашего сервера)

Avatar

Wordpresser

1st Ноябрь 2009 в 16:17

Lady Maksima, тут без вариантов, дело в правах на директории, а конкретно на директорию 2009, нужно выставить правильный доступ через ftp-клент.

Avatar

Николай

3rd Ноябрь 2009 в 19:26

Подскажите как редактировать базу данных. На комп сохранил, файл имеет разрешение «.sql.gz» Чем его правильно открыть для редактирования?

Avatar

Николай

3rd Ноябрь 2009 в 21:40

Спасибо! все получилось! Проще простого, благодаря вам!

Avatar

AL11

9th Ноябрь 2009 в 00:41

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

Avatar

AL11

9th Ноябрь 2009 в 00:43

Они на одном хостинге, забыл, сори , :) .

Avatar

Wordpresser

9th Ноябрь 2009 в 06:00

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

Avatar

AL11

9th Ноябрь 2009 в 18:18

Так и сделал – все заработало! Спасибо огромное!!!

Avatar

Wordpresser

9th Ноябрь 2009 в 18:19

AL11, рад, что у вас всё получилось, значит я не зря писал!

Avatar

Baurlan

16th Ноябрь 2009 в 10:17

Здравствуйте админ этого сайта) У меня проблема как вы сказали с белым экраном, переносил сайт из Денвера на Хостинг, все сделал правильно, но вот он не хочет показывать мне его ((( Помогите пожалуйста – в долгу не останусь

Avatar

Wordpresser

16th Ноябрь 2009 в 14:38

Baurlan, похоже, что у вас что то с хостингом, т.к. не работают php скрипты вобще. Напишите в тех. поддержку хостинга, объясните ситуацию, если не поможет – напишите мне в icq 811631

Avatar

katherine

26th Ноябрь 2009 в 14:40

Большое спасибо за подробную инструкцию!
Всё перенесла, всё работает! :)

Avatar

Ден

28th Ноябрь 2009 в 19:25

Спасибо реально полезно, побольше бы таких постов, спасибо автору!

Avatar

Курский бомж

2nd Декабрь 2009 в 15:39

Отличная статья, думал перенос это сложно, но по инструкции все элементарно, спасибо ;-)

Avatar

Grawl

8th Декабрь 2009 в 19:39

А у меня вопрос довольно сложный.
Переносил сайт с хостинга в WAMP (аналог дэнвера в винде). Файлы скопировал, положил в папку WWW, вп-конфиг поправил. Осталось дело за импортом БД. Но не тут-то было! Моя база весит 13Мб, а phpMyAdmin разрешает только 2Мб. пытался править конфиг phpMyAdmin, но не помогло – даже после перезапуска WAMP и самого компа. Потом до меня дошло, что, наверное, БД можно положить в какую-то папку, где она должна лежать – но так и не нашёл её.
Помогите мне, пожалуйста. И лучше не здесь, а по IM – выбирайте любой контакт на моём сайте на странице «Инфо / Связь».

Avatar

Wordpresser

9th Декабрь 2009 в 20:22

Grawl, во первых скорее всего это ограничение php а не phpMyAdmin, если есть возможность нужно разрешить php загружать файлы большего размера.
Так же можно загрузить архив с дампом базы а не текстовый файл.
И последний вариант, можно загрузить базу по частям.

Avatar

eminkoff

17th Декабрь 2009 в 16:52

Полезный пост, но у меня возникла следующая проблема:
у провайдера накрылись сервера, но бэкапы отдали. Я ушел на другой хостинг, купил VPS. Перенес домен, файлы зааплоадил, базу импортнул. Блог теперь открывается, но не могу попасть в админку, просто чистая белая страница, хотя файлы вроде есть. Может посоветуешь что-нибудь?

Avatar

Legardio

26th Декабрь 2009 в 10:50

Доброго времени суток. У меня вот такая проблема – белый экран, при переносе с localhost на реальный хостинг. Грузиться черный экран и больше ничего. Доступ к админке есть. Переименовал папку с плагинами но ситуацию это не решила. Не могли бы Вы помочь, в чем может быть еще проблема?

Avatar

Wordpresser

26th Декабрь 2009 в 11:37

Legardio, разные варианты возможны по белому или черному экрану трудно сказать :)

Avatar

Александр

3rd Январь 2010 в 19:29

Блин, у меня тоже с белым экраном какая то трабла.. в базе данных вхождений на старый сайт вообще не находит, я даже не знаю как это возможно. Смешно, но так и есть!

Avatar

Екатерина

14th Январь 2010 в 16:17

Очень хорошая инструкция. Занесла в закладки, так как предстоит переезд на другой хостинг. Жаль, что автоматически как-нибудь нельзя это сделать :(

Avatar

AlexSan

17th Январь 2010 в 21:44

Белый экран – это фича PHP5.2, там по умолчанию отключен вывод сообщений об ошибках на экран. Вам нужно зайти в админку вашего WP и отключать по одному все плагины (при этом загружая ваш сайт на другой вкладке браузера). Кроме того, найти в ваших папках error.log (он лежит в корне хоста) и посмотреть, что требуется для PHP, вероятнее всего, у вас в настройках PHP не включены какие то библиотеки. Я сам вчера переключил PHP4 на PHP5, и полночи искал причину белого экрана. Как только включил все требующиеся библиотеки и расширения, вырубил некоторые плагины, добавил памяти, все заработало.

Avatar

Konstanty

19th Январь 2010 в 21:23

Cпасибо огромное, все разжеванно – лучшей инструкции не встречал

Avatar

Konstanty

19th Январь 2010 в 23:58

Перед тем как продолжить, в файл wp-config.php, после “<?php” нужно добавить две строчки:

define(‘WP_HOME’, ‘http://www.vasya.ru’);
define(‘WP_SITEURL’, ‘http://www.vasya.ru’);

Вместо апострофов(’) кавычки(') надо поставить , а то браузер ругается Parse error: syntax error, unexpected ':' in /home/*******/domains/*******/public_html/******/wp-config.php on line 2

Avatar

Wordpresser

20th Январь 2010 в 10:49

Konstanty, спасибо! Исправил в посте.

Avatar

казиношник

29th Январь 2010 в 15:55

Lady Maksima, идёте в настройки –> разное и меняете там директорию, в которую заливаются картинки.

Avatar

SiR0Ga

4th Февраль 2010 в 00:12

Статья интересная но жаль что автор не коснулся про атрибуты 777, потому что на старом Буетхосте проблем с этим не возникало, а на новом хостинге начались небольшие траблы… Что хочу сказать, хотелось бы подробнее знать каким файлам на сервере можно 777 а каким нельзя , не, про конфиг то это понятно, а как остальные ?

Avatar

Wordpresser

4th Февраль 2010 в 07:30

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

Конфигу атрибуты 777 ставить не нужно и вообще лучше наугад не ставить, чревато лишними проблемами в работе и безопасности.

Avatar

SiR0Ga

6th Февраль 2010 в 19:25

«Вообще в статье написано, что для uploads и всех подпапок нужно установить права 777″

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

А за статью спасибо, неплохо описано, я примерно так и делал, правда название сайта не менял и просто перенёс дамп базы и в конфиге все данные подкорректировал))))

Avatar

Wordpresser

6th Февраль 2010 в 19:27

SiR0Ga, рад, что у вас все получилось.

Avatar

Alexander

21st Февраль 2010 в 02:34

Я не особо спец в этом деле, но при помощи вашей инструкции перенес свой блог за 10 мин. Спасибо.

Avatar

Антон

23rd Февраль 2010 в 23:42

Пытаюсь перенести сайт antoine.ru на wineself.ru, вроде все сделал как написано, но явно чего-то не хватает, потому что открывается как раз пустой белый экран. Хотя в админку на новом домене пускает, дает создавать записи и т.п. Также открываются отдельные картинки из постов (например, http://www.wineself.ru/wp-content/2010/01/act1-465×288.jpg), только не сам сайт.

в чем может быть дело. подскажите? буду очень признателен!

Avatar

Антон

24th Февраль 2010 в 00:05

Извиняюсь, проблема разрешилась – оказывается сказалось отсутствие дефолтной темы, включил тему сайта, все открылось.

спасибо!

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

PPS в моем случае я переносил сайт на другой домен в рамках одного хостинга

Avatar

Wordpresser

24th Февраль 2010 в 06:25

Антон, рад что вам помогло.
Если делать замену в базе как описано в статье, т.е. заменять адрес блога «http://www.blog.ru» на другой, то название баз никак не изменится.

Avatar

Efim

26th Апрель 2010 в 11:49

Спасибо за статью. Перенес блог на новый сервер. Статьи работают, фотографии в статьи грузятся, всё гуд.
Но после обнаружились проблемы.

1. Не загружаются фотографии в NextGEN Gallery. Даже если загрузить фото в папку галерии и нажать кнопку «Scan folder for new images», то не работает, выдает пустую страницу только с левым меню.
2. Не получается установить и обновить плагины. Тоже выдает пустую страницу только с левым меню.

Avatar

Станислав

13th Май 2010 в 11:44

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

Avatar

Ирина

13th Май 2010 в 15:31

Здравствуйте статья замечательная))только вот столкнулась с проблемой…переношу сайт на localhost . Все сделала как тут описано, но грузится только первая страница, внутренние не работают…выдают 404ошибку и все…((
что не так?

Avatar

Ирина

13th Май 2010 в 15:42

проблему решила)))надо было всего навсего настроить ЧПУ в ВП))

Avatar

Константин

8th Июнь 2010 в 14:16

Прошу помощи, всё сделал как описано, но сайт не оживат!!!! Есть все дампы уже делал, что только возможно но сайт так и не начал шуршать!!! Автор и гуру помогите!!

Avatar

[sb]

28th Июнь 2010 в 18:22

скоро переношу свой блог на новый хостинг, воспользуюсь вашей статьёй. спасибо за полезную информацию:)

Avatar

Евгений

30th Июнь 2010 в 12:17

Спасибо ! Очень помогли.

Avatar

ingz

3rd Июль 2010 в 11:03

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

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

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

Avatar

Wordpresser

4th Июль 2010 в 13:22

ingz, не сталкивался, но очень похоже, что всё так дело в пути к картинке в шапке.

Avatar

Kanat

14th Июль 2010 в 14:36

супер. отличная статья. 5+.
помогла переехать на новый хостинг без проблем.

Avatar

Сергей

24th Июль 2010 в 18:04

Спасибо . Отличная статья. Только после ее прочтения дал дупля своему сайту.

Оставить комментарий к "Перенос WordPress блога на другой хостинг, новый домен, в другую папку."

Наверх