Перенос wordpress сайта на другой домен или смена постоянных ссылок с http на https

от 2018 - 10 - 13

Иногда приходится переносить сайт с места на место, с одного хостинга на другой, переезжать на другой домен или просто сменить не надежный http на рассово верный https, тогда нам на помощь придёт плагин под названием Velvet Blues Update URLs.

Без плагина, типичным поиском с заменой по всему дампу базы с wordpress не прокатит, так как WPшечка использует serialize кое где, перед сохранением объектов в базу, а это черевато получением строкового представления объекта в такой форме, в которой перед каждым текстовым полем указывается длинна этого поля (количество символов). Если количество символов перестанет соответствовать длине значения — объект будет поломан. Мир разрушится.

В этой статье подробно описан процесс переноса по шагам:

  1. Копируешь все файлы сайта со старого места жительства в пустую корневую директорию виртуального домена нового хостинга.
  2. Делаешь дамп базы mySQL со старого хостинга, и заливаешь в новую соответствующую базу. (Не забываем переписать настройки на новые в файле /wp-config.php, а именно имя новой базы, sql пользователя и пароль)
  3. Открываешь новую базу в СУБД (phpMyAdmin например), идешь в таблицу *wp_options и редактируешь там две записи: siteurl и home, туда, вместо старого доменного имени сайта, надо прописать новое доменное имя. После чего можно безболезненно открывать админку wordpress уже на новом домене.
  4. Открываешь админку wordpress на новом домене, отправляешься в раздел plugins и устанавливаешь плагин Velvet Blues Update URLs, активируешь плагин.
  5. В пункте админки wordpress «Инструменты» (Tools) после этого появится раздел Update URLs, идешь туда.
    Там видишь два инпута — Old URL и New URL, вбиваешь старый адрес, вместе с протоколом по образцу (http -> https), вбиваешь новый, тот, куда переезжаем, отмечаешь все чекбоксы снизу, нажимаешь кнопку действия.

Всё.
Ждёшь.
После завершения плагин покажет сколько строк в базе и в каком разделе он заменил.
Полный перенос завершен.