Перенос сайта WordPress на другой домен. Wordpress перенос на другой домен


Перенос WordPress на другой сервер/домен

Вот нельзя просто так взять и перенести WordPress на другой сервер/домен

nelzya-prosto-tak-vzyat-i_orig_

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

Всё что нам необходимо это архив сайта с сервера и дамп базы данных. Из инструментов, текстовый редактор, локальный сервер (OpenServer, Denwer, etc. ) и старый-добрый Search Replace DB.

1. Перенос файлов

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

skyrye-copy

Это происходит по причине того, что UNIX-системы воспринимают файлы с одинаковыми именами, но разным регистром написания как отдельные файлы, а Windows считает эти файлы одинаковыми. Именно по этой причине я буду распаковывать архив сайта уже на сервере и вносить все необходимые правки именно на сервере.

Обращаю внимание, что на сервере стоит работать только под тем пользователем, под которым выполняется скрипт сайта.

На сервере всё распаковалось без проблем, после чего я удалил все не свойственные WordPress файлы (на скрине выделено маркером)

skyrye-delete

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

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

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

skyrye-copyНеобходимо поменять настройки базы данных, а также исправить стандартный префикс базы данных. Префикс я меняю по той причине, что планирую включить кеширование с помощью Memcached, а кеширующий плагин в WordPress использует префикс для вычисления ключа, что при наличии нескольких сайтов с одинаковыми префиксами будет давать одинаковые ключи для разных сайтов, а так как Memcached работает глобально на весь сервер в качестве демона, то он будет возвращать одному сайту данные другого сайта.

2. Перенос базы

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

Именно по этой причине вносить правки в базу мы будем при помощи инструмента Search Replace DB, последнюю версию которого можно забрать с гитхаба. В данном примере я буду использовать 3-ю версию.

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

Краткая инструкция по пользованию:

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

skyrye-replace

Теперь создаем локально базу, импортируем в нее дамп нашего сайта, далее настраиваем соединение Search Replace DB с этой базойskyrye-replace-base

Указываем строку поиска и строку замены

skyrye-replace-search

Делаем тестовый запуск

skyrye-replace-test

В результате можно увидеть в каких таблицах найдены совпадения и их количество

skyrye-replace-test-view

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

skyrye-replace-run

Подготовка:

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

Rename table wp_commentmeta to srwp_commentmeta;

Rename table wp_comments to srwp_comments;

Rename table wp_it_comment to srwp_it_comment;

Rename table wp_it_issue to srwp_it_issue;

Rename table wp_it_starred to srwp_it_starred;

Rename table wp_it_status to srwp_it_status;

Rename table wp_it_tracker to srwp_it_tracker;

Rename table wp_it_type to srwp_it_type;

Rename table wp_links to srwp_links;

Rename table wp_mts_wp_reviews to srwp_mts_wp_reviews;

Rename table wp_options to srwp_options;

Rename table wp_postmeta to srwp_postmeta;

Rename table wp_posts to srwp_posts;

Rename table wp_statpress to srwp_statpress;

Rename table wp_terms to srwp_terms;

Rename table wp_term_relationships to srwp_term_relationships;

Rename table wp_term_taxonomy to srwp_term_taxonomy;

Rename table wp_usermeta to srwp_usermeta;

Rename table wp_users to srwp_users;

Список ваших таблиц может отличаться.

Инструкция, что конкретно и на что надо менять:

Промежуточный префикс _w1234567890p_ я использую, что бы не изменить системные переменные. Можно конечно написать для этого регулярное выражение, но так намного проще.

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

skyrye-final

 

 

ivan-litvinenko.com

100% правильный перенос сайта на Wordpress на другой домен и хостинг –

Нашел абсолютно проверенный и 100%-рабочий способ переезда сайтов под Вордпресс на другой домен или хостинг. Все можно сделать быстро, а главное — правильно!

Обычно я переношу сайты WordPress CMS на другой хостинг довольно часто — по 20 раз в месяц (такая работа!). И мне всегда казалось, что я все делаю правильно: ну перенес файлы, перенес базу данных, поменял имя сайта в файлах и базе – и вуаля!

Но не так все просто. Как-то после очередного переезда у меня напрочь перестали работать виджеты — сайт отображался криво.

Я погуглил и нашёл причину – недостаточно просто перенести сайт, нужно еще и правильно поменять его имя с учетом синтаксиса современных баз данных. И я решил поделиться своим способом переноса Вордпресса на новый домен и хостинг и со своими читателями.

