Что такое WordPress Multisite и зачем он нужен?
Управление сетью из 50 сайтов требует единой системы. При отдельной установке каждого сайта администрирование занимает в 3–5 раз больше времени: 50 обновлений ядра, 50 копий плагинов, 50 баз данных. WordPress Multisite (WPMS) позволяет запустить неограниченное количество сайтов из одной установки с единой БД. Это не просто «несколько сайтов на одном сервере» — это полное разделение инфраструктуры при едином ядре. Подходит для сетей СМИ, мультирегиональных проектов, SaaS-платформ на WordPress, образовательных порталов. Базовая настройка сети из 3–5 подсайтов занимает 2–3 дня; доработка под production с изоляцией данных и кастомными плагинами — от 5 дней. За 8+ лет мы реализовали 50+ проектов Multisite, включая сети со 100+ подсайтами. Многие сталкиваются с проблемами синхронизации пользователей, обновлений и контента — Multisite решает их одним решением. Каждый проект проходит через нагрузочное тестирование и оптимизацию Core Web Vitals. Свяжитесь с нами для детального аудита вашей текущей архитектуры.
Как включить Multisite?
Добавьте константу в wp-config.php до установки:
define('WP_ALLOW_MULTISITE', true); После этого в меню «Инструменты» появится пункт «Настройка сети». Согласно WordPress Codex, константа должна быть добавлена до установки. Вот пошаговая инструкция:
- Откройте
wp-config.phpи вставьте строку выше перед строкой/* That's all, stop editing! */. - Зайдите в админку > Инструменты > Настройка сети.
- Выберите тип адресации: поддомены или подпапки.
- Скопируйте сгенерированный код и добавьте его в
wp-config.phpи.htaccess(илиnginx.conf). - Перезагрузите сервер.
Сравнение типов адресации
| Параметр | Поддомены | Подпапки |
|---|---|---|
| Настройка DNS | Wildcard запись | Не требуется |
| SSL | Wildcard сертификат | Единый сертификат |
| SEO | Лучше для региональных сайтов | Единый домен, подходит для разделов |
| Сложность | Выше (настройка DNS+SSL) | Ниже |
| Пример | ru.example.com, en.example.com | example.com/ru, example.com/en |
Wildcard SSL для *.example.com получается через Let's Encrypt с DNS-01 challenge. Например:
certbot certonly --manual --preferred-challenges dns \ -d example.com -d '*.example.com' Типичные ошибки при настройке
- Неверный порядок констант:
WP_ALLOW_MULTISITEдолжна быть доdefine('DB_NAME', ...). Иначе Multisite не активируется. - Пропущенный wildcard в DNS: для поддоменов необходимо добавить запись
* → A — ваш IP. Без неё новые сайты не откроются. - SSL только на главном домене: при поддоменах каждый сайт открывается с ошибкой сертификата, если не настроен wildcard.
Структура таблиц в БД
Multisite создаёт таблицы с префиксом для каждого подсайта. Главный сайт использует wp_posts, второй — wp_2_posts, третий — wp_3_posts:
wp_blogs -- реестр сайтов сети wp_blog_versions -- версии БД по сайтам wp_sitemeta -- мета-данные всей сети wp_site -- корневой сайт wp_users -- общие пользователи (один реестр) wp_usermeta -- роли хранятся здесь per-site -- Таблицы первого сайта wp_posts, wp_postmeta, wp_options, wp_terms... -- Таблицы второго сайта wp_2_posts, wp_2_postmeta, wp_2_options, wp_2_terms... Пользователи общие, но роли — разные для каждого подсайта. Пользователь может быть редактором на site2 и подписчиком на site3.
Программное создание подсайтов
$blog_id = wpmu_create_blog( 'newsite.example.com', '/', 'Новый сайт', get_current_user_id(), ['public' => 1], 1 ); if (is_wp_error($blog_id)) { error_log('Ошибка: ' . $blog_id->get_error_message()); return; } switch_to_blog($blog_id); update_option('blogdescription', 'Описание'); restore_current_blog(); Как привязать кастомный домен к подсайту?
Domain mapping — привязка стороннего домена (client-site.ru) к подсайту Multisite. Нативно с WordPress 4.5+ можно изменить siteurl и home через WP-CLI. Nginx добавляет server block, направляющий запросы в ту же корневую директорию. Вот пример конфигурации:
server { listen 443 ssl; server_name client-site.ru; root /var/www/html; ... } Не забудьте добавить запись DNS для client-site.ru на IP сервера.
Сетевые плагины и темы
Плагин, активированный на уровне сети, работает на всех подсайтах. Некоторые плагины не поддерживают Multisite из-за хардкоженных table prefix. Проверить, является ли установка мультисайтовой, можно с помощью is_multisite().
Как Multisite решает проблему масштабирования?
При 50–100 активных подсайтах на одном сервере возможна деградация из-за таблицы wp_options каждого сайта. Решения: Redis Object Cache с сегрегацией ключей по blog_id, Varnish, HyperDB для распределения БД. Средняя экономия бюджета при переходе с отдельных установок на Multisite составляет 40–60%. Multisite в 3–5 раз выгоднее отдельных установок по стоимости хостинга и времени администрирования. Закажите консультацию для оценки вашего проекта.
Ограничения и решения
| Проблема | Решение |
|---|---|
| Деградация при 50+ подсайтов | Redis Object Cache + Varnish |
| Медленный switch_to_blog | HyperDB для распределения БД |
| Конфликт плагинов | Тестирование на staging сети |
Что входит в работу
- Анализ требований и проектирование архитектуры сети
- Настройка сервера (Nginx, SSL wildcard, Redis, сертификаты)
- Установка и конфигурация WordPress Multisite
- Domain mapping для кастомных доменов
- Подключение сетевых плагинов (кеширование, безопасность, SEO)
- Разработка кастомного регистратора подсайтов при необходимости
- Документация, передача доступов, обучение команды
- Гарантийный период 30 дней после сдачи проекта
Наш опыт: 8+ лет работы с WordPress, 50+ успешных проектов Multisite, 100+ подсайтов в отдельных проектах. Свяжитесь с нами для оценки вашего проекта. Закажите настройку WordPress Multisite под ключ — мы предложим оптимальное решение.







