WordPress Multisite (мультисайт): 2 структуры — поддомены и подкаталоги

Тестовая среда Семейство RHELAlmaLinux 9.8Nginx + ApacheWordPress 7.1.3Проверено 2026-10-27

WordPress Multisite (мультисайт) — это функция, которая объединяет несколько сайтов в сеть и позволяет управлять ими из одной установки WordPress. На WordPress с конфигурацией Nginx + Apache мы включили мультисайт на экране установки сети, добавили один подсайт и проверили пути в меню и строки, которые добавляются в файлы конфигурации.

1️⃣ WordPress Multisite и управление сетью

  • ↪️ Несколько сайтов на одной установке

В мультисайте все сайты сети используют одну общую установку WordPress. Файлы ядра, плагины и темы тоже общие, поэтому на сервере не появляется отдельная папка WordPress для каждого сайта.

Отдельными у каждого сайта остаются таблицы базы данных и папка загрузки медиафайлов, а общими для всей сети — только таблицы пользователей. Первый сайт использует существующую папку [/wp-content/uploads/], а начиная со следующего каждый сайт использует папку со своим номером в [/wp-content/uploads/sites/].

Пользователь, который управляет всей сетью, — суперадминистратор (Super Admin). Экраны управления сетью появляются после создания сети и показываются только суперадминистраторам.

Пользователи создаются как учётные записи сети, но чтобы попасть на конкретный сайт, им нужна роль на этом сайте. Права администраторов сайтов тоже урезаны: устанавливать темы и плагины и редактировать профили других пользователей может только суперадминистратор.

На схеме ниже видно, как одна установка через сеть делится на несколько сайтов, и какие адреса получают сайты при каждом способе адресации.

🧭 Структура мультисайта и способы адресации
Поясняющая схема
🧩 Структура
🌐 Способ адресации
📦 Одна установка WordPressОдин набор файлов ядра
🌐 СетьСуперадминистратор
🗂️ Несколько сайтов
Основной сайт№ 1/wp-content/uploads/example.comexample.com
site1№ 2/wp-content/uploads/sites/2/site1.example.comexample.com/site1
site2№ 3/wp-content/uploads/sites/3/site2.example.comexample.com/site2
🔗 Общее для всей сети
Файлы ядраПлагиныТемаТаблицы пользователей
📁 Отдельно у каждого сайта
ЗаписиНастройкиМедиа
🌐 Адреса на поддоменах
https://site1.example.com/
wp-config.php · SUBDOMAIN_INSTALL = true
🌐 Адреса в подкаталогах
https://example.com/site1/
wp-config.php · SUBDOMAIN_INSTALL = false
Адрес записей основного сайта · https://example.com/blog/hello-world/
Файлы ядра, плагины, темы и таблицы пользователей общие для всей сети, а записи, настройки и медиафайлы хранятся отдельно для каждого сайта.
При поддоменах каждый сайт использует адрес вида site1.example.com, а значение [SUBDOMAIN_INSTALL] в wp-config.php — true.
При подкаталогах сайты используют адрес вида example.com/site1, а значение [SUBDOMAIN_INSTALL] — false. К адресам записей основного сайта добавляется [/blog/].

2️⃣ Поддомены и подкаталоги: формат адреса и ограничения выбора

При установке сети вы выбираете способ адресации сайтов: поддомены или подкаталоги. Поддомен — это адрес вида site1.example.com, а подкаталог (подпапка) — адрес вида example.com/site1.

ПараметрПоддоменПодкаталог
Адрес сайтаsite1.example.comexample.com/site1
Название в официальной документацииПо домену (domain-based)По пути (path-based)
Подготовка на сервереНаправить поддомены на папку установки WordPress в DNS и на сервереБез дополнительной настройки, если работают постоянные ссылки
Когда пользователи сами создают сайтыНужны поддомены с подстановочным знаком (wildcard)Без дополнительных условий
Когда выбрать нельзяКогда в адресе WordPress есть путь, или это localhost либо IP-адресСайты с записями, опубликованными больше месяца назад
Адрес записей основного сайтаБез изменений/blog/ перед адресом записей

