Перейти к основному содержимому

Что такое WordPress Мультисайт?

В своей ядре WordPress предоставляет функцию под названием «Мультисайт», которая восходит к 2010 году, когда был запущен WordPress 3.0. С тех пор она получила ряд изменений, направленных на внедрение новых функций и усиление безопасности.

В сущности, WordPress мультисайт можно представить так: университет поддерживает одну установку WordPress, но каждый факультет управляет своим собственным сайтом WordPress.

Что именно такое WordPress Мультисайт?

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

Эта сеть использует общую файловую систему (что означает, что плагины и темы также совместно используются), базу данных, ядро WordPress, wp-config.php и т.д.

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

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

Поддомен или Подкаталог?

Существует два режима работы WordPress мультисайта – и вам необходимо выбрать один из них при преобразовании вашей обычной установки WordPress в мультисайт:

Поддомен: ex.: site.domain.com

…или

Подкаталог: ex.: yourdomain.com/site

Каждый режим имеет преимущества и недостатки, которые необходимо учитывать при принятии решения.

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

Перед принятием решения вот несколько моментов, которые стоит учитывать:

Режим подкаталога — самый простой с точки зрения настройки и обслуживания. Это происходит потому, что все сайты являются просто путями, прикреплёнными к основному домену (например, yourdomain.com/subsite). В результате вам нужен только один SSL‑сертификат для основного домена, и он покрывает всю сеть.

В то же время, из‑за структуры URL, Google и большинство других поисковых систем будут рассматривать все подсайты вашей сети на основе подкаталогов как один гигантский сайт. В результате контент, добавляемый подсайтами вашими конечными клиентами, может повлиять на SEO‑производительность вашего целевого сайта, например. Уровень влияния спорен, и можно утверждать, что такая организация даже может быть полезной для SEO‑производительности.

Режим поддомена немного сложнее в настройке, но его структура URL (например, subsite.yournetwork.com) обычно воспринимается как «более профессиональная».

Одним из главных вызовов при настройке режима поддомена является покрытие SSL (HTTPS) для всей сети. Это связано с тем, что браузеры рассматривают поддомены как изолированные сущности. В результате вам понадобится отдельный SSL‑сертификат для каждого поддомена в вашей сети или специальный тип сертификата, называемый Wildcard SSL сертификат. В последние годы хостинг‑провайдеры и панели улучшают возможности по выдаче SSL, и некоторые предлагают wildcard‑сертификаты одним кликом, тем самым сокращая разрыв между двумя режимами с точки зрения сложности настройки.

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

Супер-админ

Установки WordPress с одним сайтом позволяют добавлять неограниченное количество пользователей и назначать им различные роли с разными правами.

В WordPress мультисайте появляется новый тип пользователя: супер-админ – и открывается новая панель администратора: панель администратора сети.

Как следует из названия, супер-админ обладает сверхспособностями над сетью, умея управлять всеми её подсайтами, плагинами, темами, всем!

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

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

Note: как вы можете видеть, приглашение кого‑то в вашу сеть и предоставление ему статуса супер‑админа даёт этому пользователю полный контроль над вашей сетью. Например, другие супер‑админы могут даже удалить ваш статус супер‑админа, фактически заблокировав вас из панели администратора сети. Чтобы дать клиентам Ultimate Multisite возможность точно управлять тем, что могут делать дополнительные супер‑админы, у нас есть дополнение под названием Support Agents. Это дополнение позволяет вам создать ещё один тип пользователя – агента – с только теми правами, которые ему могут понадобиться для выполнения задач в сети.

Что совместно используется между подсайтами, а что нет

Как мы уже упоминали, одним из ключевых преимуществ WordPress мультисайта является то, что все подсайты используют одинаковые конфигурации, файлы ядра, темы, плагины, файлы ядра WordPress и т.д.

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

  • Например, каждый подсайт получает собственную папку загрузок. В результате загрузки, сделанные пользователями одного конкретного подсайта, недоступны для другого подсайта.
  • Каждый подсайт имеет собственную выделенную панель администратора и может активировать или деактивировать плагины или темы, если они не были активированы сетью супер‑админом.
  • Большинство таблиц базы данных создаются для каждого подсайта, что означает, что сообщения, комментарии, страницы, настройки и многое другое ограничены для каждого подсайта.

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

Одной из деликатных тем в WordPress мультисайте является управление пользователями. Таблица пользователей WordPress — одна из немногих, которая совместно используется всеми подсайтами.

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

Представьте следующую ситуацию:

Вы создаёте сеть WordPress мультисайта и начинаете предлагать подсайты за ежемесячную плату людям, которые хотят иметь интернет‑магазин.

Вы получаете первого платящего клиента – Джона. Вы создаёте сайт для Джона в своей сети, устанавливаете все необходимые плагины, а затем создаёте пользователя для Джона, чтобы он мог управлять своим магазином.

Затем появляется второй клиент – Алиса. Вы делаете то же самое для неё, и у неё тоже появляется магазин в вашей сети.

Джон и Алиса — ваши клиенты, но они не знают друг о друге. Более того, если один из них посещает веб‑сайт магазина другого, нет способа понять, что этот магазин размещён в той же сети сайтов.

Однажды Джон хочет купить новую пару обуви и находит идеальные туфли в магазине Алисы. Когда он пытается завершить покупку, появляется сообщение об ошибке «почта уже используется», что странно, поскольку Джон на 100 % уверен, что это первый раз, когда он посещал веб‑сайт Алисы.

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

Note: Мы понимаем, насколько это может быть плохо в зависимости от вашего сценария, поэтому Ultimate Multisite имеет опцию, которая обходит обычные проверки существующего пользователя, позволяя создавать несколько аккаунтов с одним и тем же адресом электронной почты. Каждый аккаунт привязан к подсайту, поэтому риск коллизии минимален. В приведённом выше примере Джон не получит сообщение об ошибке и сможет купить туфли без проблем. Эта опция называется Enable Multiple Accounts и может быть активирована в Ultimate Multisite → Settings → Login & Registration.

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

Соображения производительности

WordPress мультисайт действительно мощен, когда речь идёт о количестве сайтов, которые он может поддерживать. Это можно проверить тем, что WordPress.com, Edublogs и Campuspress — все это сервисы на основе мультисайта, и каждый из них размещает тысячи сайтов.

Хотя в теории нет максимального количества сайтов, которые вы можете разместить на одной установке WordPress мультисайта, на практике количество сайтов, которые вы можете успешно запустить, может сильно варьироваться в зависимости от различных факторов: насколько динамичны сайты, какие плагины доступны подсайтам и т.д.

Как правило, чем проще ваша сеть, тем лучше. Предпочитайте сайты, где контент не слишком динамичен (что делает их отличными кандидатами для агрессивных стратегий кэширования) и держите стек плагинов как можно легче (чем меньше активных плагинов, тем лучше), это может значительно увеличить количество подсайтов, которые вы можете разместить.

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

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