Сегодня у нас возник вопрос: «Как перенести сайт WordPress на другой хостинг и домен?». Нам помогла следующая статья, автором которой является Никита (ссылка на сайт под постом). Благодаря этой инструкции мы без труда смогли перенести сайт WordPress на другой хостинг и домен. Никите почет и уважение!
Один из читателей блога спросил, как перенести 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, она выглядит примерно так:
Копируем все файлы и папки к себе на компьютер.
2. Копируем дамп (образ) вашей базы данных со старого хостинга.
Если у вас больше одного сайта на старом хостинге:
Для начала нужно будет найти какую именно базу использует ваш WordPress, это можно сделать, открыв файл wp-config.php вашего блога в текстовом редакторе, файл находится в корневой директории вашего блога.
В wp-config.php находим строчку define(‘DB_NAME’, ‘srv16622_presser‘), то, что выделено жирным и есть название вашей БД, именно ее и нужно открыть при помощи PhpMyAdmin.
Открываем БД нашего блога через PhpMyAdmin.
Название и количество таблиц должны быть более менее похожи на те, что на скриншоте, если это так, значит мы попали в базу используемую WordPress.
Нажимаем Экспорт (Export) в верхнем меню, на странице экспорта выбираем Упаковать: zip
Нажимаем ОК, после чего будет предложено сохранить файл БД к себе на компьютер, что и нужно сделать.
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 – адрес главной страницы нашего блога.
Должно получиться примерно так:
Так же в wp-config.php нужно заменить параметры старой БД, на новые, находим в wp-config.php следующие строки:
и заменяем значения, на полученные нами в п.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. Для того, что бы ссылка была на то же изображение но на новом хостинге, нужно вручную в базе исправить все ссылки со старым адресом нашего блога, на новый, сделать это можно любым приличным текстовым редактором, при помощи функции поиск и замена, примерно как на скриншоте:
После установки блога убедитесь, что изображения в постах на новом блоге отображается.
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>
Всем спасибо, удачного вам “переезда”. Буду рад услышать ваши комментарии.
Источник http://www.wordpresser.ru
Так и не получилось у меня перенести сайт, но обратился в поддержку своего хостинга Handyhost, и они мне сами всё перенесли безо всяких проблем)
Помогли коментарии
Большое спасибо))) в тренинге «продвижение сайтов своими? руками» она как раз есть!
define(‘WP_HOME’, ‘httр://www.vasya.ru’);
define(‘WP_SITEURL’, ‘http://www.vasya.ru’);
Отлично, что увидел Вашу статью, помогла! Спасибо
Спасибо! Способ действительно помог.
Спасибо, ценная статья, очень помогла в переносе WordPress на другой хостинг.
Мне кажется, перенести WordPress можно несколько проще, чем написано в этой инструкции.
Огромное спасиибо!!
Никак не могла понять почему не работает сайт, а выяснилось, что раньше сайт располагался во вложенной папке, а не в корне, а переносила я в корень, соответственно все ссылки не работали.
Теперь все работает! УРаааааааа!!!
спасибо за помощь! мой сайт заработал после переноса на новый домен, помогло переименование вхожденияhttp://www.vasya.ru на http://www.petya.ru (в том числе и в ВД),но вот это не понадобилось:
define(‘WP_HOME’, ‘http://www.vasya.ru’);
define(‘WP_SITEURL’, ‘http://www.vasya.ru’);
Спасибо. У меня все получилось. Только вот в статье есть пара недочётов.
Вы пишите:
2. Переносим дамп БД, со старого хостинга на новый.
Если переносим на другой домен или в другую папку, в mysql дампе базы необходимо заменить все вхождения адреса старого блога на новый, т.е. заменяем все «http://www.vasya.ru» на «http://www.petya.ru/blog»
4. В файле wp-config.php прописываем
define(‘WP_HOME’, ‘http://www.vasya.ru’);
define(‘WP_SITEURL’, ‘http://www.vasya.ru’);
Замечания:
По пункту 2.
1. Можно было бы кратко описать метод замены ссылок, тогда бы мне лично хватило бы краткой версии статьи.
2. Заменять надо vasya.ru на petya.ru/blog, т.к. ссылки в базе могут быть как с www (httр://www.vasya.ru), так и без www (httр://vasya.ru).
По пункту 4.
Это также относится по сути к описанному в пункте 3.
Только почему же в define вы пишете прописываем vasya.ru, когда мы переносим сайт vasya.ru на petya.ru/blog?
Ведь должно быть:
define(‘WP_HOME’, ‘http://www.petya.ru/blog’);
define(‘WP_SITEURL’, ‘http://www.petya.ru/blog’);
не так ли?
Вы пишите в статье: » у вас в посте есть картинка, ее адрес на старом блоге былhttp://www.vasya.ru/wp-content/uploads/kartinka.jpg , после переноса блога на новый адрес, ссылка будет все равно указывать на http://www.vasya.ru/wp-content/uploads/kartinka.jpg . Для того, что бы ссылка была на то же изображение но на новом хостинге, нужно вручную в базе исправить все ссылки со старым адресом нашего блога, на новый». А у меня проблема немного другая — все старые картинки отображаются корректно, а вот новые загружать не могу. Отображается маленькая иконка внутри большого квадрата. На странице блога «добавить медиафайл» есть кнопка «редактировать изображение», когда ее нажимаю, картинка разворачивается. А потом нажимаю » вставить в запись» и все в записи опять иконка. Что делать не знаю бьюсь с этим уже три недели и все бесполезно. Помогите, пожалуйста, очень прошу, исправить ситуацию.
Ольга, для начала попробуйте посмотреть, ссылку картинки которая не отображается. В какой каталог ведет ссылка?
после переноса блога нет связи с wp-admin, вернее он дает заполнить логин и пароль, а потом накидал мне: Warning трабла в wp-config.php line 349? потом еще в wp-includes\pluggable.php on line 670. И чо делать уже замаился.
А у меня после переноса блога нет связи с wp-admin. Переадресует на адресhttp://www.www./wp-login.. . Вот именно так, два раза www. Кто-то может помочь?
Попробовал сделать файл как вы написали, но не получилось его загрузить — опять пишет про открытие Php файла. Однако другие странички html грузит — вот сайтhttp://www.astro-psy.ru — он не грузится — а вот страничка html: http://www.astro-psy.ru/8ziCourse.html — она загружается. В чем дело?
Максим, если путь к корню файла указан правильно, то при наборе адреса сайта должна отображаться страница index.html. Попробуйте удалить домен и создать его заново.
Прошу прощения, вы написали волшебные слова 🙂 — «неверно указали путь к корню сайта» — перечитал весь пост, но не нашел ничего про изменение пути к корню сайта — а что это такое и где его проверить?
Максим, вы перенесли сайт к на другой хостинг? Если да, то не забыли изменить DNS?
Проделали все стандартные действия перед переносом сайта? Т.е. вы должны были создать новый домен и указать путь к корню сайта, создать новую БД и импортировать в нее все данные из старой БД.
Добрый день! Помогите, пожалуйста, разобраться. Мой сайт ломанули хакеры. После того как в течении нескольких дней не смог достучаться до поддержки решил перенести блог. Вроде сделал все как написано, но в результате мне пишет при наборе в браузере:
«Вы собираетесь открыть файл являющийся php файлом » и т.п.
Где я накосячил?
Максим, в подобных случаях стоит начинать с простого. Создайте файла index.html (с любым текстом) и забросьте его в корень сайта. Если создали новый домен на хостинге правильно, при обращении к сайту должна загружаться данная страница.
Если страница загрузилась, значит вы перенесли не все файлы. Не загрузилась, значит неверно указали путь к корню сайта.
Никакая и не хрень. Пересмотрел несколько других статей и ни один из тех способов мне не помог, а как только прописал
4. В файле wp-config.php прописываем
define(‘WP_HOME’, ‘http://www.vasya.ru’);
define(‘WP_SITEURL’, ‘http://www.vasya.ru’);
Сразу все заработало. УРРА!!! Спасибо автору
Почему хрень? Способ ведь рабочий? Или этот пункт вообще не нужен?
4. В файле wp-config.php прописываем
define(‘WP_HOME’, ‘http://www.vasya.ru’);
define(‘WP_SITEURL’, ‘http://www.vasya.ru’);
Полная хрень !!!