Мультисайтовость WordPress: установка и настройка

В этой статье будет рассмотрена настройка мультисайтовости для CMS WordPress.

Что такое мультисайтовость

‌Мультисайтовость WordPress позволяет разместить несколько сайтов на одном установленном ядре WordPress и сделать управление ими максимально простым и удобным.

Особенности работы мультисайта:

  • сайты используют общую базу данных и файлы;
  • все виртуальные сайты управляются из одной панели;
  • нет необходимости обновлять плагины и темы каждого сайта по отдельности;
  • в дополнение к роли администратора появляется роль "суперадминистратор";
  • устанавливать темы и плагины может только суперадминистратор;
  • администраторы сайтов могут активировать и деактивировать плагины и темы.

Такой сайт может работать в двух режимах: в режиме поддоменов и в режиме подкаталогов.

Отличие между режимами:

  • в режиме поддоменов адреса ваших сайтов будут иметь следующий вид: site1.example.ru, site2.example.ru;
  • в режиме подкаталогов адреса сайтов будут выглядеть следующим образом: example.ru/site1, example.ru/site2.

Одним из примеров использования мультисайтовости может быть создание сети сайтов для вашего интернет-магазина. В этой сети у вас будет один основной сайт (например, my-shop.ru) и свой виртуальный сайт для каждого города/региона. Сайты для городов или регионов будут доступны по поддоменам (например, spb.my-shop.ru) или по подкаталогам (например, my-shop.ru/spb). Вам больше не нужно будет создавать отдельные физические сайты на CMS WordPress. Вы сможете реализовать все, что вам необходимо, посредством одного физического сайта, на котором можно будет разместить практически любое количество виртуальных сайтов.

Мультисайт WordPress: преимущества и недостатки

Мультисайтовость можно применять, если вам нужна дополнительная среда для тестирования или в вашей компании несколько отделов и у каждого из них есть свой сайт.

У мультисайтовости WordPress есть плюсы и минусы, остановимся на них подробнее.

Главные достоинства WP Multisite:

  • управление любым количеством веб-ресурсов с одной панели;
  • единый центр обновлений;
  • легкий и быстрый обмен данными между сайтами в сети;
  • различные методы размещения внутренних веб-ресурсов (в подкаталогах, поддоменах и доменах второго уровня);
  • экономия дискового пространства (благодаря применению одного ядра, одной копии каждого плагина и темы);
  • возможность добавления новых пользователей в сеть с последующей настройкой для них различных ролей.

Недостатки WordPress Multisite:

  • необходимость проверки совместимости тем и плагинов (не все из них будут работать на мультисайте);
  • всплески трафика на одном из сайтов негативно отразятся на скорости остальных.

Перед началом установки

Как сделать мультисайт на WordPress: общие рекомендации

Чтобы сделать мультисайт, перед тем как приступить к установке и настройке, вам необходимо выполнить следующее:

  • установить CMS WordPress;
  • если у вас уже есть готовый сайт, убедиться, что у вас имеются резервные копии, или сделать backup по требованию;
  • отключить все плагины на сайте;
  • перейти в панели WordPress в раздел НастройкиПостоянные ссылки и убедиться, что у вас не задан тип ссылок "Простые". У вас может быть при этом задан любой другой тип.

Чтобы узнать о наличии резервной копии для вашего сайта или сформировать новую копию, воспользуйтесь этой статьей.

Настройка маски для поддоменов

Обратите внимание!
Если для настройки мультисайтовости вы выбрали режим подкаталогов, пропустите этот шаг.

Для того чтобы ваш сайт корректно работал в режиме поддоменов, необходимо сделать Wildcard-поддомен и прикрепить его к вашему сайту.

Для этого:

  1. Перейдите в раздел Домены и поддомены;
  2. Найдите ваш домен и нажмите на значок напротив него;
  3. В поле "Добавление доменов и поддоменов" появится ваш домен. Добавьте перед ним символ * ("астериск" или "звездочка"), чтобы получилась запись вида *.domain.ru;
  4. В строке под добавляемым поддоменом вместо "Создать новый сайт для каждого домена" выберите сайт, на котором вы настраиваете мультисайтовость;
  5. Нажмите на кнопку "Добавить домены".
