WordPress Мультисайт

З версії WordPress 3.0 можна створювати мережі сайтів, де буде один головний сайт із супер адміністратором і скільки завгодно підсайтів, у кожного з яких свій адміністратор. Такий режим установки називається Multisite, його історично коротко називають MU (MultiUser).

У цьому посібнику показано, як створити мережу сайтів WordPress, встановивши WorrdPress в режимі Multisite.

Multisite – це нова назва колишнього WordPress MU, який до версії WordPress 3.0 був плагіном, а потім став частиною WordPress.

Читайте також: Установка Multisite


Особливості Multisite

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

Особливості та переваги «Мультисайт»:
  • У MU: єдиний движок, одна база даних, загальні теми та плагіни, загальна папка на сервері і тому:

    • WordPress оновлюється один раз для всієї мережі сайтів;
    • Плагіни та теми встановлюються один раз для всієї мережі;
    • Плагіни та теми оновлюються один раз для всієї мережі;
    • Плагін може бути активований для окремого сайту мережі або всіх сайтів відразу;
    • Тема може бути “дозволена” для окремого сайту мережі або для всіх сайтів відразу;
    • Якщо на кількох сайтах мережі використовується одна тема, її можна змінювати, створивши дочірню тему .
  • Єдина таблиця користувачів у базі даних:

    • Зареєструвавшись на одному із сайтів мережі, користувач отримує обліковий запис для всієї мережі;
    • Наявний у мережі користувача можна швидко додавати до сайтів мережі;
    • Авторизований користувач буде авторизований на всіх сайтах мережі, яких він підключений;
    • Користувачі можуть мати різні ролі на різних веб-сайтах мережі;
    • Супер-адміністратор може дозволити користувачам створювати власні сайти в мережі;
  • Адреса (URL) сайту мережі може бути трьох видів:

    • Підкаталогexample.com/site1 .
    • Піддоменsite1.example.com .
    • Окремий домен . З версії 4.5 цю можливість впровадили в ядро, докладніше тут . До цієї версії для цього потрібно було встановлювати плагін WordPress MU Domain Mapping .
  • У MU дуже зручно отримувати дані одного сайту мережі на іншому сайті та навпаки;

  • Обов’язкові плагіни (mu-plugins) працюватимуть всім сайтів мережі. Їх не можна вимкнути для окремого сайту. При цьому їх наявність буде видно лише у плагінах усієї мережі, а в плагінах окремого сайту вони заховані;
Недоліки Multisite:
  • Мережа сайтів складніше підтримувати – потрібно більше знань та вмінь.
  • Багато непопулярних плагінів не вміють працювати в цьому режимі.
  • Об’єм бази даних зростає з кожним новим сайтом.
  • Ресурси хостингу будуть спільними для всіх сайтів і немає можливості розділити сайти між різними хостинг-майданчиками.
  • FTP доступ і доступ до бази даних також буде загальним для всіх сайтів. Іноді це може стати проблемою.
  • При оновленні ядра WordPress або плагінів, зміни торкнутися всієї мережі сайтів… Це може викликати проблеми на деяких сайтах мережі.


Коли Multisite може стати в нагоді?

Найчастіше простіше використовувати окрему установку WordPress і не вдаватися до тонкощів мережі сайтів. Але іноді режим MU може бути незамінним або просто заощадити купу часу.

MU добре підійде у таких випадках:

  • Коли ви маєте кілька тісно пов’язаних між собою сайтів. Наприклад, у вас є 3 сайти дуже схожі один на одного: «ремонт ванної», «ремонт вітальні», «ремонт спалень» і для кожного з них потрібен окремий домен.

  • MU відмінно підходить для створення мультимовних сайтів – один підсайт = одна локаль.

  • Коли потрібно один обліковий запис для авторизації на різних сайтах.

В інших випадках, я рекомендував би використовувати просту установку WordPress. З нею у вас не буде купи зайвих питань – з нею простіше!


Управління мережею

Після установки MU з’являється нова роль «Супер-адміністратор» і новий розділ «Мої сайти» з вкладеним пунктом «Управління мережею» – запам’ятайте цей пункт, ним ви будете користуватися нерідко.

Управління мережею

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

Консоль супер-адміністратора

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

Прикріплення користувачів у Мультисайтах

Ще трохи особливостей для новачків:

Плагіни: після встановлення плагіна супер-адмін може включити плагін для всієї мережі сайтів відразу. Або можна перейти на окремий сайт та активувати плагін лише для поточного сайту мережі.

Користувачі: супер-адмін може створити нового користувача або прикріпити існуючий до вказаного сайту.

Теми: після встановлення теми супер-адмін може дозволити використання теми для всіх сайтів відразу. Або можна перейти в налаштування окремого сайту в розділі «мережі сайтів» та дозволити використовувати тему лише для нього.

Налаштування окремого сайту в режимі мультисайту


Структура сайтів та блогів

При встановленні MU з’являються 3 нових поняття: мережі, сайти та блоги. Щоб багато чого стало зрозумілим, давайте подивимося як зберігаються опції кожного типу.

У WordPress є чотири схожі одна на одну функції для отримання опцій:

  1. get_network_option()
  2. get_site_option()
  3. get_blog_option()
  4. get_option()

Ці функції можна зібрати до груп:

get_network_option() і get_site_option()
get_blog_option() і get_option()

“Сайти” вони ж “Мережі” в MU

Це основні сайти (які за сумісництвом також блоги). Зазвичай такий основний сайт лише один. У нього є ті самі дані що й у будь-якого блогу (своя таблиця wp_options ). Однак він також має свої опції, які знаходяться в таблиці wp_sitemeta. Саме з wp_sitemetaодержують дані функції: *_network_option() і *_site_option() .

get_site_option() – це її обгортка і в ній ми не можемо вказати ID мережі – там завжди використовується поточна мережа.

Повторюся, в мультисайт збірці, як правило, використовується всього один основний сайт (мережа), це означає, що в 99% випадків опція get_network_option() дорівнює get_site_option() .

«Блоги» у MU

Це сайти, що знаходяться під керуванням основного сайту (мережі). Кожен з таких блогів має окрему таблицю *_options . get_option() , тільки вона отримує опції зазначеного блогу, а не поточного.


Відмінності Multisite від звичайної установки


Відмінності у файлах

Файли завантажуються в ту ж директорію wp-content/uploads . Більше того, нічого не змінюється для головного веб-сайту мережі. Зміни видно лише для дод. сайтів мережі: у них файли завантажуються в нову теку wp-content/uploads/sites/2 , де 2 – це ID сайту мережі.

Розташування файлів у мережі мультисайт


Відмінності у таблицях бази даних

Створюється 6 нових таблиць із префіксом головного сайту. Таблиці: users і usermeta стають спільними всім сайтів мережі. Столі таблиці створюються окремо для кожного сайту і відрізняються вони префіксом, наприклад якщо у головного сайту він був wp_ , то у першого сайту мережі він стане wp_1_ .

Які додаткові таблиці створюються:

wp_blogs
Усі сайти підмережі.
wp_blogmeta

З версії 5.1. Докладніше . Таблиця для глобальних опцій веб-сайту мережі, які передбачається використовувати в мережі веб-сайту, а не окремо на веб-сайті. Окремі опції сайту потрібно зберігати у таблиці опцій окремого сайту. Не плутайте з wp_sitemeta .

Пов’язані функції:

get_site_meta( $id, $meta_key, $single )
update_site_meta( $id, $meta_key, $meta_value, $prev_value )
add_site_meta( $id, $meta_key, $meta_value, $unique )
delete_site_meta( $id, $meta_key, $meta_value )
wp_blog_versions
Містить поточну версію бази даних кожного сайту. Дані оновлюються під час оновлення БД для кожного сайту мережі.
wp_registration_log
Містить дані адміністраторів сайтів, які створюються під час створення сайтів.
wp_signups
Містить користувачів, зареєстрованих через базову реєстрацію WordPress зі сторінки:
Администрация > Супер Админ > Настройки.
wp_site
Містить адреси основних сайтів.
wp_sitemeta
Дані сайтів: різні опції, включаючи адміністратора сайту.
wp_users
Список користувачів усіх веб-сайтів мережі. Це загальна таблиця користувачів для всієї мережі. Це звична таблиця, тільки мультисайт версії додаються ще 2 поля:
spam і
delete .
wp_usermeta
Містить мета-дані користувачів. Установки користувача для різних веб-сайтів мережі.
Базові таблиці кожного сайту мережі
wp_posts ,
wp_postmeta ,
wp_options ,
wp_terms і т.д.. Для кожного сайту мережі створюються однакові таблиці, але з різним префіксом: wp_options, wp_1_options, wp_2_options …

При написанні були використані такі матеріали та особистий досвід:

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *