Как включить мультисайт и создать сеть сайтов на Вордпресс

9 января 2017 8 643 17

Разбираемся, зачем нужен мультисайт Вордпресс, создаём на конкретном примере сеть сайтов и собираем в неё уже имеющиеся сайты.

Продающие лендинги

Ранее мультисайт существовал в виде отдельного проекта, назывался WordPress MU и развивался параллельно с обычным WordPress вплоть до версии 3.0, в которой произошло их объединение. Получается, что сеть можно развернуть на любом сайте с WordPress от 3.0 и выше.

Мультисайт (multisite) — это режим работы WordPress, позволяющий использовать имеющиеся файлы ядра и существующую базу данных для создания сети из сайтов WordPress.

Для чего нужен режим мультисайт в WordPress

Мультисайт WordPress позволяет создавать внутри платформы отдельные сайты, управлять ими, распределять между пользователями права на управление сайтами.

По-умолчанию создавать новые сайты может только суперадминистратор, развернувший сеть и имеющий полный контроль над ней. Но можно разрешить создавать свои сайты (блоги) и другим группам пользователей.

Связывать сайты в сеть имеет смысл когда уже есть или только планируется запуск нескольких небольших сайтов на WordPress. Мультисайт значительно упростит процесс управления ими. Объединение крупных сайтов может повлечь проблемы, об этом ниже.

Плюсы мультисайта

Плюсов у мультисайта намного больше, чем минусов. 

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

2. Три способа размещения внутренних сайтов.

  • В подкаталогах;
  • В поддоменах;
  • В доменах второго уровня;

3. Экономия дискового пространства за счёт использования одного ядра, одной копии каждого плагина и темы.

4. Физически сеть — это один сайт, тем самым обходится ограничение хостера на количество сайтов, БД и т.д.

Недостатки мультисайта

Недостатков как таковых нет, но есть несколько нюансов.

Я не рекомендую связывать в сеть очень крупные сайты, это может создать высокую нагрузку на сервер. Кроме того, при слиянии БД может раздуется до таких размеров, что упрется в ограничение хостера. Крупным сайтам все таки лучше работать независимо друг от друга.

Если в цифрах, для виртуального хостинга БД размером более 1Гб может создать проблемы.

Кому может пригодиться мультисайт

Сложно придумать все ситуации, когда может пригодиться мультисайт. Приведу несколько примеров из практики.

Самый банальный — когда имеется несколько независимых сайтов, их объединяют в одну сеть и линкуют каждый из них к своему домену.

Часто для решения маркетинговых задач необходимо периодически создавать вокруг головного сайта разные промо-сайты и лендинги. Мультисайт — лучшее, что можно придумать для этого.

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

В корпоративных проектах мультисайт часто используется для создания на поддоменах сайтов региональных и других подразделений с наделением персонала соответствующими правами управления.

Мультисайт — идеальное решение для мультиязычных сайтов на WordPress. В отличие от мультиязыковых плагинов дает полную свободу действиям.

Ещё одна задача, над которой мне приходилось работать — это коллективная сеть блогов. Каждый блог из себя представлял сайт внутри сети, имел собственного админа, авторов. Регистрация новых блогов осуществлялась по инвайтам, который получали самые активные комментаторы. На головном же сайте выводились самые горячие темы из всех блогов сети, подборка новых тем, топы авторов и комментаторов.

И это далеко не все.

Как перевести WordPress в режим мультисайт

С подробной инструкцией по созданию сети можно ознакомиться в Кодексе Вордпресс. Там же можно найти и все системные требования.

Перед стартом обязательно сделайте полную резервную копию сайта.

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

Итак, первое, что необходимо сделать — это передать управление поддоменами WordPress.

Для этого идем в настройки WWW-домена и в качестве псевдонима задаем такую маску *.danilin.biz, вместо danilin.biz указываем свой домен, разумеется.

Настройка WWW-домена в ISP менеджере

Для инициализации режима мультисайт в wp-config.php добавляем такую строку:

define('WP_ALLOW_MULTISITE', true);