Домены

Включение и настройка режима мультисайтовости

Обратите внимание!
Для включения режима мультисайтовости необходимо деактивировать (отключить) все установленные плагины.

Проделайте следующие шаги:

  1. Перейдите в папку вашего сайта, воспользовавшись Файловым менеджером или подключившись по FTP;
  2. Откройте файл wp-config.php;
  3. Найдите в файле комментарий /* Это всё, дальше не редактируем. Успехов! */ (/* That's all, stop editing! Happy publishing. */);
  4. Добавьте перед комментарием следующую строку:
/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
  1. Сохраните изменения в файле. 

Теперь, когда вы внесли изменения в файл wp-config.php, перезагрузите страницу панели WordPress и перейдите в раздел Установка сети (найти его можно в разделе Инструменты).

Сеть

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

Затем вам потребуется придумать название вашей сети и ввести e-mail администратора, а также выбрать режим работы (поддомены или подкаталоги) и нажать на кнопку Установить.

Сеть 2

Теперь для завершения настройки и активации сети нужно будет внести изменения в файлы wp-config.php и .htaccess. Код, который нужно будет добавить для вашего сайта, вы увидите на экране после нажатия на кнопку "Установить", но мы все же приведем примеры кода, чтобы у вас было представление о том, как он выглядит.

Если вы выбрали режим поддоменов, добавьте следующие строки в файл wp-config.php перед строкой /* Это всё, дальше не редактируем. Успехов! */:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'domain.ru');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

domain.ru – домен вашего сайта.

Также добавьте следующие строки в файл .htaccess в папке вашего сайта, заменив остальные правила WordPress:

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
 
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
 
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

После завершения этих шагов ваша сеть будет активирована и настроена. Вам потребуется снова авторизоваться в панели WordPress.

Если вы выбрали режим подкаталогов, добавьте следующие строки в файл wp-config.php перед строкой /* Это всё, дальше не редактируем. Успехов! */:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'domain.ru');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

domain.ru - домен вашего сайта.

Также добавьте следующие строки в файл .htaccess в папке вашего сайта, заменив остальные правила WordPress:

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
 
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
 
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

После завершения этих шагов ваша сеть будет активирована и настроена. Вам потребуется снова авторизоваться в панели WordPress.

Обратите внимание!
С внедрением мультисайтовости в административной панели появится пункт «Сайты», в папке загрузок – подпапки с ID конкретного сайта, а в базе данных – новые таблицы со сведениями о сети и ресурсах в ней. К префиксам таблиц установки WordPress добавится ID сайта в сети (к примеру, wp_, wp_1_, wp_2_, wp_3_ и т. д.).

Управление мультисайтом

Создание сайта

Теперь вы можете приступить к созданию виртуальных сайтов. Для начала перейдите в раздел, где в дальнейшем будут отображаться все ваши сайты. Для этого в панели WordPress наведите мышку на Мои сайты, затем переместите ее на Управление сетью и нажмите на Сайты.

В этом разделе вы можете:

  • создавать/удалять сайты;
  • создавать/удалять пользователей для сайта;
  • управлять темами сайта;
  • изменять значение настроек сайта.
Создание сайта

Чтобы создать сайт, в панели слева нажмите на строку Добавить новый. Укажите адрес нового сайта, его название и e-mail администратора. После этого нажмите на кнопку Добавить сайт.

Создание сайта 2

Ваш новый сайт с помощью системы мультисайтовости WordPress готов! Теперь вы можете управлять им через вашу единую панель.

Управление темами

Как говорилось ранее, только супер-администратор может устанавливать темы и делать их доступными для использования всеми сайтами в сети.

Для того чтобы установить тему, необходимо:

  1. В панели управления сетью зайти в раздел Темы;
Управление темами
  1. Добавить интересующую вас тему, как на обычном сайте WordPress;
  2. Нажать на кнопку Разрешить для сети под названием темы;
  3. Перейти к сайту, для которого вы хотите подключить тему, перейти в раздел Внешний вид и нажать кнопку "Активировать" под темой.
