Раздел помощи SpaceWeb

WordPress Multisite (мультисайт)

06 авг, 2024

Технология WordPress Multisite позволяет создать сеть из нескольких сайтов и управлять ими из одной панели управления. При этом сайт, который входит в сеть имеет свои собственные настройки, а файлы тем и плагинов становятся общими.

Такой подход дает ряд преимуществ:

  • Обновлять ядро CMS, темы и плагины нужно один раз.
  • Плагины можно активировать для всех сайтов сети, если необходимо.
  • Пользователям не нужно заводить больше одной учетной записи, можно добавить нового пользователя к новому сайту сети.
  • Значительно ускоряется обмен данными в объединенной сети сайтов.

Как включить WordPress Multisite?

Чтобы включить WordPress Multisite нужно выполнить следующие действия:

  1. Отредактировать DNS для домена, на котором будет настроен режим мультисайт.
  2. Добавить файл .host_name.php для корректной работы роутинга.
  3. Внести изменения в файлы wp-config.php.htaccess и активировать функцию Multisite

Рассмотрим эти пункты попорядку:

Настройка DNS для сайта

Для работы с функцией WordPress Multisite используются поддомены. Чтобы не добавлять поддомены по одному, нужно внести изменения в настройки DNS домена.

  1. Автогризуйтесь в панели управления.
  2. Перейдите в раздел «Домены» → «Мои домены».

  1. Напротив нужного домена нажмите на мею "три точки" и перейдите в раздел Добавить поддомен.

  1. Добавьте поддомен вида  *.mysite.ru.
  2. Направьте поддомен на сайт, к которому привязан основной домен mysite.ru.

  1. После внесения изменений можно добавлять любое количество поддоменов из административной части WordPress они будут работать без внесения дополнительных настроек в DNS.

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

Добавить файл .host_name.php для корректной работы роутинга

  1. В корневом каталоге аккаунта создайте файл .host_name.php.
  2. Откройте его и добавьте указанные строки:

<?php

if(isset($_SERVER['HTTP_CLEARSUBHOST']))
{
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_CLEARSUBHOST'];
$_SERVER['SERVER_NAME'] = $_SERVER['HTTP_CLEARSUBHOST'];
}

  1. Сохраните файл.

Изменение настроек в файлах конфигурации и .htaccess и активация режима мультисайт

Отредактируйте конфигурационный файл сайта wp-config.php. Внести правки можно используя Файловый менеджер.

  1. Перейдите в соответствующий раздел панели управления аккаунтом «Хостинг» → «Файловый менеджер».
  2. Перейдите в папку, где находятся файлы сайта, найдите и откройте файл wp-config.php
  3. Измените параметр с false на true в строке:

define( 'WP_ALLOW_MULTISITE', false );

После изменения строка будет выглядеть так:

define( 'WP_ALLOW_MULTISITE', true );

  1. Если такой строки нет, то ее необходимо добавить после строки

define( 'WP_DEBUG', false );

  1. Теперь авторизуйтесь в административную панель сайта.
  2. Перейдите в раздел «Инструменты» → «Установка Сети».
  3. Укажите любое имя для сети, адрес электронной почты и нажмите «Установить»

  1. Перейдите в Файловый менеджер панели управления аккаунтом и добавьте строки в wp-config.php, строки должны отобразиться в панели администрирования сайтом: 

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'Имя_вашего_сайта.ru');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

  1. Замените содержимое файла .htaccess на:

php_value auto_prepend_file "/home/u/username/.host_name.php"

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond % -f [OR]
RewriteCond % -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

Путь /home/u/username/ переменной php_value auto_prepend_file необходимо изменить, u - первая буква логина аккаунта, username - логин аккаунта

  1. Перейдите снова в панель администрирования сайтом, в меню должен появиться новый пункт "Мои сайты". Теперь проект работает в режиме мультисайт. 
  2. Новые сайты можно добавить в разделе «Мои сайты» → «Управление сетью» → «Сайты».
  3. Плагины и темы для всей сети устанавливаются в разделе «Управление сетью». В этом разделе можно настроить, какие плагины будут доступны для каждого сайта.