После чего в Инструментах появится новый пункт меню «Установка сети». На данном этапе задается адресация сайтов: в подкаталогах или поддоменах — это самый важный момент, пожалуй.

Установка сети в Вордпресс

Выбираем «Поддомены», придумываем название сети и нажимаем кнопку «Установить». Затем WordPress предложит добавить несколько записей в wp-config.php и .htaccess. И все — сеть установлена.

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

Настройка сети Вордпресс

Как перенести сайты в сеть сайтов WordPress

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

Список сайтов в сети Вордпресс

Перенести все имеющиеся сайты в сеть очень просто. Процедура производится штатными средствами WordPress, и её можно условно разбить на 5 шагов.

1. Создать новый сайт в сети

Здесь ничего сложного. Обратите внимание на e-mail администратора, если указать e-mail не такой как у суперадмина, то будет создан новый пользователь.

Добавить новый сайт в сеть сайтов Вордпресс

2. Копировать и активировать тему

Подключаемся к серверу по FTP и копируем активную тему в новый сайт. Напомню, темы в WordPress располагаются в директории «wp-content/themes/».

3. Копировать и активировать все активные плагины

То же самое, все плагины здесь: «wp-content/plugins/».

4. Экспортировать контент сайта

Экспорт производится стандартным образом — «Инструменты Экспорт».

Экспорт контента в Вордпресс

Нажимаем кнопку «Скачать файл экспорта» и сохраняем XML-файл.

5. Импортировать контент сайта

На новом сайте воспользуемся стандартной функцией импорта WordPress.

Импорт контента в Вордпресс

Здесь важно указать пользователей, с которыми будут связаны импортируемые записи. Их можно создать заранее, а можно на этапе импорта.

Второе — обязательно ставим галочку «Скачать и импортировать файлы вложений». Если вложений много, импорт может затянуться. Если по каким-то причинам импорт прервется, его можно начать сначала, при этом загрузка вложений возобновится с места разъединения.

Как привязать сайт к домену второго уровня внутри сети сайтов WordPress

Как уже говорилось в начале поста, для этого необходимо, чтобы сайты работали на поддоменах. Если все работает, тогда устанавливаем плагин WordPress MU Domain Mapping.

WordPress MU Domain Mapping

Плагин WordPress, который позволяет в мультисайтовом режиме сопоставлять сайты сети с внешним доменами.

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

  1. Создать в директории wp-content файл sunrise.php
  2. В wp-config.php добавить строку: define(‘SUNRISE’, ‘on’);

Как скопировать сайт внутри сети сайтов WordPress

Нужно отметить, что для мультисайта WordPress имеется ряд очень полезных плагинов, и один из них — это MultiSite Clone Duplicator, который позволяет буквально в один клик клонировать сайты внутри сети.

MultiSite Clone Duplicator

Плагин WordPress, который позволяет в мультисайтовом режиме клонировать сайты вместе с записями, настройками и файлами.

После активизации плагина, в списке сайтов появится ссылка «Duplicate», кликнув по которой попадем в такой интерфейс.

Клонирование сайтов в Вордпресс

Выбираем сайт-исходник, который будем клонировать, указываем название нового сайта, его адрес, админа и нажимаем Duplicate.

Всё.

В заключение

Режим мультисайт позволяет взглянуть на WordPress под новым углом, и открывает совершенно новые горизонты использования платформы.

Подпишитесь на мой телеграм и первыми получайте новые материалы, в т.ч. которых нет на сайте.

INNERSTAT
Лучшее за неделю

Подпишитесь на рассылку и получайте новые материалы на электронную почту

Иван Данилин

Практикующий веб-разработчик, специализируюсь на платформе Вордпресс.

