Skip to content

Все для WordPress, веб-розробки — і не тільки

🛠 Повний посібник з мультисайту WordPress

🛠 Повний посібник з мультисайту WordPress

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

WordPress Multisite вирішує цю проблему докорінно: одне встановлення, один вхід, а сайтів, скільки потрібно. Цей режим вбудовано в ядро WordPress з версії 3.0, і він не потребує сторонніх плагінів. Нижче, покрокове налаштування мультисайту від увімкнення у wp-config.php до керування готовою мережею.

💡 Швидкий огляд:

  • Підготуйте WordPress: встановіть сайт на власному хостингу та отримайте доступ до файлів через FTP або файловий менеджер. Тарифи WordPress.com для мультисайту не підходять.
  • Увімкніть мультисайт: додайте define('WP_ALLOW_MULTISITE', true); у wp-config.php. Після оновлення адмінки з’явиться пункт «Налаштування мережі».
  • Налаштуйте структуру мережі: оберіть піддомени чи підкаталоги та заповніть базові параметри. Від цього рішення залежить формат URL усіх сайтів мережі.
  • Активуйте мережу: скопіюйте виданий WordPress код у wp-config.php та .htaccess, збережіть файли й увійдіть в адмінку заново. Мережу запущено.

Крок 1: Підготовка встановлення WordPress

Мультисайт вмикається на наявному сайті або на чистому встановленні WordPress, принципової різниці немає. Головна умова: WordPress має бути встановлений на власному хостингу (self-hosted). Тарифи WordPress.com мультисайт не підтримують.

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

Перевірте, що у вас є доступ до файлів сайту через FTP або файловий менеджер хостингу. Редагувати wp-config.php і.htaccess доведеться вручну, без доступу до файлової системи не обійтися.

Крок 2: Увімкнення мультисайту у wp-config.php

Відкрийте файл wp-config.php у корені встановлення WordPress. Знайдіть рядок:

1/* That's all, stop editing! Happy publishing. */

Прямо над ним додайте:

1/* Multisite */
2define( 'WP_ALL_MULTISITE', true );

Збережіть файл. Цей єдиний рядок активує прихований функціонал мультисайту в ядрі WordPress. На цьому етапі мережу ще не створено, ви лише увімкнули інструмент для її налаштування.

Оновіть сторінку адмінки (або увійдіть заново, якщо система викинула). У меню Інструменти з’явиться новий пункт, Налаштування мережі.

Крок 3: Налаштування мережі, піддомени чи підкаталоги

Перейдіть в Інструменти → Налаштування мережі. Відкриється сторінка «Створення мережі сайтів WordPress»:

Сторінка налаштування мультисайту WordPress

Тут ухвалюється ключове архітектурне рішення, структура адрес сайтів мережі:

  • Піддомени: адреси виду site1.yourdomain.com, site2.yourdomain.com. Виглядають як незалежні сайти, краще для SEO. Потребують wildcard DNS-запису на сервері.

  • Підкаталоги: адреси виду yourdomain.com/site1, yourdomain.com/site2. Простіші в налаштуванні, не потребують додаткової DNS-конфігурації. Працюють на будь-якому хостингу.

Якщо сайт старший за місяць, WordPress не дасть обрати піддомени для наявного встановлення, лише підкаталоги. Це не обмеження, а захист від битих посилань (старі URL постійних сторінок перетнулися б з адресами нових сайтів мережі).

Заповніть поля: назва мережі та email адміністратора мережі. Email суперадміністратора не зобов’язаний збігатися з email адміністратора поточного сайту, але саме на нього надходитимуть сповіщення про нові реєстрації та проблеми мережі.

Натисніть Встановити.

Крок 4: Активація мережі, wp-config.php і.htaccess

Після натискання «Встановити» WordPress покаже сторінку з інструкціями та двома блоками коду:

Інструкція з активації мережі мультисайту

Перед внесенням змін зробіть резервну копію wp-config.php і.htaccess. Якщо припуститеся помилки в будь-якому з файлів, сайт впаде, а копія дозволить відкотитися за секунди.

Додайте у wp-config.php (одразу після рядка define('WP_ALLOW_MULTISITE', true);, який ви вже додали на кроці 2):

1define( 'MULTISITE', true );
2define( 'SUBDOMAIN_INSTALL', false );
3define( 'DOMAIN_CURRENT_SITE', 'yourdomain.com' );
4define( 'PATH_CURRENT_SITE', '/' );
5define( 'SITE_ID_CURRENT_SITE', 1 );
6define( 'BLOG_ID_CURRENT_SITE', 1 );

Значення SUBDOMAIN_INSTALL беріть з екрана налаштування: true для піддоменів, false для підкаталогів. DOMAIN_CURRENT_SITE, ваш домен без https:// і без слеша в кінці.

Замініть вміст.htaccess. Якщо файлу.htaccess немає, створіть його в корені сайту поруч із wp-config.php. Якщо файл є, повністю замініть його вміст кодом з екрана налаштування мережі. Приклад для підкаталогів:

1RewriteEngine On
2RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
3RewriteBase /
4RewriteRule ^index\.php$ - [L]
5
6#Rewrite rule: trailing slash for wp-admin
7RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
8
9RewriteCond %{REQUEST_FILENAME} -f [OR]
10RewriteCond %{REQUEST_FILENAME} -d
11RewriteRule ^ - [L]
12RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
13RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
14RewriteRule . index.php [L]

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

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

Крок 5: Панель адміністратора мережі

Після повторного входу в адмінку з’являється новий пункт меню, Мої сайти → Адміністратор мережі:

Випадне меню адміністратора мережі WordPress

Панель адміністратора мережі — це окремий розділ, де керуються всі сайти мережі. Тут доступні:

  • Сайти, список, додавання, редагування та видалення сайтів мережі.
  • Користувачі, керування користувачами, призначення адміністраторів окремих сайтів.
  • Теми, встановлення й активація тем для всієї мережі. Тема стає доступною сайтам лише після мережевої активації.
  • Плагіни, мережева активація плагінів (підключаються одразу на всіх сайтах) або дозвіл активувати вибірково.
  • Налаштування, глобальні параметри: реєстрація сайтів і користувачів, welcome-листи, ліміти завантажень.

Щоб повернутися до адміністрування конкретного сайту, оберіть його у випадному меню Мої сайти та натисніть Консоль:

Список сайтів мультимережі в меню Мої сайти

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

Крок 6: Додавання першого сайту й адміністрування

Мережу створено. Додамо перший дочірній сайт.

У панелі адміністратора мережі перейдіть у Сайти → Додати новий. Заповніть поля:

  • Адреса сайту, частина URL: ім’я піддомену або назва підкаталогу (лише латиниця та дефіси).
  • Назва сайту, відображуване ім’я, яке бачить власник сайту в адмінці.
  • Email адміністратора, користувач із таким email стане адміністратором нового сайту. Якщо користувача з таким email ще немає в мережі, WordPress створить обліковий запис автоматично.

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

Кілька важливих моментів адміністрування:

  • Оновлення ядра, тем і плагінів застосовуються один раз, одразу для всієї мережі. Економія часу порівняно з N окремими встановленнями зростає лінійно з кожним новим сайтом.
  • Користувач може бути зареєстрований на одному сайті мережі або на кількох. Права на кожному сайті призначаються окремо.
  • Теми та плагіни встановлюються суперадміністратором. Окремі сайти бачать лише те, що суперадміністратор дозволив у масштабі мережі.
  • Резервне копіювання робиться на рівні всього встановлення, одна база даних, одна файлова система. Відновлення також одне на всіх.
  • Ліміти завантажень задаються глобально в Налаштуваннях мережі: максимальний розмір файлу та дозволені типи файлів. За замовчуванням WordPress мультисайт обмежує завантаження 1500 КБ на сайт — це значення варто збільшити під конкретні потреби.
  • Доменний mapping (плагін WordPress MU Domain Mapping або вбудований функціонал сучасних версій) дозволяє прив’язати окремий домен до будь-якого сайту мережі. Сайт з адресою network.com/site5 може відкриватися за власним доменом site5.com, зберігаючи керування всередині мультисайту.

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

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

Робочий стіл з кодом WordPress на екрані

⁉️🤔 Часті запитання

Чи можна перетворити наявний сайт із контентом на мультисайт?

Так, саме цей сценарій описано в кроках вище. Деактивуйте плагіни, додайте WP_ALLOW_MULTISITE у wp-config.php і пройдіть налаштування мережі. Наявний контент стане головним сайтом мережі з ID 1. Зворотного шляху немає: вимкнути мультисайт і повернути звичайний режим складніше, ніж увімкнути. Зробіть повний бекап бази даних і файлів перед стартом.

Піддомени чи підкаталоги, що насправді краще?

Піддомени виглядають як окремі сайти й не мають проблеми «а що, як плагін створить сторінку з таким самим slug, як у дочірнього сайту». Але для піддоменів потрібен wildcard DNS і підтримка хостера. Підкаталоги простіші: працюють одразу, без DNS. Мінус підкаталогів, конфлікт slug. Якщо плагін на головному сайті створить сторінку /contact, а у вас є дочірній сайт yourdomain.com/contact, дочірній сайт перестане відкриватися. Для старту беріть підкаталоги, а зі зростанням мережі переходьте на піддомени через зміну конфігурації.

Скільки сайтів реально витримує один мультисайт?

Технічних обмежень немає, відомі інсталяції з тисячами сайтів. Вузьке місце, не WordPress, а сервер: кожен сайт мережі обслуговується одним PHP-процесом і однією базою даних. На звичайному VPS з 2 ГБ RAM комфортно працює 20-50 середніх сайтів. Зі зростанням навантаження додають RAM, ставлять об’єктне кешування (Redis) і переходять на виділений сервер бази даних.

Чи можна дати різним сайтам різні теми та плагіни?

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

Що буде з SEO під час переходу на мультисайт?

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

Що обрати: готовий план дій

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

  • Один-два сайти, залиште окремі встановлення. Накладні витрати мультисайту (спільна база, спільна файлова система, неможливість вимкнути режим) не окупаються.
  • Три-десять сайтів, беріть мультисайт на підкаталогах. Просте налаштування, менше рухомих частин.
  • Десять і більше, особливо під клієнтів або різні бренди, піддомени з об’єктним кешуванням і регулярним моніторингом.

Перед запуском бойової мережі потренуйтеся на локальному встановленні: той самий MAMP або Local by Flywheel за 15 хвилин дають пісочницю, в якій можна пройти всі кроки без ризику впустити робочий сайт. Візьміть за правило: змінюєте щось у wp-config.php або.htaccess, спочатку бекап, потім правка. Налаштувавши мережу один раз, ви зможете запускати нові сайти за пару хвилин, не повторюючи рутину встановлення та налаштування з нуля.