Плагины после переноса WordPress не заработали

Раньше я действовал так: ставил плагин Xcloner, копировал с его помощью сайт в виде архива (там внутри была и база), затем переносил и устанавливал на новый хостинг или домен.

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

В чем же дело?Я подумал сразу, что видимо дело в плагине Xcloner.Перепробовал еще штук 5 разных плагинов, вроде бесплатного Duplicator и платного BackUp Buddy, и еще уже не помню всяких разных до кучи.

Везде была одна и та же проблема — сайт после переноса выглядел криво. Как бы не все элементы отображались, в первую очередь, виджеты.

Я плюнул на плагины и подумал: перенесу по старинке руками.

Переношу WordPress вручную

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

Поэтому в процессе переноса WordPress на другой домен и хостинг в ручном режиме обычно состоит из этих же двух этапов:

Вручную это делается так.

Перенос файлов

Понятно, что перенести файлы можно несколькими способами. Раньше я это делал через FTP-протокол (читаем как работать по FTP тут). В этом случае я сначала копировал файлы на свой компьютер, затем открываю доступ ко второму хостингу — и туда уже переношу программные файлы WordPress.

По 3G-соединению это делать вообще не резон, даже с учетом того, что я как следует увеличил скорость подключения (читаем как я это сделал на мобильном интернете).

Поэтому я нашел более изящный способ.

Большинство моих клиентов использует панель хостинга — ISP Manager, там есть функции переноса целого архива прямо с одного хостинга на другой — минуя мой компьютер.

Так что теперь я делаю так: создаю архив всего сайта WordPress на своем хостинге и мгновенно переношу его на второй хостинг через ту же панель ISP.

Это занимает пару секунд и совсем не жрёт трафик.Такой способ поддерживает еще несколько панелей управления хостингом (вот тут есть более подробная информация о том, какой хостинг я рекомендую).

Дальше остается только распаковать архив в директорию нового домена. Если не знаете, как создать домен и папку для него — то есть вы совсем еще зеленый в этой области — просто попросите хостера сделать это, я еще не встречал ни одного нормального хостера, кто бы отказал в этой просьбе своему клиенту.

Если нет возможности использовать ISP панель, то переносите по старинке через FTP.

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

Там все примитивно, разберетесь. Сохраняете после изменений wp-config.php и идем дальше.

Перенос базы данных

Если вы хотите быть уверенными на 200%, что все ваши статьи, записи и настройки скопируются полностью и правильно, то копируйте базу вручную прямо с сервера вашего хостера.

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

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

Теперь делаем на новом хостинге то же самое – заходим в PhpMyAdmin, вводим логин и пароль от свежей только что созданной базы данных и импортируем наш SQL-архив в нее.

Всё — теперь старая база данных находится на новом хостинге.

И теперь — самое главное.

Секретный момент!

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

Современные базы данных хранят в некоторых местах не только информацию о домене сайта, например, «http://moytop.com», но также индексируют эту информацию, указывая в соседних полях, из скольких символов состоит строка с именем домена, например вот так:

a:2:{s:3:"url";s:17:"http://moytop.com";s:4:"meta";s:8:"метатеги";}

s17 – означает, что в поле url – 17 символов.

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

И что? Сидеть с калькулятором и высчитывать длину новых доменов и строк? Наверняка можно это все автоматизировать и упростить.

Да, я это делаю вместе со специальным скриптом «Safe Search and Replace on Database with Serialized». Это реально волшебная программа, которая быстро и правильно делает замену старого домена на новый в базе данных при переносе сайта. При этом скрипт делает за вас всю нудную работу – высчитывает количество символов заменяемой строки и правильно добавляет их куда нужно в новую базу данных.

Чтобы запустить скрипт, достаточно его скачать на компьютер, затем по FTP переписать всю папку в корень вашего нового сайта и ввести путь к скрипту типа такого http://test2.moytop.com/database в любом браузере.

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

Скачать бесплатно

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

Если после клика на социальный замок не показывается содержимое (такое бывает иногда в зависимости от браузера), то есть такие варианты:

Итак, установили и открыли скрипт? После запуска вы увидите примерно такой экран:

Программа работает именно с WordPress, поэтому логин и пароль к базе возьмет из конфигурации сама, всё что вам нужно – это вписать в первое поле имя старого домена (откуда переносится сайт), во второе поле – имя нового домена (куда переносим сайт) и нажать Live Run.

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

Домены рекомендую вводить без префикса, то есть лучше не использовать http://test2.moytop.com, пишите просто: test2.moytop.com

