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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Переносим файлы
  2. Переносим базу данных

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

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

Понятно, что перенести файлы можно несколькими способами. Раньше я это делал через 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 сразу не заработали.

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

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

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

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

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

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

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

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

Скачать файл

Все получилось успешно!

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

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

  • Подождите минут 5-10.
  • Попробуйте другую почтовую сеть, лучше всего работают mail.yandex.ru или gmail.com.
  • Проверьте папку СПАМ - может нужное письмо именно там. После чего обязательно отметьте его и кликните - НЕ спам.
  • Если ничего не получилось, напишите мне в Контакты и укажите ссылку на страницу, версию браузера и примерный порядок действий.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Этот способ переноса работает тоже хорошо, я проверил на нескольких сайтах - все четко.

И еще —

Несколько дополнительных советов по корректному переносу на другой хостинг:

  1. Проверьте, чтобы версия PHP была одинакова на старом и новом хостинге
  2. Проверьте, чтобы базы данных использовали полностью идентичную версию кодировки
  3. Воспользуйтесь услугой бесплатного переноса на новый хостинг от самого хостера! Вот тут я привожу хостеров, которых я уже проверил, и которые делаю бесплатный переезд сайтов к себе на хостинг.

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

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

📎📎📎📎📎📎📎📎📎📎