Комментарии
  1. У Вас в коде Для инициализации режима мультисайт в wp-config.php добавляем такую строку: не хватает буквы d в слове define
  2. Иван, почему может не открываться сайт на поддомене? Ошибка 404, все сделано по правилам, в чем может быть проблема?
    • Может быть у вас установлен SSL-сертификат, нужно выяснить поддерживает ли он поддомены, настроить.
  3. Спасибо за полезную статью.
    Однако я не совсем понимаю сможет ли в моем случае спасти мультисайтовость:
    Есть плагин — очень нужный и важный (точка продаж для интернет-магазина).
    Все бы ничего — да только этот плагин, при его активации, начинает просто сжирать производительность всего сервера (не совсем понятно почему постоянно жрет, а не только в процессе работы, но тут уж никуда не деться).
    Так вот задумка уже дошла до такого:
    — Сайт1 работаетна VDS, есть шаред хостинг с приемлемыми ресурсами.
    — Сделать поддоменный мультисайт ТОЧКА-ПРОДАЖ.Сайт1, и поддомен направить на шаред хостинг, где будет развернуто зеркало Сайт1.
    — И вот этот плагин запустить на этом шаринговом хостинге и пусть он там грузит долго и упорно )))

    Вопрос вот в чем — сработает ли эта схема? Или же все это будет лишь дубляж сайта, изменения на котором не будут отображаться на основном Сайт1, т.е. если на ТОЧКА-ПРОДАЖ.Сайт1 создается заказ в woocommerse — то на Сайт1 так же будет создан заказ со всеми вытекающими последствиями?
    • А вы уверены, что шаред хостинг не заблокирует аккаунт за нагрузку? Там это быстро делается. Я думаю, стоит детальнее изучить работу плагина, понять, какие конкретно процессы грузят сервер. Хорошо бы найти нормального админа, который бы грамотно сконфигурировал сервер в соответствии с потребляемой нагрузкой. Часто бывает достаточно включить PHP7+ с кешированием и все начинает летать.

      Насчет решения сомневаюсь. Мультисайт — физически это один сайт с одной БД, разнести их по разным серверам вряд ли получится. ТОлько если дублировать и зеркалить какими-то иными средствами, что теряет смысл, наверное
  4. Иван, Здравствуйте!

    Подскажите, пожалуйста, как можно клонировать основной сайт на все поддомены, чтобы при публикации одной записи на основном сайте она публиковалась на всех сайтах в мультисети? И можно ли реализовать также редактирование шаблона на основном сайте, но чтобы он менялся на всех?
    • Добрый день, шаблон можно использовать один для всех сайтов сети, изменения будут применяться везде. Для создания клона можно использовать плагин из статьи — MultiSite Clone Duplicator. С кросспостом не сталкивался, но вижу есть решения типа WPArtisan Multisite Crossposter и т.п.
  5. У меня в админке в списке сайтов для быстрого перехода отображается только часть сайтов. Половина пропала. В чем может быть проблема?
  6. Уважаемый автор, а при высоконагруженных проектах, как обстоят дела с производительностью и загрузкой сервера для мультисайта? Не будет ли падать скорость выдачи страницы пользователю? И, если «ДА», то как решить этот вопрос?
    • К сожалению, у меня нет личного опыта по этому вопросу. Многие пишут, что разницы нет. Но цифр под нагрузкой никто не показывает 😎
  7. Скажите, а есть какое-нибудь решение для быстрого (автоматизированного) создания поддоменов (сети) для всех городов России?
  8. Сделал все как написано, но когда перехожу на сайт вижу сообщение Safari не может найти сервер. Что то не так сделал?
  9. Здравствуйте!
    У меня сайт на конструкторе, mesto-vctre4i.ru, я загрузил с хоста приложение vordpress на поддомен. Как вы думаете, можно для описаной вами сети, использовать остальные поддомены этого же домена на этой же БД, или лучше поддомен с основным сайтом сети, вынести на отдельную БД? Или может для основного сайта этой сети нужен не поддомен, а отдельный домен?
    Просто мне сказали, что сайт конструктор, не нагружает БД, в которой он находится.
  10. Спасибо автору за развернутую статью, но у меня вопрос — при создании мультисайта основной домен должен создавать папки с поддоменами на хостинге или он все хранит только в 1 базе и в папках на основном домене?
Добавить комментарий

Премиум-темы для Вордпресс с русскоговорящей поддержкой
Подробнее