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», но также индексируют эту информацию, указывая в соседних полях, из скольких символов состоит строка с именем домена, например вот так:

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

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

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

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

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

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

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

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

Перенос базы в wordpress

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

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

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

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

Если был http а стал https

Важный момент.

Если у вас был сайт без ssl просто http….  (да, да, встретился мне такой сегодня в канун 2024 года!!), то после переезда важно заменить в базе данных все значения «http:» на «https:»

  1. Этим же плагином, просто запускайте новую замену.
  2. Затем проверьте в файлах темы чтобы нигде не осталось http
  3. Проверьте в корне сайта в wp-config.php чтобы там тоже было всё с https

Если главная страница загрузилась с https а внутренние нет (по-прежнему http) — скорее всего проблема в кривом хостере, пинайте его.

Как выбрать лучший хостинг я уже писал ранее.

Например, в моей практике было такое, что хостер в глобальной переменной $_SERVER возвращал на внутренних страницах путь с http и следом за ней всякие get_template_directory_uri(); и bloginfo(«template_directory»); также, конечно, выдавали путь с http.

Пока не прописал жестко в wp-config.php такую штуку $_SERVER[‘HTTPS’]=’on’; проблема не решалась.

Так что имейте ввиду, что может быть корявый хостинг, а вообще все нормальные хостеры делают перенос сайта на WordPress (включая настройку SSL) — бесплатно!!

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

Ничего не получилось? :cry:

Обратитесь на Кворк — вам перенесут всё за 500 росс. руб. в течение часа — вот тут ссылка

Перенос с помощью плагина

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

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

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

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

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

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

перенос wordpress сайта на другой хостинг через плагин velvet

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

перенос вордпресс на другой хостинг через плагин velvet 2

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

Во втором — новый (аналогично).

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

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

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

Также мне понравился плагин Better Search Replace — там все то же самое и тоже отлично работает.

И еще —

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

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

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

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



2016-09-17T14:49:06
Создание сайта компании