wp-code.ru wordpress WP-Codе

Как создать мультисайт с миграцией и изменением URL в WordPress

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

Что такое мультисайт WordPress и зачем менять URL

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

Изменение URL при миграции в мультисайт необходимо, если вы хотите разделить проекты по поддоменам или поддиректориям, например, с example.com на site1.example.com или example.com/site1. Это позволяет лучше структурировать проекты и оптимизировать управление.

Подготовка к миграции: проверка и резервное копирование

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

Проверьте совместимость плагинов и тем с мультисайтовой сетью, особенно если они работают с URL или кэшированием.

Создание мультисайта в WordPress

Для активации мультисайта нужно сделать несколько шагов:

  1. Откройте wp-config.php и добавьте перед строкой /* That's all, stop editing! Happy blogging. */ следующий код:
define('WP_ALLOW_MULTISITE', true);
  1. Зайдите в админ-панель WordPress, в меню "Инструменты" появится пункт "Сеть".
  2. Выберите тип мультисайта — поддомены или поддиректории. Для изменения URL чаще используют поддомены, но и поддиректории подходят.
  3. Следуйте инструкциям для добавления дополнительных строк в wp-config.php и .htaccess.

После этого ваша сеть мультисайтов готова к работе.

Миграция существующего сайта в мультисайт с изменением URL

Теперь рассмотрим, как перенести существующий сайт в мультисайт с изменением URL. Предположим, у вас есть сайт example.com и вы хотите создать мультисайт с поддоменом site1.example.com для этого проекта.

Шаг 1: Экспорт данных из существующего сайта

Войдите в админку вашего текущего сайта и перейдите в "Инструменты" → "Экспорт". Выберите экспорт всего контента. Этот файл XML содержит все записи, страницы, комментарии и пользовательские поля.

Шаг 2: Создание нового сайта в сети мультисайтов

В админке мультисайта перейдите в раздел "Мои сайты" → "Сеть администрирования" → "Сайты" → "Добавить новый".

Заполните поля:

  • Адрес сайта: site1 (будет site1.example.com)
  • Заголовок сайта и email администратора

Шаг 3: Импорт данных на новый сайт

Переключитесь в админку созданного сайта site1.example.com. Далее зайдите в "Инструменты" → "Импорт" и выберите "WordPress". Если плагин импорта не установлен, система предложит установить его.

Загрузите ранее экспортированный XML-файл и выполните импорт. В процессе назначьте записи текущему пользователю, чтобы сохранить права.

Шаг 4: Исправление URL в базе данных

После импорта нужно заменить все старые URL example.com на новые site1.example.com в контенте и метаданных. Для этого используйте плагин Clearfy или выполните поиск и замену через WP-CLI:

wp search-replace 'https://example.com' 'https://site1.example.com' --url=site1.example.com --skip-columns=guid

Опция --skip-columns=guid важна, чтобы не менять GUID записей, что может повлиять на RSS и индексацию.

Исправление ссылок и медиафайлов после миграции

Иногда ссылки на медиафайлы и внутренние ссылки в постах могут указывать на старый URL. Чтобы исправить это, используйте SQL-запросы или плагины.

Пример SQL-запроса для базы данных мультисайта (замените 2 на ID сайта):

UPDATE wp_2_posts SET post_content = REPLACE(post_content, 'https://example.com', 'https://site1.example.com');
UPDATE wp_2_postmeta SET meta_value = REPLACE(meta_value, 'https://example.com', 'https://site1.example.com');

Для удобства и безопасности лучше использовать специализированные инструменты, например, плагин Clearfy, который умеет корректно менять URL в мультисайтовой базе.

Советы по оптимизации мультисайта после миграции

После переноса сайта в мультисайт важно оптимизировать работу:

  • Отключите неиспользуемые плагины на уровне сети, чтобы уменьшить нагрузку.
  • Настройте кэширование с поддержкой мультисайтового режима (например, WP Rocket, LiteSpeed Cache).
  • Проверьте корректность SSL-сертификатов для поддоменов, если используете их.
  • Настройте редиректы со старых URL на новые, чтобы сохранить SEO-показатели.

Пример кода для автоматической смены URL в хуках WordPress

Если часть ссылок генерируется динамически, можно использовать фильтр для замены URL на лету. Добавьте в functions.php темы или плагина следующий код:

function wpcode_replace_urls_in_content($content) {
    $old_url = 'https://example.com';
    $new_url = 'https://site1.example.com';
    return str_replace($old_url, $new_url, $content);
}
add_filter('the_content', 'wpcode_replace_urls_in_content');

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

Заключение по теме мультисайтовой миграции с изменением URL

Миграция существующего сайта в мультисайт с изменением URL — задача, требующая внимательности и правильной последовательности шагов. Используйте экспорт/импорт, корректно меняйте URL и проверяйте работу сайта после переноса. При необходимости применяйте инструменты для массовой замены URL, в том числе WP-CLI и плагины, например, Clearfy. Такой подход обеспечит надежную и удобную работу сети мультисайтов с новыми адресами.

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше