Перейти до основного вмісту

Що таке WordPress Multisite?

WordPress має вбудовану функцію під назвою «Multisite», яка з'явилася ще у 2010 році разом із випуском WordPress 3.0. Відтоді вона отримала чимало оновлень — як для розширення можливостей, так і для підвищення безпеки.

Простими словами, WordPress Multisite можна пояснити так: університет має одну інсталяцію WordPress, але кожен факультет веде власний сайт на її основі.

Що саме таке WordPress Multisite?

Multisite — це функція WordPress, яка дозволяє кільком сайтам працювати на одній інсталяції WordPress. Коли ви активуєте Multisite, ваш початковий сайт WordPress перетворюється на так звану мережу сайтів.

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

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

Саме це є однією з головних переваг Multisite: ви можете збільшувати кількість сайтів, які обслуговуєте, не збільшуючи при цьому обсяг роботи з їх підтримки.

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

Існує два режими роботи WordPress Multisite — і вам потрібно обрати один із них під час перетворення звичайної інсталяції WordPress на Multisite:

Піддомен: наприклад, site.domain.com

…або

Підкаталог: наприклад, 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 Multisite з'являється новий тип користувача — суперадміністратор — а також нова панель керування: панель адміністрування мережі.

Як випливає з назви, суперадміністратор має розширені повноваження над усією мережею: він може керувати всіма підсайтами, плагінами, темами — буквально всім!

Коли ви перетворюєте звичайну інсталяцію WordPress на Multisite, початковий адміністратор сайту автоматично отримує статус суперадміністратора.

Встановлювати та видаляти плагіни й теми можуть лише суперадміністратори через панель адміністрування мережі. Адміністратори підсайтів можуть активувати або деактивувати ці плагіни чи теми, якщо тільки суперадміністратор не активував їх на рівні мережі — тоді вони будуть активними для всіх підсайтів постійно.

Примітка: як бачите, запрошення когось до вашої мережі та надання йому статусу суперадміністратора дає цьому користувачеві повний контроль над мережею. Наприклад, інші суперадміністратори можуть навіть позбавити вас статусу суперадміністратора, фактично заблокувавши вам доступ до панелі адміністрування мережі. Щоб клієнти Ultimate Multisite могли детально контролювати, що можуть робити додаткові суперадміністратори, ми створили доповнення Support Agents. Воно дозволяє створювати ще один тип користувача — агента — з обмеженими правами, достатніми лише для виконання його завдань у мережі.

Що є спільним для підсайтів, а що — ні

Як ми вже згадували, одна з ключових переваг WordPress Multisite полягає в тому, що всі підсайти використовують спільні налаштування, основні файли, теми, плагіни тощо.

Проте деякі елементи чітко розмежовані для кожного підсайту.

- Наприклад, кожен підсайт має власну папку для завантажень. Тому файли, завантажені користувачами одного підсайту, недоступні на іншому.

- Кожен підсайт має власну панель адміністрування і може активувати чи деактивувати плагіни та теми, якщо тільки їх не було активовано на рівні мережі суперадміністратором.

- Більшість таблиць бази даних створюються окремо для кожного підсайту, тому записи, коментарі, сторінки, налаштування тощо існують незалежно для кожного підсайту.

Керування користувачами в WordPress Multisite

Керування користувачами — одна з делікатних тем у WordPress Multisite. Таблиця користувачів WordPress є однією з небагатьох, які є спільними для всіх підсайтів.

Така організація може створювати певні проблеми залежно від того, що ви плануєте будувати на своїй мережі. Наведений нижче приклад ілюструє найпоширенішу з них.

Уявіть таку ситуацію:

Ви створюєте мережу WordPress Multisite і починаєте пропонувати підсайти за щомісячну плату людям, які хочуть мати інтернет-магазин.

З'являється ваш перший клієнт — Іван. Ви створюєте для нього сайт у мережі, встановлюєте всі необхідні плагіни, а потім створюєте обліковий запис, щоб він міг керувати своїм магазином.

Потім приходить друга клієнтка — Аліса. Ви робите те саме для неї, і тепер вона теж має магазин у вашій мережі.

Іван і Аліса — обидва ваші клієнти, але вони не знають одне одного. Що важливіше, якщо хтось із них відвідає магазин іншого, він ніяк не дізнається, що цей магазин розміщено в тій самій мережі сайтів.

Одного дня Івану потрібно купити нові кросівки, і він знаходить ідеальну пару в магазині Аліси. Коли він намагається завершити покупку, з'являється повідомлення про помилку «ця електронна адреса вже використовується», що дивно, адже Іван на 100% впевнений, що вперше відвідує сайт Аліси.

Справа в тому, що обліковий запис Івана є спільним для всієї мережі, тому коли він намагається створити обліковий запис для оформлення замовлення на сайті Аліси, WordPress виявляє, що користувач із такою електронною адресою вже існує, і видає помилку.

Примітка: Ми розуміємо, наскільки це може бути проблемним залежно від вашого випадку використання, тому Ultimate Multisite має опцію, яка обходить стандартну перевірку на наявність існуючого користувача, дозволяючи створювати кілька облікових записів з однаковою електронною адресою. Кожен обліковий запис прив'язаний до конкретного підсайту, тому ризик конфлікту мінімальний. У наведеному вище прикладі Іван не отримав би повідомлення про помилку і міг би придбати кросівки без жодних проблем. Ця опція називається Enable Multiple Accounts і може бути активована в Ultimate Multisite → Settings → Login & Registration.

Хоча таблиця користувачів є спільною, адміністратори підсайтів або суперадміністратор можуть додавати та видаляти користувачів з підсайтів. Користувачі навіть можуть мати різні ролі на різних підсайтах.

Питання продуктивності

WordPress Multisite дійсно потужний щодо кількості сайтів, які може підтримувати. Це підтверджується тим, що WordPress.com, Edublogs та Campuspress — усі побудовані на Multisite і кожен із них обслуговує тисячі сайтів.

Хоча теоретично немає обмеження на кількість сайтів, які можна розмістити на одній інсталяції WordPress Multisite, на практиці кількість сайтів, які ви зможете ефективно обслуговувати, може суттєво відрізнятися залежно від багатьох факторів: наскільки динамічними є сайти, які плагіни доступні підсайтам тощо.

Загальне правило: чим простіша ваша мережа, тим краще. Надавайте перевагу сайтам зі статичним контентом (вони ідеально підходять для агресивного кешування) та намагайтеся використовувати якомога менше плагінів (чим менше активних плагінів, тим краще) — це значно збільшить кількість підсайтів, які ви зможете розмістити.

Найкраще те, що оскільки це все той самий WordPress, усі інструменти для оптимізації продуктивності, які ви вже знаєте й любите, працюватимуть і для мережі Multisite.

Основним вузьким місцем для Multisite є база даних, але якщо все інше налаштовано правильно, проблеми з нею можуть виникнути лише при кількох тисячах сайтів. Навіть тоді існують рішення, які можна поступово впроваджувати (наприклад, шардинг бази даних).