Блог о SEO оптимизация и поисковое продвижение
30 Сен
Последнее время мне неоднократно приходилось осуществлять перенос WordPress в связи с разными обстоятельствами. В том числе переезд с одного на другой хостинг (здесь поднаторел в переносе сайтов между серверами, без загрузки на компьютер), разработка блога на Денвере с последующим переносом на хостинг, перенос WordPress в папку для предварительного показа заказчику.
При этом столкнулся с рядом сложностей (кодировки, права доступа), что было вызвано иногда различиях в настройках и политиках безопасности серверов, а иногда собственной невнимательностью. Не обошлось и без использования дополнительных плагинов экспорта-импорта в некоторых случаях. Оформлю же теперь накопленный опыт в мануал по переносу WordPress во всех испытанных мной вариациях.
Именно эта процедура переноса WP была проделана мною первой из всех возможных вариантов переноса, потому начну с неё. К тому же, этот вариант, на мой взгляд, самый простой. Подразумевается, что доменное имя сохраняется, меняется только физическое положение файлов сайта на серверах. Для начала убедитесь, что у вас есть:
Если каких-то доступов не хватает, их можно узнать у хостера. Кстати, при переезде на хостинг LLHost (может и какие-то другие — не знаю) админ может выполнить перенос за вас, если вы предоставите нужные доступы.
Предположим, что ваш сайт сейчас нормально функционирует (другой случай будет рассмотрен ниже). В первую очередь следует создать архивные копии файлов и базы данных. Зайдите на хостинг в файловый менеджер, выберите папку WordPress, в ней выделите все файлы и нажмите кнопку «создать архив» (по клику увеличивается):
Если такой кнопки нет (в некоторых панелях хостингов почему-то кнопка «распаковать» есть, а «создать архив» — извините), то можно запаковать файлы по SSH. Для тех, кто хоть раз работал по этому протоколу, приведу лишь шпаргалку, как запаковать:
tar cjf archive.tbz *
(Предполагается, что текущая директория — это директория нашего блога). archive.tbz — это имя архива, к которому мы обратимся в дальнейшем.
Или можно скачать все файлы по FTP на свой компьютер, но рекомендую перед этим попросить хостера упаковать файлы, причём именно внутри папки сайта (чтобы не было такого: в архиве папка site.ru, а в папке файлы — во избежание лишних сложностей).
Затем создаём дамп, т.е. образ базы данных. Проще говоря, экспортируем БД блога. Для этого необходимо посетит phpMyAdmin, где выбрать нужную БД. Затем нажать «Экспорт» и выбрать все таблицы:
Затем отметить опцию «архивировать в gzip» (или zip) и нажать «OK» (на той же странице несколько ниже):
После браузер вам предложит сохранить базу данных на вашем компьютере.
Сайт упакован — полдела сделано. Теперь поработаем с доменом. В некоторых случаях в панели управления доменом требуется переписать DNS-сервера (они имеют вид вроде: ns1.yandex.ru, ns2.yandex.ru), а иногда нужно в A-записи домена изменить IP-адрес на адрес нового хостинга. Всю информацию можно узнать у хостеров. Когда это сделано, мгновенных изменений вы не обнаружите: смена маршрутов на каналах связи занимает от получаса до суток (по России). А мы пока займёмся разворачиванием сайта на новом хостинге.
Закачиваем архив с файлами WordPress на новый хостинг (через файловый менеджер, FTP или просим хостера перенести и распаковать архив) в папку сайта. Кстати, если файловый менеджер поддерживает удалённую загрузку, то можно даже себе архив не закачивать (панель LLHost поддерживает). Затем архив распаковываем на хостинге (обычно контрольная панель хостинга позволяет это сделать, либо просим хостера).
Вносим коррективы в файл wp-config.php, открыв его в Notepad++ (рекомендую убедиться после открытия, что «Кодировка» — «UTF-8 без BOM»). В файле меняем значение следующих констант (что требуется изменить, выделено жирным):
/** Имя базы данных для WordPress */
define ('DB_NAME', 'database');
/** MySQL имя пользователя */
define ('DB_USER', 'root');
/** MySQL пароль базы данных */
define ('DB_PASSWORD', 'password');
/** MySQL сервер — иногда требуется изменять это значение. например на Мастерхосте */
define ('DB_HOST', 'localhost');
Последнее, как и указано в комментарии, менять вряд ли придётся. Все данные можно получить у хостера. После правки сохраняем файл и заливаем его на хостинг.
Ещё нам нужно загрузить саму базу данных в phpMyAdmin нового хостинга. Для этого выбираем пустую БД в phpMyAdmin, куда планируется загрузить наши таблицы, и пункт меню «SQL» или «Импорт». Там есть поле с кнопкой «Обзор...», позволяющее выбрать ранее созданный архив БД на компьютере и загрузить. Если в результате загрузки получаем сообщение: «Выполнено ххх запросов» — операция прошла успешно. Если сообщение об ошибке, попробуйте один из следующих пунктов:
После чего останется только дождаться, когда запросы к сайту будут адресованы на новый хостинг (в течении суток). В блог до этого времени лучше ничего не писать, т.к. посты могут сохраниться в БД на старом хостинге. Определить, что перенос WordPress завершён, можно командой «tracert ваш-домен» в консоли Windows. Будет показан маршрут пакетов к вашему сайту, по которому можно догадаться, ссылается ли уже домен на новый хостинг.
Иногда на новом хостинге потребуется установка прав (chmod) 777 на папку wp-content\uploads, включая вложенные папки (на LLHost не требуется). Если эта фраза повергла вас в шок, попросите хостера это сделать.
Возможные проблемы и их решения:
Сделаем паузу и посмотрим, что нового сегодня на WebPreview. Ух-ты: новая серия комиксов о Нэми [1]. 🙂 Ох уж эта наивная, остроумная и неунывающая шведская девушка Нэми... Пользуясь случаем, передаю привет Косте Орленко.
Этот пункт включает в себя также перенос WordPress на другой домен, а может быть и в папку домена вы захотите перенести. Потому что порядок действий во всех этих случаях будет аналогичен. Ведь вы, возможно, на Денвере задали домену не то имя, которое будет использоваться на хостинге. Например, я для предварительного создания сайта имя.ru на Денвере использую домен имя.job — так уж у меня заведено.
Не буду переписывать всё вышеописанная. Инструкция тут идентична за одним исключением. Дамп базы данных (если что-то непонятно, прочтите сначала инструкцию выше) необходимо открыть в Notepad++ (не забываем удостовериться, что кодировка UTF-8 без BOM) и заменить все вхождения (комбинация клавиш Ctrl+H) cтарого доменного имени на новое (кликабельно):
Если вы переносите блог в папку, то делаете то же самое, только заменяется, например, имя.ru на имя.ru/blog.
После этой процедуры сохраняем дамп и заливаем его в phpMyAdmin на хостинг, как описано выше. Если используются ЧПУ, после переноса WordPress в папку необходимо их выключить и снова включить. Либо внести коррективы в файл .htaccess в текстовом редакторе (жирным выделено то, что надо добавить, предполагается, что переносим в папку blog):
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress
Собственно, и всё — больше боялись. 🙂
Немного полезной информации напоследок. Как бы мы могли быть уверены в качестве товара или услуг, если бы не существовала сертификация систем качества [2]? Да никак, потому необходима сложная и запутанная процедура сертификации. Сначала разрабатывается система качества, которая содержит определённые стандарты, по соответствию которым определяется качество продукции. Затем разработанную систему надо сертифицировать, чтобы благополучно внедрять в производство.
Если вы когда-либо занимались продвижением Кишинёвских сайтов, то наверняка вам известно, что оптимизация и продвижение сайта в Молдове [3] — дело тонкое и многотрудное. Без опыта лучше и не браться за такую работу. Лучше доверить её профессионалам группы optimization.md, чем испортить отношения с заказчиком.
Запись опубликована 30 сентября 2010 года. Понравился пост? Читайте предыдущие посты рубрики «Создание сайтов»:
RSS подписка (как это?) поможет вам не пропустить ничего интересного на этом блоге.
На «Перенос WordPress» получено 9 отзывов
Да. И ещё невнимательность — причина многих недоразумений
Ну тебе прям спасибо огромное.
Вообще самую большую сложность представляют некоторые «упс!» вроде тех же прав доступа и других изменений, которые не заметны при первом рассмотрении.
Еще интересно, когда нужно перенести с домена на домен wordpress. Тогда неизбежно приходится лезть в бд. А здесь — все интуитивно понятно, я думаю. 🙂
А что-то картинок нету. Непонятно, как переносить WordPress
Павлуха, обновил пост — добавил актуальные картинки, теперь всё должно быть понятно
да ничего сложного нет в переносе, когда переезжал на llhost.ru просто созвонился с тех.поддержкой и они все сами перенесли
А если мы переносим блог в корневую директорию, а не в blog, тогда какой должен быть код в .htaccess ?
Тогда будет стандартный код
У меня при переносе worpdress с одного хостинга на другой выдало 500 Internal Server Error.
Подчистил файл .htaccess
все заработало
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Ваше SEO-мнение
Я прошу высказать своё мнение, а не оставить ссылку на раскручиваемый сайт. В любом случае, ссылки в комментариях у меня закрыты от индексации, если интересует качественный обмен ссылками -обращайтесь