При подкаталогах на сервере с работающими постоянными ссылками ничего дополнительно настраивать не нужно, но на сайте с записями, опубликованными больше месяца назад, этот способ выбрать нельзя. Ограничение нужно, чтобы адреса существующих записей не конфликтовали с адресами новых сайтов, поэтому такие сайты устанавливаются с поддоменами.

В сети на подкаталогах к адресам записей основного сайта добавляется [/blog/]. Так они не пересекаются с адресами подсайтов, а к адресам страниц это не добавляется.

Чтобы потом сменить выбранный способ, придётся пройти несколько шагов. По официальной документации, если изменить только значение [SUBDOMAIN_INSTALL] и правила перезаписи, адреса существующих сайтов не перенесутся, а DNS и сертификаты нужно настроить отдельно.

3️⃣ Подготовка к установке сети: резервная копия, постоянные ссылки и требования к серверу

Установка сети меняет файлы и базу данных существующего сайта, поэтому официальная документация советует сначала сделать резервную копию, если сайт не только что установлен.

Сделайте резервную копию базы данных и файлов, убедитесь, что постоянные ссылки работают, и деактивируйте все активные плагины. Снова активируйте плагины после создания сети.

Если вы планируете перенести WordPress в собственную папку, сделайте это до включения мультисайта. Если вы используете адрес с www при поддоменах, сделайте [Адрес WordPress (URL)] и [Адрес сайта (URL)] одинаковыми и завершите смену домена тоже до установки.

Если в адресе WordPress указан номер порта, отличный от :80 или :443, создать сеть нельзя.

Сервер должен обрабатывать правила перезаписи для мультисайта, а Apache нужен модуль mod_rewrite.

В конфигурации Nginx + Apache Nginx передаёт запросы Apache, а Apache читает .htaccess. После замены .htaccess правилами с экрана установки сети адреса подсайта открылись, а на стороне Nginx мы правил не добавляли.

На серверах только с Nginx WordPress не создаёт правила перезаписи, поэтому конфигурацию Nginx из официальной документации нужно добавить прямо в файл конфигурации сервера.

В средах, где вы не можете сами менять конфигурацию сервера, например на виртуальном хостинге, такие условия, как поддомены с подстановочным знаком, нужно согласовать с хостинг-провайдером (по официальной документации).

4️⃣ Порядок установки сети

  • ↪️ WP_ALLOW_MULTISITE и экран установки сети

Константа [WP_ALLOW_MULTISITE] в wp-config.php только показывает меню [Инструменты] › [Установка сети], сама по себе она мультисайт не включает. Сеть включается только после установки на этом экране и добавления показанных там строк в wp-config.php и .htaccess.

Откройте wp-config.php и над комментарием об окончании редактирования добавьте строку, которая задаёт [WP_ALLOW_MULTISITE] как true. Комментарий об окончании редактирования — это строка /* That’s all, stop editing! Happy publishing. */; после сохранения обновите страницу в браузере.

define( 'WP_ALLOW_MULTISITE', true );

После обновления в меню [Инструменты] под [Удаление персональных данных] появляется [Установка сети], а по нажатию открывается экран [Создать сеть сайтов на WordPress].

Экран установки сети: Установка сети в меню Инструменты слева · Установка в подкаталог · Адрес сервера · Название сети · E-mail администратора сети · кнопка Установить

WordPress, установленный в подпапку, не показывает поле выбора способа адресации — только строку [Установка в подкаталог]. Текст этой строки: [Поскольку ваш сайт установлен в каталог, сайты вашей сети должны использовать подкаталоги.]

Проверьте [Название сети] и [E-mail администратора сети] и нажмите [Установить].

По официальной документации, в установках, где можно выбрать способ адресации, при выборе поддоменов появляется подсказка о wildcard-DNS, и это условие нужно только для сетей, где пользователи сами создают сайты.