Управление темами 2

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

Управление плагинами

Плагины подключаются практически так же, как и темы. Разница заключается в том, что в случае с плагином у вас есть два способа установки:

  • принудительное включение для всех сайтов в сети;
  • включение на определенных сайтах.

Как установить и активировать плагин в сети:

  1. В панели управления сетью выберите Плагины, а потом нажмите Добавить новый и установите плагин, как на обычном сайте WordPress.
  2. В разделе Установленные плагины нажмите на кнопку Активировать для сети.
Управление плагинами

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

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

  1. В панели управления сетью выберите Плагины, а потом нажмите Добавить новый и установите плагин, как на обычном сайте WordPress;
  2. В панели управления сайта, для которого вы хотите активировать плагин, перейдите в раздел Плагины;
  3. Под плагином, который вы хотите активировать, нажмите кнопку Активировать, как на обычном сайте WordPress.
Управление плагинами 2

Готово, теперь плагин будет активирован только на указанном Вами сайте.

Полезные плагины для WordPress Multisite

  • Domain Mapping – дает возможность задать каждому ресурсу свое доменное имя.
  • WPForms – позволяет создавать контактные формы, формы обратной связи, подписки, оплаты и др.
  • Yoast SEO – плагин для SEO, помогает оптимизировать конкретную страницу под нужный ключевой запрос.
  • SeedProd – с данным плагином вы сможете создать на веб-ресурсе собственную целевую страницу (например, «Скоро в продаже») или выбрать из шаблонов вариант готовой страницы.
  • Mail SMTP – плагин, который дает возможность применять SMTP-сервер для отправки электронных писем и работает с основными почтовыми службами (Gmail, Yahoo, Outlook и др.).
  • User Switching – применяется для переключения между пользовательскими аккаунтами посредством одного нажатия кнопки.

Как деактивировать WordPress Multisite

  • Удалите все сайты, кроме основного
    Для этого в консоли нужно перейти в раздел «Мои сайты» и выбрать «Сайты».
  • Избавьтесь от нежелательных пользователей
    Если вы хотите забрать доступ к административной панели у отдельных лиц, нужно почистить их учетные записи, перейдя в консоли в блок «Пользователи».
  • Отредактируйте файл wp-config.php
    В этом файле есть строки, активирующие мультисайтовость. Удалите приведенные ниже строки.
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'mysiteurl.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1); 

В завершение данного этапа удалите файл .htaccess из корневой директории сайта.

  • Удалите таблицы Multisite из базы данных
    Удалить нужно следующие таблицы (вместо «wp_» может быть другой префикс, если вы его изменяли):
wp_blogs
wp_blog_versions
wp_registration_log
wp_signups
wp_site
wp_sitemeta

Если вы применяли плагин привязки домена, необходимо удалить еще две таблицы – domain_mapping и domain_mapping_logins.

Кроме того, важно удалить таблицы созданных сайтов в сети. Выделите таблицы, имеющие наименование вида «wp_1_*» (вместо «wp_» может быть другой префикс, если вы его изменяли), и удалите их. Затем перейдите в структуру таблицы «wp_user», выделите поля «Spam» и «Deleted» и также удалите их.

  • Удалите связанные с мультисайтовостью плагины
    Просмотрите список плагинов и удалите лишние. Подключаемые по умолчанию плагины, которые нельзя отключить из административной панели, вы найдете в папке MU-Plugins (она располагается в папке WP-Content). Удалите эту директорию вручную.
  • Активируйте плагины, отключенные после деактивации мультисайтовости
    Включите плагины, которые вы планируете продолжать использовать после отключения мультисайтовости.
  • Восстановите .htaccess
    На завершающей стадии вам следует зайти в административную панель, перейти в меню «Параметры» → «Постоянные ссылки» и нажать на кнопку «Сохранить» для создания нового файла .htaccess.

Удачной работы! Если возникнут вопросы, вы можете связаться с нами через раздел "Помощь и поддержка".

Теги:

21
10613