Ну и в конце после замены информации о домене – можете удалить скрипт с сайта, так даже рекомендуют его авторы, чтобы он не был потенциальной дырой в безопасности сайта (читайте как повысить безопасность своего сайта на WordPress за пару кликов).

Все готово! Теперь перезагружайте страницу CTRL+F5 и если вы все сделали правильно и внимательно, то сайт перенесется на новый домен и хостинг без проблем.

И напоследок еще один суперпростой способ!

Мне его подсказал в комментариях Василий, за что ему отдельное спасибо

Для его реализации понадобится доступ в админку и плагин Velvet Blues Update URLs.

Этот плагин удобнее всего поставить еще до переноса Вордпресс-системы (как установить плагины для WordPress) и после переноса зайти в админку и выбрать в настройках нужные параметры.

Попасть в настройки:

Нужные параметры:

То есть в первом поле — старый адрес (лучше без http, просто домен).Во втором — новый (аналогично).

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

Вот и все, дальше жмите — на кнопку UPDATES URLs и старые ссылки в базе заменятся на новые.

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

Кстати, я не очень люблю переносить сайты вручную, поэтому сейчас приступаю к масштабному тестированию разных плагинов под WordPress именно для миграции на другой хостинг или домен. Пока все что я пробовал – не устраивали меня на 100%, в каждом был какой-то косяк.

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

stateiki.com

Перенос сайта Wordpress на другой домен

Перенос сайта на другой доменПорой возникает необходимость перенести сайт, построенный на движке WordPress с одного домена на другой. Причины тому могут быть разные. К примеру, Ваш старый домен попал под фильтр АГС или Вы нашли себе более красивое доменное имя, иногда еще и имеющее высокие показатели ТИЦ и PR. Да и другие варианты вполне возможны — не станем тратить время на их детальное рассмотрение, а сразу разберемся с таким понятием, как перенос сайта на другой домен.

И так, что нужно сделать для того, чтобы выполнить перенос сайта WordPress на другой домен? Разберем все по пунктам.

  1. Перенести файлы и базу данных. Иными словами, нужно создать копию Вашего сайта. Делается это просто: заходите по ftp на Ваш аккаунт и копируете  корневую папку Вашего сайта (схожа с именем домена) себе на компьютер (если сайт будет переезжать на другой хостинг, а далее «заливаете» на новый хостинг) или же просто в другую папку (схожа с названием нового домена) на Вашем ftp-аккаунте (в случае, когда хостера Вы менять не собираетесь). Далее необходимо сделать копию (он же дамп) БД Вашего сайта. Дамп базы данных делается через phpMyAdmin на Вашем хостинге, а далее выбрать меню «экспорт». Если хостер не меняется, то, в большинстве случаев, делать ничего не нужно. Ежели Вы сменили хостера, то на новом хостинге нужно сделать импорт БД Вашего старого сайта так же через интерфейс phpMyAdmin.
  2. Когда перенос сайта и базы выполнен, то необходимо указать новые DNS сайта. Далее немного терпения и времени — нужно дождаться обновления DNS и доступности сайта на новом доменном имени.
  3. Удостоверившись, что Ваш сайт работает нормально и доступен по новому адресу, необходимо настроить «редирект» со старого домена на новый. Делается это для того, чтобы при заходе на старый сайт пользователь автоматически перемещался на новый. Это называется 301-й редирект. Поисковые системы абсолютно адекватно реагируют не сие понятие и никакие санкции Вам не грозят!!! Помимо того, вес внешних ссылок так же передается на новый домен. Сей термин лишь означает то, что данная страница, домен навсегда доступны уже по новому адресу и старый в дальнейшем выпадет из индекса.

Выполнить 301-й редирект довольно просто. Необходимо в корневой папке Вашего старого сайта отыскать файлик .htaccess (если его нету, то создать) и в нем прописать следующие строки:

RewriteEngine OnRewriteCond %{HTTP_HOST} ^старый_домен.комRewriteRule (.*) http://новый_домен.ком/$1 [R=301,L]

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

И, напоследок, хотелось бы написать один совет. Если Вы запланировали переезд на новый домен, то позаботьтесь о ядре постоянных посетителей, а именно — оповестите их о переезде Вашего сайта на новый домен! Заботу ведь все любят и не стоит этим пренебрегать!

Всегда для Вас Блог свободного человека!

web-ru.org


Смотрите также

Prostoy-Site | Все права защищены © 2018 | Карта сайта