После установки на экране показываются строки для wp-config.php и правила для .htaccess, подобранные под этот сайт. Сделайте резервную копию обоих файлов, вставьте строки в wp-config.php под строкой [WP_ALLOW_MULTISITE], а в .htaccess замените прежние правила WordPress новыми.

Экран установки сети после установки: правила конфигурации сети для wp-config.php · правила конфигурации сети для .htaccess · ссылка Войти

В инструкции на экране после установки комментарий об окончании редактирования показан в переводе на язык админки, но комментарий в самом wp-config.php остаётся на английском.

В wp-config.php добавляются шесть констант, в том числе [MULTISITE] и [SUBDOMAIN_INSTALL]. Значение [SUBDOMAIN_INSTALL] — true при поддоменах и false при подкаталогах.

В [DOMAIN_CURRENT_SITE] и [PATH_CURRENT_SITE] указываются домен и путь установки сайта. Ниже — строки для установки в корне example.com с подкаталогами.

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

В этом же случае правила WordPress в .htaccess заменяются на следующие, а в строке [RewriteBase] указывается путь установки.

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
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]

Сохраните оба файла и снова войдите по ссылке [Войти] на экране — в панели инструментов под [Мои сайты] появится [Управление сетью]. Если войти не получается, очистите кэш и cookie браузера и войдите снова.

Экран меню Мои сайты: Мои сайты › Управление сетью › Консоль · Сайты · Пользователи · Темы · Плагины · Настройки в панели инструментов

В [Управление сетью] шесть меню: Консоль, Сайты, Пользователи, Темы, Плагины и Настройки, а по нажатию [Сайты] открывается список сайтов сети.

Экран Сайты в управлении сетью: список из двух сайтов — основного и одного подсайта · кнопка Добавить сайт рядом с заголовком

Подсайты добавляются через [Добавить сайт] рядом с заголовком списка или слева через [Сайты] › [Добавить сайт].

Экран Добавить сайт: Адрес сайта (URL) · Название сайта · Язык сайта · E-mail администратора · кнопка Добавить сайт

В [Адрес сайта (URL)] можно вводить только строчные буквы, цифры и дефисы, а если [E-mail администратора] нет в базе данных, создаётся новый пользователь.

После добавления одного подсайта в папке загрузок появилась папка [sites/2], а в базе данных добавилось 10 таблиц с номером сайта после префикса, например [wp_2_].

Постоянные ссылки подсайта не следуют настройкам основного сайта и начинаются со стандартной структуры с годом, месяцем, днём и названием записи, поэтому их задают отдельно в настройках постоянных ссылок подсайта.

В симуляторе ниже можно по порядку пройти путь от [Инструменты] › [Установка сети] до [Добавить сайт].

🧭 Симулятор установки сети WordPress Multisite
wp-adminСимулятор пути
도구›네트워크 설치
My Site
워드프레스 사이트의 네트워크 만들기

네트워크 설치 절차에 오신 것을 환영합니다!

아래의 정보를 채우고 워드프레스 사이트의 네트워크를 만들 수 있습니다. 다음 단계에서 구성 파일을 만들 것입니다.

경고: 이 설치의 끝에 사용할 아파치 mod_rewrite 모듈을 설치했는지 확인하기 바랍니다.
네트워크 세부사항
하위 디렉터리 설치하기
설치가 디렉터리에 있기에, 워드프레스 네트워크의 사이트는 하위 디렉터리를 사용해야만 합니다.
서버 주소
네트워크의 인터넷 주소는 example.com이(가) 될 것입니다.
네트워크 제목
My Site 사이트네트워크를 무엇으로 부르는 것이 좋을까요?
네트워크 관리자 이메일
you@example.com이메일 주소입니다.
My Site
워드프레스 사이트의 네트워크 만들기
네트워크 활성화하는 중

다음 단계를 완료하여 사이트의 네트워크 만들기 기능을 활성화하세요.

주의: 기존의 wp-config.php 및 .htaccess 파일을 백업 해야합니다.
  1. /var/www/html/wp/의 wp-config.php파일에 /* 그게 다입니다. 편집을 멈추세요! 즐겁게 발행하세요. */행 위에 다음을 추가합니다:
    wp-config.php에 대한 네트워크 환경설정 규칙
    define( 'MULTISITE', true );
    define( 'SUBDOMAIN_INSTALL', false );
    define( 'DOMAIN_CURRENT_SITE', 'example.com' );
    define( 'PATH_CURRENT_SITE', '/wp/' );
    define( 'SITE_ID_CURRENT_SITE', 1 );
    define( 'BLOG_ID_CURRENT_SITE', 1 );
  2. 다른 워드프레스 규칙을 교체하는 /var/www/html/wp/의 .htaccess 파일에 다음을 넣습니다:
    .htaccess에 대한 네트워크 환경설정 규칙
    RewriteEngine On
    RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /wp/
    RewriteRule ^index\.php$ – [L]
     
    # add a trailing slash to /wp-admin
    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 Site
네트워크 관리자My Site
알림판사용자테마플러그인설정
알림판
내 사이트My Site
사이트
URL등록됨사용자
example.com/wp — 메인편집 | 알림판 | 방문2026/10/271
내 사이트My Site
사이트 추가하기
사이트 주소 (URL) *
example.com/wp/site1소문자(a-z), 숫자, 그리고 하이픈만 허용합니다.
사이트 제목 *
Site 1
사이트 언어
한국어
관리자 이메일 *
you@example.com

위의 이메일 주소가 데이터베이스에 없으면 새 사용자를 만들 것입니다.
비밀번호를 설정하는 사용자 이름과 링크를 이 이메일 주소로 보낼 것입니다.

5️⃣ Когда мультисайт не подходит

  • ↪️ Общие данные и пользователи между сайтами

Мультисайт подходит, когда, как у региональных сайтов, темы и плагины общие, а контент ведётся отдельно. Если сайтам нужно тесно делить данные или пользователей, официальная документация отмечает, что мультисайт может быть не лучшим решением.

Если нужно только, чтобы дизайн выглядел по-разному, это решается на одном сайте плагином, который переключает темы или таблицы стилей. Если каждой группе пользователей нужно видеть только разную информацию, это тоже можно сделать на одном сайте плагинами, меняющими права и меню.

Сначала проверьте и плагины, которые вы используете. Не все плагины из каталога плагинов работают в мультисайте, поэтому официальная документация советует уточнить поддержку на странице плагина или у разработчика.

🔢 FAQ & рекомендуемые материалы

Начиная с WordPress 4.5, сопоставление доменов стало встроенной функцией мультисайта, поэтому к подсайту можно подключить отдельный домен, например example2.com. По официальной документации, и в этом случае DNS домена направляют на IP сервера, а сервер настраивают так, чтобы он отправлял этот домен в папку установки WordPress.

Плагины, установленные на экране плагинов в [Управление сетью], активируются для каждого сайта отдельно или сразу для всех сайтов через [Активировать для сети]. Плагины, активированные для сети, отмечены в списке плагинов каждого сайта как [Активирован для сети], и администраторы сайтов не могут их деактивировать. Если активировать тему для сети, тема сайтов не меняется — она только добавляется в список, из которого каждый сайт может выбирать.

Файлы ядра, тем и плагинов общие для сети, поэтому их обновляют один раз на экране обновлений в [Управление сетью]. После обновления ядра запустите [Обновить сеть] — изменения базы данных каждого сайта применяются по очереди, по пять сайтов за раз.

ℹ️ О партнёрских ссылках
Материалы этого сайта содержат партнёрские ссылки. Если посетитель покупает товар или услугу по такой ссылке, сайт получает комиссию от продавца. При этом сумма, которую платит покупатель (при акционных скидках сумма снижается ↓), не увеличивается. Указанные цены, скидки и наличие актуальны на момент написания и могут отличаться, поэтому перед покупкой уточняйте их у продавца. Товары выбираются и оцениваются по нашим собственным критериям, а комиссия не влияет ни на порядок, ни на содержание обзоров.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Докажите, что вы человек: 0   +   6   =