До основного вмісту

WordPress Multisite: мережа сайтів на одному WordPress

WordPress · 19.04.2026 · 4 хв читання
Ілюстрація до статті «WordPress Multisite: мережа сайтів на одному WordPress»

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

Коли використовувати Multisite

  • Мережа регіональних сайтів компанії
  • Багатомовний сайт (окремий підсайт для кожної мови)
  • Освітня платформа з сайтами для кожного курсу
  • Мережа блогів або медіапортал

Активація Multisite

1. Додати у wp-config.php (до рядка «That's all, stop editing!»)

define('WP_ALLOW_MULTISITE', true);

2. Налаштувати мережу

Перейдіть Tools → Network Setup. Виберіть тип: піддомени (site1.example.com) або підкаталоги (example.com/site1/).

⚠️ Піддомени вимагають wildcard DNS-запису: *.example.com → IP.

3. Додати у wp-config.php

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true); // false для підкаталогів
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

4. Оновити .htaccess

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
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]

Керування мережею

ДіяДе
Створити підсайтMy Sites → Network Admin → Sites → Add New
Активувати плагін для всієї мережіPlugins → Network Activate
Встановити тему для всієї мережіThemes → Network Enable
Квота дискового просторуNetwork Settings → Upload Settings
💡 Суперадміністратор мережі має доступ до всіх підсайтів. Звичайний адміністратор бачить лише свій сайт.

Часті помилки Multisite

ПовідомленняЩо означає
Fatal error: database error Table wp_2_options doesn't existПідсайт створено, але для нового ID не були створені таблиці — зазвичай через перерваний процес створення сайту
ERR_TOO_MANY_REDIRECTS на піддоменіНе налаштовано wildcard DNS-запис, або DOMAIN_CURRENT_SITE вказано неправильно у wp-config.php
«Are you sure you want to do this?» при звичайних діяхЗастарів nonce через розбіжність часу між підсайтом і мережею, або кеш-плагін віддає стару форму
«This resource is protected» у /wp-admin/network/Вхід виконано під звичайним адміністратором підсайту, а не під суперадміном мережі

Multisite проти окремих інсталяцій WordPress

КритерійMultisiteОкремі інсталяції
Спільний код і плагіниОдин набір на всю мережуУ кожного сайту свій набір
Ізоляція при зломіСлабка — вразливість одного сайту загрожує всій мережіПовна, сайти не пов'язані
Ресурси бази данихОдна база, окремі таблиці на сайтОкрема база на кожен сайт
Складність бекапу одного сайтуВища — потрібно вивантажувати таблиці конкретного IDНижча — стандартний дамп бази

Коли Multisite не підходить

  • Сайтам мережі потрібні різні версії PHP або несумісні між собою плагіни
  • Один із сайтів очікує вибухове зростання трафіку і має масштабуватися окремо від інших
  • Потрібна повна ізоляція на випадок зламу одного із сайтів
  • Клієнтам потрібен власний повноцінний адміністративний акаунт без прав суперадміна мережі

Перевірка результату

Переконайтеся через WP-CLI, що мережа дійсно активна і підсайт зареєстрований:

wp core is-installed --network
wp site list --fields=blog_id,url,status

Якщо команда wp site list не показує новий підсайт, перевірте, що крок створення сайту в Адмін мережі завершився без помилок БД. Подальші кроки з перенесення такої мережі на новий сервер описані в статті міграція WordPress на VDS, а щодо резервного копіювання — у налаштуванні бекапів WordPress.

Домени для підсайтів: піддомени, підкаталоги чи власні домени

Окрім вибору між піддоменами і підкаталогами під час активації мережі, Multisite підтримує і третій варіант — підключення повністю самостійних доменів до окремих підсайтів через плагін WordPress MU Domain Mapping або вбудований механізм доменного мапінгу в сучасних версіях ядра. Це зручно для мережі сайтів різних брендів, у яких немає нічого спільного, крім адмінки.

Для доменного мапінгу кожен прив'язаний домен має вказувати A-записом на той самий сервер, де живе основна інсталяція, а SSL-сертифікат має покривати всі прив'язані імена — або окремим сертифікатом на кожен домен, або через автоматичний випуск Let's Encrypt для кожного доданого імені.

Резервне копіювання мережі цілком

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

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці