К основному содержимому

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. Настроить сеть

Перейдите Инструменты → Настройка сети. Выберите тип: поддомены (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]

Управление сетью

ДействиеГде
Создать подсайтМои сайты → Админ сети → Сайты → Добавить
Активировать плагин для всей сетиПлагины → Network Activate
Установить тему для всей сетиТемы → Network Enable
Квота дискового пространстваНастройки сети → Загрузки
💡 Суперадмин сети имеет доступ ко всем подсайтам. Обычный администратор видит только свой сайт.

Частые ошибки 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 vs отдельные установки 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 в продакшн проверьте, что выбранное решение для бэкапа явно поддерживает сетевой режим и позволяет восстановить как всю сеть, так и отдельный подсайт без потери данных остальных.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке