Один из читателей блога спросил, как перенести 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. Проверяем, в том числе работоспособность разных страниц и плагинов.
Нам понадобится:
Здесь всё достаточно просто, нужно зайти по FTP на ваш старый хостинг и найти корневую папку WordPress, она выглядит примерно так:
Копируем все файлы и папки к себе на компьютер.
Если у вас больше одного сайта на старом хостинге:
Для начала нужно будет найти какую именно базу использует ваш WordPress, это можно сделать, открыв файл wp-config.php вашего блога в текстовом редакторе, файл находится в корневой директории вашего блога.
В wp-config.php находим строчку define(‘DB_NAME’, ‘srv16622_presser‘), то, что выделенно жирным и есть название вашей БД, именно ее и нужно открыть при помощи PhpMyAdmin.
Открываем БД нашего блога через PhpMyAdmin.
Название и количество таблиц должны быть более менее похожи на те, что на скриншоте, если это так, значит мы попали в базу используемую WordPress.
Нажимаем Экспорт (Export) в верхнем меню, на странице экспорта выбираем Упаковать: zip
Нажимаем ОК, после чего будет предложено сохранить файл БД к себе на компьютер, что и нужно сделать.
На данный момент у нас есть копия всех файлов блога и копия базы данных блога, это и есть весь наш блог, больше нам ничего не нужно, теперь можно смело переносить домен на новый хостинг, как это сделать, можно узнать на сайте или в тех. поддержке вашего нового хостинга.
Для начала нам нужно создать базу данных для нашего блога, на новом хостинге, обычно это можно сделать из панели администрирования хостинга. После ее создания у нас должна быть следующая информация:
1. Название новой БД.
2. Имя пользователя БД.
3. Пароль пользователя БД.
4. Адрес сервера БД (если не указан в панели администрирования хостинга, возможно адрес сервера localhost).
Дальше нам опять поможет PhpMyAdmin, но уже на новом хостинге.
Открыв нашу новую БД в PhpMyAdmin, нажимаем на Импорт (Import)
На странице импорта указываем файл с нашей БД (который мы сохранили в п.2) и нажимаем OK.
Скорость импорта сильно зависит от размера БД, от количества комментариев, постов и т.п.
Через некоторое время должно появится сообщение об успешном импорте, можно переходить к следующему шагу.
Перед тем как продолжить, в файл wp-config.php, после “<?php” нужно добавить две строчки:
define('WP_HOME', 'http://www.vasya.ru');
define('WP_SITEURL', 'http://www.vasya.ru');
где http://www.vasya.ru – адрес главной страницы нашего блога.
Должно получиться примерно так:
Так же в wp-config.php нужно заменить параметры старой БД, на новые, находим в wp-config.php следующие строки:
и заменяем значения, на полученные нами в п.4. Т.е. например если название нашей БД на новом хостинге стало “superhosting_vasya” то в wp-config.php должно быть:
define(‘DB_NAME’, ’superhosting_vasya’);
И так далее, изменять нужно только строчки показанные на скриншоте, другие строчки трогать не рекомендуется.
Копируем файлы нашего блога на новый хостинг, в итоге у нас должна получится копия старого блога, но с изменениями, сделанными в п.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, можно попробовать написать в тех. поддержку хостинга.
блог заработал!
Радоваться начинаем только после того, как проверяем разные страницы сайта на работоспособность и работоспособность всех плагинов.
Здесь всё немного сложнее.
Допустим мы переносим блог http://www.vasya.ru на адрес http://www.petya.ru/blog
Делаем всё по вышеописанному сценарию, но у нас добавляется пара пунктов
После того как мы сохранили дамп нашей базы к себе на компьютер, в нем нужно сделать некоторые изменения. Дело в том, что в базе WordPress хранятся прямые ссылки на наш старый блог. Например, у вас в посте есть картинка, ее адрес на старом блоге был http://www.vasya.ru/wp-content/uploads/kartinka.jpg, после переноса блога на новый адрес, ссылка будет все равно указывать на http://www.vasya.ru/wp-content/uploads/kartinka.jpg. Для того, что бы ссылка была на то же изображение но на новом хостинге, нужно вручную в базе исправить все ссылки со старым адресом нашего блога, на новый, сделать это можно любым приличным текстовым редактором, при помощи функции поиск и замена, примерно как на скриншоте:
После установки блога убедитесь, что изображения в постах на новом блоге отображается.
Необходимо так же внести изменения в файл .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>
Всем спасибо, удачного вам “переезда”. Буду рад услышать ваши комментарии.
Если вам помогла это инструкция, поделитесь ей со своими читателями, возможно она поможет и им.
Похожие посты:
56 Комментариев к статье Перенос WordPress блога на другой хостинг, новый домен, в другую папку.
4th Октябрь 2009 в 13:39
Крайне полезная инструкция, спасибо большое!
15th Октябрь 2009 в 10:27
Действительно полезно. Сохраню в закладках.
Как раз недавно задавался вопросом о возможности смены хостинга в будущем…
19th Октябрь 2009 в 13:43
Очередной раз понимаю, что wordpress универсальный инструмент
24th Октябрь 2009 в 12:04
переехал с одного домена в отдельную директорию другого домена, все вроде сделал правильно, адреса поменял, но работает тольк главная domain.ru/pereezd/index.php все внутренниею выдают 404
30th Октябрь 2009 в 00:57
Спасибо, очень познавательно!
1st Ноябрь 2009 в 00:35
У меня, после переезда, не добавляются картинки, с админки блога видно, что они пытаются «добавиться» в несуществующую директорию, как это исправить? Изменения, насколько я понимаю нужно делать в wp-config?
1st Ноябрь 2009 в 08:20
Lady Maksima, скорее всего нужно выставить права на папку uploads и все папкивнутри нее 777 и всё заработает
1st Ноябрь 2009 в 12:40
Спасибо, очень полезная информация. Но есть вопрос по переносу блога в другую папку на хостинге. Как быть со всеми проиндексированными ссылками? Они будут работать, или нет?
1st Ноябрь 2009 в 12:44
Я так и сделала, но это не помогло. Там что-то неправильно с путем. Вордпресс пытается сохранить изображения в папке, которой не существует
Есть еще какой-то способ это исправить?
1st Ноябрь 2009 в 12:45
Богдан, нет, старые проиндексированные страниц открываться не будут, можно конечно оставить старый блог и сделать новый, но это не самая лучшая идея с точки зрения поисковиков. В принципе можно сделать редирект со старых страниц на новые, но для этого нужны знания в php.
1st Ноябрь 2009 в 12:47
Lady Maksima, то, что WordPress пытатеся сохранить в несуществующую папку это нормально. Напишите, что конкретно пишет WordPress, какую ошибку.
1st Ноябрь 2009 в 16:15
Вот такой ответ: Не могу создать директорию /home/home1/public_html/wp-content/uploads/2009/10. Проверьте, доступна ли родительская директория для записи (Права доступа должны быть 755, 775 либо 777 в зависимости от настроек вашего сервера)
1st Ноябрь 2009 в 16:17
Lady Maksima, тут без вариантов, дело в правах на директории, а конкретно на директорию 2009, нужно выставить правильный доступ через ftp-клент.
3rd Ноябрь 2009 в 19:26
Подскажите как редактировать базу данных. На комп сохранил, файл имеет разрешение «.sql.gz» Чем его правильно открыть для редактирования?
3rd Ноябрь 2009 в 21:40
Спасибо! все получилось! Проще простого, благодаря вам!
9th Ноябрь 2009 в 00:41
А вот такой интересный вопросик: я меняю местами основной и субдомены – базы сохранены, главная страница работает, структура сайта осталась, а вот переходы по страницам – т.е. ссылки не могу поменять. Подскажите, пожалуйста, что и где прописать.
9th Ноябрь 2009 в 00:43
Они на одном хостинге, забыл, сори ,
.
9th Ноябрь 2009 в 06:00
AL11, всё как по инструкции которая выше по переносу на другой домен, только базу можно не переносить.
9th Ноябрь 2009 в 18:18
Так и сделал – все заработало! Спасибо огромное!!!
9th Ноябрь 2009 в 18:19
AL11, рад, что у вас всё получилось, значит я не зря писал!
16th Ноябрь 2009 в 10:17
Здравствуйте админ этого сайта) У меня проблема как вы сказали с белым экраном, переносил сайт из Денвера на Хостинг, все сделал правильно, но вот он не хочет показывать мне его ((( Помогите пожалуйста – в долгу не останусь
16th Ноябрь 2009 в 14:38
Baurlan, похоже, что у вас что то с хостингом, т.к. не работают php скрипты вобще. Напишите в тех. поддержку хостинга, объясните ситуацию, если не поможет – напишите мне в icq 811631
26th Ноябрь 2009 в 14:40
Большое спасибо за подробную инструкцию!
Всё перенесла, всё работает!
28th Ноябрь 2009 в 19:25
Спасибо реально полезно, побольше бы таких постов, спасибо автору!
2nd Декабрь 2009 в 15:39
Отличная статья, думал перенос это сложно, но по инструкции все элементарно, спасибо
8th Декабрь 2009 в 19:39
А у меня вопрос довольно сложный.
Переносил сайт с хостинга в WAMP (аналог дэнвера в винде). Файлы скопировал, положил в папку WWW, вп-конфиг поправил. Осталось дело за импортом БД. Но не тут-то было! Моя база весит 13Мб, а phpMyAdmin разрешает только 2Мб. пытался править конфиг phpMyAdmin, но не помогло – даже после перезапуска WAMP и самого компа. Потом до меня дошло, что, наверное, БД можно положить в какую-то папку, где она должна лежать – но так и не нашёл её.
Помогите мне, пожалуйста. И лучше не здесь, а по IM – выбирайте любой контакт на моём сайте на странице «Инфо / Связь».
9th Декабрь 2009 в 20:22
Grawl, во первых скорее всего это ограничение php а не phpMyAdmin, если есть возможность нужно разрешить php загружать файлы большего размера.
Так же можно загрузить архив с дампом базы а не текстовый файл.
И последний вариант, можно загрузить базу по частям.
17th Декабрь 2009 в 16:52
Полезный пост, но у меня возникла следующая проблема:
у провайдера накрылись сервера, но бэкапы отдали. Я ушел на другой хостинг, купил VPS. Перенес домен, файлы зааплоадил, базу импортнул. Блог теперь открывается, но не могу попасть в админку, просто чистая белая страница, хотя файлы вроде есть. Может посоветуешь что-нибудь?
26th Декабрь 2009 в 10:50
Доброго времени суток. У меня вот такая проблема – белый экран, при переносе с localhost на реальный хостинг. Грузиться черный экран и больше ничего. Доступ к админке есть. Переименовал папку с плагинами но ситуацию это не решила. Не могли бы Вы помочь, в чем может быть еще проблема?
26th Декабрь 2009 в 11:37
Legardio, разные варианты возможны по белому или черному экрану трудно сказать
3rd Январь 2010 в 19:29
Блин, у меня тоже с белым экраном какая то трабла.. в базе данных вхождений на старый сайт вообще не находит, я даже не знаю как это возможно. Смешно, но так и есть!
14th Январь 2010 в 16:17
Очень хорошая инструкция. Занесла в закладки, так как предстоит переезд на другой хостинг. Жаль, что автоматически как-нибудь нельзя это сделать
17th Январь 2010 в 21:44
Белый экран – это фича PHP5.2, там по умолчанию отключен вывод сообщений об ошибках на экран. Вам нужно зайти в админку вашего WP и отключать по одному все плагины (при этом загружая ваш сайт на другой вкладке браузера). Кроме того, найти в ваших папках error.log (он лежит в корне хоста) и посмотреть, что требуется для PHP, вероятнее всего, у вас в настройках PHP не включены какие то библиотеки. Я сам вчера переключил PHP4 на PHP5, и полночи искал причину белого экрана. Как только включил все требующиеся библиотеки и расширения, вырубил некоторые плагины, добавил памяти, все заработало.
19th Январь 2010 в 21:23
Cпасибо огромное, все разжеванно – лучшей инструкции не встречал
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
20th Январь 2010 в 10:49
Konstanty, спасибо! Исправил в посте.
29th Январь 2010 в 15:55
Lady Maksima, идёте в настройки –> разное и меняете там директорию, в которую заливаются картинки.
4th Февраль 2010 в 00:12
Статья интересная но жаль что автор не коснулся про атрибуты 777, потому что на старом Буетхосте проблем с этим не возникало, а на новом хостинге начались небольшие траблы… Что хочу сказать, хотелось бы подробнее знать каким файлам на сервере можно 777 а каким нельзя , не, про конфиг то это понятно, а как остальные ?
4th Февраль 2010 в 07:30
Вообще в статье написано, что для uploads и всех подпапок нужно установить права 777, этого достаточно для нормальной работы блога. Так же можно установить 777 для файлов темы если собираетесь править тему из админки, для файла .htaccess, возможно каким то плагинам понадобится изменение атрибутов папок на 777, например для кэша, но это уже в статье не опишешь.
Конфигу атрибуты 777 ставить не нужно и вообще лучше наугад не ставить, чревато лишними проблемами в работе и безопасности.
6th Февраль 2010 в 19:25
«Вообще в статье написано, что для uploads и всех подпапок нужно установить права 777″
Сделал даже больше, но всё равно при загрузке фотографий возникает одна ошибка, ну да и Бог с ней, а остальные траблы что возникали к вашей теме не совсем относятся, у меня платный шаблон и из за некоторых моментов он неправильно работал, методом проб и ошибок я почти всё исправил.
А за статью спасибо, неплохо описано, я примерно так и делал, правда название сайта не менял и просто перенёс дамп базы и в конфиге все данные подкорректировал))))
6th Февраль 2010 в 19:27
SiR0Ga, рад, что у вас все получилось.
21st Февраль 2010 в 02:34
Я не особо спец в этом деле, но при помощи вашей инструкции перенес свой блог за 10 мин. Спасибо.
23rd Февраль 2010 в 23:42
Пытаюсь перенести сайт antoine.ru на wineself.ru, вроде все сделал как написано, но явно чего-то не хватает, потому что открывается как раз пустой белый экран. Хотя в админку на новом домене пускает, дает создавать записи и т.п. Также открываются отдельные картинки из постов (например, http://www.wineself.ru/wp-content/2010/01/act1-465×288.jpg), только не сам сайт.
в чем может быть дело. подскажите? буду очень признателен!
24th Февраль 2010 в 00:05
Извиняюсь, проблема разрешилась – оказывается сказалось отсутствие дефолтной темы, включил тему сайта, все открылось.
спасибо!
P.S. главное узкое место для таких новичков как я – работа с БД. На пункте замены адресов в базе надо сделать особый акцент, потому что делается это вручную и по умолчанию если все тупо заменить, заменится также и название баз, к которым надо сайту обращаться, тут следует быть внимательным и оставить эти строчки как есть.
PPS в моем случае я переносил сайт на другой домен в рамках одного хостинга
24th Февраль 2010 в 06:25
Антон, рад что вам помогло.
Если делать замену в базе как описано в статье, т.е. заменять адрес блога «http://www.blog.ru» на другой, то название баз никак не изменится.
26th Апрель 2010 в 11:49
Спасибо за статью. Перенес блог на новый сервер. Статьи работают, фотографии в статьи грузятся, всё гуд.
Но после обнаружились проблемы.
1. Не загружаются фотографии в NextGEN Gallery. Даже если загрузить фото в папку галерии и нажать кнопку «Scan folder for new images», то не работает, выдает пустую страницу только с левым меню.
2. Не получается установить и обновить плагины. Тоже выдает пустую страницу только с левым меню.
13th Май 2010 в 11:44
Подскажите, а как быть если я только хочу переехать с одного хостинга на другой, домен остается тот же, как быть нужно ли что то менять или еще что то?
13th Май 2010 в 15:31
Здравствуйте статья замечательная))только вот столкнулась с проблемой…переношу сайт на localhost . Все сделала как тут описано, но грузится только первая страница, внутренние не работают…выдают 404ошибку и все…((
что не так?
13th Май 2010 в 15:42
проблему решила)))надо было всего навсего настроить ЧПУ в ВП))
8th Июнь 2010 в 14:16
Прошу помощи, всё сделал как описано, но сайт не оживат!!!! Есть все дампы уже делал, что только возможно но сайт так и не начал шуршать!!! Автор и гуру помогите!!
28th Июнь 2010 в 18:22
скоро переношу свой блог на новый хостинг, воспользуюсь вашей статьёй. спасибо за полезную информацию:)
30th Июнь 2010 в 12:17
Спасибо ! Очень помогли.
3rd Июль 2010 в 11:03
вопросик – перенес блог с локала на хостинг и теперь у меня проблема с картинкой в хедере – она не отображается, точнее отображается файл *.png который был в выбранной мной теме, а сама картинка отсутствует.
пробовал заменить этот пнг файл, сделав свою заствку с таким же расширением, но не помогло.
по рекомендации провайдера посмотрел базу чтобы поправить пути, но вроде все они настроены правильно.
не встречались с подобной проблемкой? как ее можно решить?
4th Июль 2010 в 13:22
ingz, не сталкивался, но очень похоже, что всё так дело в пути к картинке в шапке.
14th Июль 2010 в 14:36
супер. отличная статья. 5+.
помогла переехать на новый хостинг без проблем.
24th Июль 2010 в 18:04
Спасибо . Отличная статья. Только после ее прочтения дал дупля своему сайту.