Как легко перенести WP сайт на другой домен

Как легко перенести WP сайт на другой домен

Для переноса сайта с одного домена на другой, следует выполнить следующие шаги:

  1. Перед началом переноса файлов и базы данных прописать в /wp-config.php вот эту строку:
    define('RELOCATE',true); и далее войти через wp-login.php (именно так), эти шаги дают понять сайту что при входе надо сменить адрес на новый.
  2. Перенести все файлы сайта.
  3. Экспорт/импорт базы данных
    1. можно через phpmyadmin или HeidiSQL.
    2. можно через Adminer
    3. иногда тут стоит сделать замену домена прямо в sql файле, т.к. п.7 ориентирован только на замену ссылок в контенте, а если на сайте используются кривые методы разработки, то домен может быть сохранен в параметрах, где то в БД, и на новой локации это может вызвать проблемы. Для замены строки в sql файле лучше использовать простенький редактор, но с поддержкой UTF-8, например notepad++
  4. На новом месте авторизуйтесь в админке.
  5. Проверьте, что изменился адрес сайта на странице Параметры -> Общие.
  6. Удалите строку, добавленную на первом шаге, из файла конфигов WP.
  7. Этот трюк не меняет внутренние  в ваших записях. Для их изменения воспользуйтесь плагином Search Regex (к примеру, есть и другие подобные).
  8. Пункт 7 меняет только простые текстовые строки. А бывает что адрес спрятан в сериализованном массиве (serialized), в этом случае могут слететь виджеты и какие то другие настройки. В таком случае смену данных в базе лучше сделать через специальный скрипт https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

Вот такой не хитрый хак позволит вам уменьшить головную боль при смене домена.

 

Дополнения

Указание адресов на уровне конфигурации

Нужно ввести параметры указания адресов сайта в wp-config.php

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Обновление данных в опциях

update_option( 'siteurl', 'http://example.com' );
update_option( 'home', 'http://example.com' );

У этой записи 3 комментариев

  1. С помощью Notepad++ менять адреса при переносе нужно с осторожностью, т.к. в дампе есть сериализованные массивы, где важна длина строк, и если при подсчёте новой длины допустить ошибку, то массив не прочитается. В результате могут сбиться различные настройки.

    Из скриптов, корректно выполняющих замену в сериализованных данных, мне нравится этот: http://interconnectit.com/124/search-and-replace-for-wordpress-databases/

Добавить комментарий для root Отменить ответ

Закрыть меню
×

Корзина