Технология WordPress Multisite позволяет создать сеть из нескольких сайтов и управлять ими из одной панели управления. При этом сайт, который входит в сеть имеет свои собственные настройки, а файлы тем и плагинов становятся общими.
Такой подход дает ряд преимуществ:
- Обновлять ядро CMS, темы и плагины нужно один раз.
- Плагины можно активировать для всех сайтов сети, если необходимо.
- Пользователям не нужно заводить больше одной учетной записи, можно добавить нового пользователя к новому сайту сети.
- Значительно ускоряется обмен данными в объединенной сети сайтов.
Как включить WordPress Multisite?
Чтобы включить WordPress Multisite нужно выполнить следующие действия:
- Отредактировать DNS для домена, на котором будет настроен режим мультисайт.
- Добавить файл .host_name.php для корректной работы роутинга.
- Внести изменения в файлы wp-config.php, .htaccess и активировать функцию Multisite
Рассмотрим эти пункты попорядку:
Настройка DNS для сайта
Для работы с функцией WordPress Multisite используются поддомены. Чтобы не добавлять поддомены по одному, нужно внести изменения в настройки DNS домена.
- Автогризуйтесь в панели управления.
- Перейдите в раздел «Домены» → «Мои домены».
- Напротив нужного домена нажмите на мею "три точки" и перейдите в раздел Добавить поддомен.
- Добавьте поддомен вида *.mysite.ru.
- Направьте поддомен на сайт, к которому привязан основной домен mysite.ru.
- После внесения изменений можно добавлять любое количество поддоменов из административной части WordPress они будут работать без внесения дополнительных настроек в DNS.
Если режим мультисайт включается уже для готового проекта, то перед включением создайте резервную копию текущего состояния сайта.
Добавить файл .host_name.php для корректной работы роутинга
- В корневом каталоге аккаунта создайте файл .host_name.php.
- Откройте его и добавьте указанные строки:
<?php
if(isset($_SERVER['HTTP_CLEARSUBHOST']))
{
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_CLEARSUBHOST'];
$_SERVER['SERVER_NAME'] = $_SERVER['HTTP_CLEARSUBHOST'];
}
- Сохраните файл.
Изменение настроек в файлах конфигурации и .htaccess и активация режима мультисайт
Отредактируйте конфигурационный файл сайта wp-config.php. Внести правки можно используя Файловый менеджер.
- Перейдите в соответствующий раздел панели управления аккаунтом «Хостинг» → «Файловый менеджер».
- Перейдите в папку, где находятся файлы сайта, найдите и откройте файл wp-config.php
- Измените параметр с false на true в строке:
define( 'WP_ALLOW_MULTISITE', false );
После изменения строка будет выглядеть так:
define( 'WP_ALLOW_MULTISITE', true );
- Если такой строки нет, то ее необходимо добавить после строки
define( 'WP_DEBUG', false );
- Теперь авторизуйтесь в административную панель сайта.
- Перейдите в раздел «Инструменты» → «Установка Сети».
- Укажите любое имя для сети, адрес электронной почты и нажмите «Установить»
- Перейдите в Файловый менеджер панели управления аккаунтом и добавьте строки в 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);
- Замените содержимое файла .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 - логин аккаунта
- Перейдите снова в панель администрирования сайтом, в меню должен появиться новый пункт "Мои сайты". Теперь проект работает в режиме мультисайт.
- Новые сайты можно добавить в разделе «Мои сайты» → «Управление сетью» → «Сайты».
- Плагины и темы для всей сети устанавливаются в разделе «Управление сетью». В этом разделе можно настроить, какие плагины будут доступны для каждого сайта.