Мультисайты на WordPress
- 04.03.2020 23:07
- 2
- 734
Начиная с версии 3 WordPress подарил нам прекрасную возможность создавать мультисайты. Это несколько отдельных сайтов, с одним супер-администратором и одной админкой. Сеть может состоять из любого количества ресурсов, каждый из которых имеет своего админа.
В данной статье я расскажу Вам, как создавать сеть сайтов на WordPress.
Кстати, до версии ВП 3.0 эта функция тоже была доступна, но работала она в качестве плагина. Позже стала полноценной частью системы.
Особенности Вордпресс Мультисайт
Первой и главной особенностью мультисайтовости является то, что у Вас будет установлена одна система WordPress, из которой можно управлять всеми сайтами сети. Это, в свою очередь, дает следующие плюсы:
- Обновления системы устанавливаются всего один раз, и сразу на все сайты.
- Плагины также устанавливаются и обновляются один раз для всех сайтов сети.
- Тема тоже может быть одна для всех.
Второе – это единая база данных.
- Пользователь, который создал аккаунт на одном сайте, будет зарегистрирован и на остальных.
- Пользователям можно дать разрешение создавать сайты в рамках сети.
Третье – каждый сайт может быть размещен как в отдельном подкаталоге (адрес вида site.ru/1), так и на поддомене (адрес вида 1.site.ru). Также, с помощью плагина WordPress MU Domain Mapping можно организовать для каждого ресурса в сети отдельный домен.
Универсальность – это хорошо. Но она влечет и проблемы:
- Множество плагинов не умеют работать с мультисайтами.
- Объем БД может вырастать до астрономических размеров.
- Такую сетку сложнее поддерживать. Она требует больше знаний и внимательности.
- Хостинг под это дело нужен весьма мощный.
- Общий доступ к БД и FTP, что может быть проблемой при доработке отдельного сайта сети.
- Неудачные обновления могут поломать всю сетку сайтов.
Когда Multisite может быть полезным?
В подавляющем большинстве случаев мультисайтовость не пригодится. Проще поставить один раз WordPress, сделать дамп с помощью плагина Duplicator и разворачивать сайты за считанные минуты (полностью настроенные и готовые к работе).
Но есть случаи, когда Multisite бывает просто незаменим:
- Многоязычные сайты. К примеру, есть у меня мысль сделать из моего бурж-сайта мультиязычный проект. Многие аффилейты так делают.
- Связанные между собой проекты. К примеру, фирма, которая занимается разными услугами или группами товаров, чтобы не размывать трафик, может делать мультисайты.
- В случаях, когда нужна одна учетка на несколько сайтов (это в Кодексе так написано, не знаю, что мешает админу при установке ВП вписывать одни и те же доступы).
Как установить WordPress Multisite
В процессе установки нет ничего сложного. Для начала нам потребуется в уже установленной системе ВП включить поддержку MU. Для этого нужно:
- Открыть файл wp-config.php, который находится в корне сайта.
- Добавить в код строку:
define( 'WP_ALLOW_MULTISITE', true );
Лучше это делать перед информацией о базе данных. Вот как получилось у меня:
Мы включили поддержку MU и возможность ее установки. Далее нужно запустить эту самую установку.
Переходим в админку. В разделе Инструменты > Установка сети нужно выбрать тип устанавливаемой сетки: поддомены или подкаталоги.
Я советую выбирать поддомены. С ними меньше мороки и не будет конфликтов УРЛ, когда сайты разрастутся. Но есть один нюанс: сервер, на котором будет расположена система, должен быть настроен определенным образом. Пишите в поддержку и просите их настроить сервер соответствующим образом (для работы с WordPress Multisite).
Итак, выбрали режим. Нажимаем кнопку «Установить». Далее просто следуйте инструкции. Какие-то особенностей там нет. Нужно будет просто добавить несколько строк кода в файлы .htaccess и wp-config.php.
Следуя инструкции, установка займет минут 10. После завершения нужно будет опять войти в админку, но уже в роли супер-админа.
Управление сеткой WordPress
После установки Mulisite в админке появится новый пункт «Управление сетью». Теперь это – самый важный для Вас пункт меню. Он позволяет перемещаться между админками сайтов, управляя каждым из них с одной панели.
При выборе сайта в «Управлении сетью» Вы будете перемещены в обычную админку ВП. В ней уже можно устанавливать темы, плагины, управлять юзерами. В общем, все как всегда. Единственным отличием будет возможность приклеивать пользователей, зарегистрированных на одном из сайтов сети, ко всем остальным.
При установке плагинов супер-админ (царь, короче) может активировать plugin для всей сетки сразу. А можно перейти в админки нужных сайтов и задействовать его там. Очень удобно.
С темами та же история: можно использовать одну на всю сеть. Если хотите для каждого сайта отдельную – через выбор сайтов устанавливаете каждому ресурсу отдельный шаблон.
Отличия WordPress Multisite от обычного Вордпресса
Разницу в интерфейсе я уже объяснил. Теперь давайте разберемся в ядре.
Итак, отличия касаются только файлов в папке uploads. Для главного сайта – все по стандарту. А вот для остальных сайтов будут создаваться подпапки. К примеру, каталог /uploads/21 будет содержать загруженные файлы для сайта с id = 21.
В базе данных же изменения будут серьезнее:
- Добавится 6 таблиц, который в стандартной Вордпресс нет. При этом таблицы users и usermeta становятся общими для всех сайтов сети. Новыми таблицами будут следующие: wp_blogs (содержит все сайты, входящие в сетку), wp_blogmeta (глобальные опции сайта), wp_blog_versions (версии баз данных всех сайтов), wp_registration_log (информация о всех администраторах всех сайтов), wp_site (адреса всех сайтов), wp_usermeta (сведения о всех сайтах сетки: опции, плагины, темы и т.д.).
- Базовые таблицы БД (wp_posts, wp_postmeta, wp_options, wp_terms и прочие) будут создаваться отдельно для каждого сайта. К примеру, для сайта с id = 1 будут назначены такие таблицы: wp_1_posts, wp_1_postmeta, wp_1_options и т.д.
Вот и все, что я хотел рассказать о WordPress Multisite. Помните, что использовать возможность нужно только в том случае, когда это будет реально оправдано. Если у Вас 2 разных сайта, не нужно объединять их в мультисайт. Проще будет управлять ими по отдельности.
Здравствуйте, решил сделать свой гемблинг сайт, думал зайду на wp, возьму шаблон по типу «astra», переделаю под себя и всё, но например сделать таблицу «Рейтинг казино» и т.д. не понимаю как, нужно ли знать html и css, чтобы это реализовать? Спасибо.
А как же ты собирался переделывать всё под себя, если у тебя нет начальных знаний html и css?