WordPress multisite

WordPress Multisite is a collection of independent websites sharing the same WordPress installation. The sites in the network are virtual sites, meaning that they do not have their own directory on the server, although they do have separate directories for media uploads and separate tables in the database.

In this post I will introduce you to WordPress Multisite. It will be a basic user guide aiming to point out the pros and cons of Multisite vs single site installations, and to show you how to turn a single WordPress site into a Multisite network.

First, I will try to give you an idea of the many reasons you may have to install a network, and conversely of the many factors that could prevent you from installing a Multisite. Following, I will provide an overview of the available types of networks, I will describe the main characteristics of each type, and the system requirements that could force you to choose a type instead of another. Finally, we will dive deep into the installation process, and I will show you how straightforward it is migrating from a single WordPress installation to a Network of sites.

Notice: chances are that, after reading this post, you will switch from your single WordPress install to a Multisite install.

Forewords: Pros and Cons of WordPress Multisite

You might have good reasons to migrate from a single site to a Multisite installation. First, a Multisite allows you to build a network of independent websites, and could give the site users the possibility of joining the network by creating their own blogs on demand, just like WordPress.com users do.

You could think this service not to be in your business, and nevertheless, you may decide to switch to WordPress Multisite to save time and work. With a Multisite you can set up a number (even a huge number) of websites and manage them from a single WordPress installation. In a Multisite, you’ll need to update core, themes and plugins only once, because all sites in the network share the same installation.

A Multisite may save you a lot of time and definitely increase efficiency in your work.

Finally, if you’d need to present living examples of your work, you may switch to Multisite and activate one sub-site for any project (thanks to Rachel for this suggestion). This practice would help you to improve your professional image, provides a high-quality service to your clients, and helps you to keep your work well organized.

Of course, if you are a Kinsta customer, this point will not be relevant to you, since Kinsta offers staging environments that allow you to create test sites you can show to your customers before pushing staging to live.

Actually, switching to Multisite is not always possible. Our first and most important consideration is related to security: if your website should be hacked, the whole network would be compromised. If you decide to switch to Multisite, consider the opportunity to spend much time and resources to improve the installation security.

Useful reading: Recommended WordPress Multisite Plugins (Migrations and Backups)

Multisite is not an option when you need to share information between sub-sites. If you’d want to build a network of interconnected websites sharing users or data, you may consider to install a single WordPress website, and divide it into sections instead of a collection of separated sub-sites.

Moreover, there are a lot of other reasons that could prevent you from installing a Multisite. Some of these reasons depend on your client’s requests and needs, others are related to system requirements and server settings. Sometimes you can overcome technical limitations with the help of your hosting provider, but sometimes you should definitely turn to a more advanced hosting service.

SubDomains and SubFolders

Depending on the way it handles URLs, Multisite provides two different network types:

  • Domain-based networks (SubDomains)
  • Path-based networks (SubFolders)

A domain-based network uses URLs like http://mysite.network.com. These domain names could be properly configured in several ways. The Codex suggests one of the following:

  • Configuring wildcard subdomains
  • Configuring virtual hosts
  • Creating addon domains or subdomains in the web hosting control panel

A path-based network uses URLs like http://network.com/mysite. This type of network requires Pretty Permalinks enabled to work properly. Whichever the type of network you’re planning to install, you can map external domains to existing sub-sites. Starting from WordPress 4.5, domain mapping is a core feature in WordPress Multisite, and we don’t need anymore a third party plugin like WordPress MU Domain Mapping. You can read more on Multisite domain mapping here on Kinsta blog (How to Setup WordPress Multisite Domain Mapping).

Once you’ve decided which type of Multisite to install, you should prepare the existing WordPress installation to become a network:

  • Update the existing install and execute a complete back-up of files and database.
  • Check if Pretty Permalinks work properly.
  • Deactivate all active plugins. You will reactivate them later.
  • If you’re planning to run WordPress out of its own directory, configure your installation before activating Multisite.

Finally, we can begin with the installation process.

Installing the Network

Before we can install WordPress Multisite, we have to enable the Network setup functionality. To accomplish this task, we just need to define the WP_ALLOW_MULTISITE constant in wp-config.php:

/* Multisite */  define( 'WP_ALLOW_MULTISITE', true );  

This code must be added above the following commented line:

/* That's all, stop editing! Happy blogging. */

Update wp-config.php and refresh the page: the Network setup menu item will appear under Tools menu. If WordPress would remind you to disable all active plugins, deactivate them, then get back to the Network setup admin page.

Now we have to choose the type of network we’re going to install between domain-based and path-based options.

In order to avoid conflicts between the URLs of the original site pages and the URLs of the new sites of the Network, at this moment we will not be allowed to create a domain-based network on those installs that are older than one month. Anyway, as I will explain in a moment, you can manually edit wp-config.php later to switch to a SubDomain Network.
This page displays the Server address, and two form fields whose values set the Network title and the Network admin email.

Next, back-up the existing wp-config.php file and run the Network setup.
In the succeeding page, WordPress provides detailed instructions on the changes to do in the configuration files. In wp-config.php file define the following constants:

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

Define SUBDOMAIN_INSTALL to true if you’re installing a domain-based network, to false if you’re installing a path-based network. You could change the network type later, although WordPress warns that it won’t be possible.

Note: in order to avoid conflicts between an existing post or page slug and a website’s path, WordPress won’t allow you to install a path-based network in installations older than one month. Anyway, you could install a domain-based network, then switch to a path-based network later by changing the value of SUBDOMAIN_INSTALL in wp-config.php.

Apache users should replace the existing .htaccess directives. The new file will be a bit different between SubFolder and SubDomain installs. The following example shows the .htaccess file of a SubFolder install:

RewriteEngine On  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]  

In a SubDomain install the .htaccess file will change as follows:

RewriteEngine On  RewriteBase /  RewriteRule ^index.php$ - [L]    # add a trailing slash to /wp-admin  RewriteRule ^wp-admin$ wp-admin/ [R=301,L]    RewriteCond %{REQUEST_FILENAME} -f [OR]  RewriteCond %{REQUEST_FILENAME} -d  RewriteRule ^ - [L]  RewriteRule ^(wp-(content|admin|includes).*) $1 [L]  RewriteRule ^(.*.php)$ wp/$1 [L]  RewriteRule . index.php [L]  

When you’re done with wp-config.php and .htaccess, logout and login again. The My Sites menu should appear on the left side of the WordPress toolbar.

The Network is up and running, and now we can enable the plugins we previously disabled.

kinsta.com

Что такое Multisite и чем он отличается от обычного WordPress?

Итак, разобравшись с терминологией, перейдем к знакомству с WordPress Мультисайт!

Кодекс WordPress определяет Multisite как:

Функция WordPress 3.0 и более поздних версий, позволяющая нескольким виртуальным сайтам совместно использовать одну установку WordPress.

Это означает, что, устанавливая WordPress только один раз на вашем сервере, вы можете запускать столько сайтов, сколько хотите. Самое замечательное в WordPress Мультисайт то, что сама установка почти такая же, как стандартная установка WordPress: она имеет ту же структуру папок, те же основные файлы и одну и ту же базу кода. Это означает, что установка сети Multisite не сложнее, чем установка стандартного сайта WordPress. Все темы и плагины вашей сети устанавливаются только один раз, независимо от того, для скольких сайтов вы их планируете использовать.

Но есть несколько отличий в админке, в файлах вашей установки WordPress и в таблицах базы данных.

Административная панель WordPress Мультисайт

Когда вы активируете Multisite, в вашей админпанели появятся дополнительные окна.

1

Они доступны только для Super Admin, который управляет сетью (это вы), и позволят вам устанавливать темы и плагины, создавать сайты и управлять ими. Панель администратора, к которой может обращаться каждый администратор сайта, похожа на стандартный сайт WordPress. Поэтому вы легко сможете в ней разобраться, если ранее использовали WordPress.

Установочные файлы в Multisite WordPress и их особенности

Что касается установочных файлов, то тут всего два отличия, и они касаются наличия: файла wp-config.php и папки wp-uploads folder.

В файле wp-config.php будут добавлены дополнительные строки, которые активируют Multisite и сообщают WordPress, как он работает. Папка wp-uploads folder будет содержать подпапку для каждого сайта в сети, с числовым ID сайта в качестве ее имени. Файлы, загруженные на каждый сайт, хранятся в папке этого сайта в той же структуре, где вы, как правило, ожидаете их увидеть (в папке wp-uploads folder) в стандартной установке WordPress.

Отличительные особенности базы данных Мультисайта WordPress

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

Но, это то, что происходит “за кулисами” и о чем вам никогда не нужно беспокоиться.

Когда использовать Multisite?

Использовать WordPress Мультисайт можно, как:

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

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

Многие компании также используют Multisite для размещения нескольких сайтов, которые они администрируют сами. Примером является BBC America, которая использует Multisite для размещения своей сети блогов.

2

Существует также множество примеров сетей Multisite, которые позволяют пользователям создавать свой собственный сайт. Самый большой, WordPress.com, владелец огромного количества шаблонов, бесплатных для использования, с премиальными темами и плагинами, по доступным ценам.

3

Когда не стоит использовать Multisite?

Хотя Мультисайт WordPressотличный инструмент, но он не всегда нужен. Вот несколько примеров того, когда вам не нужен Multisite:

  • Вы хотите создать один сайт или блог и не больше.
  • Вы создаете сайты для нескольких клиентов, но каждый из них будет размещаться отдельно.
  • Каждому создаваемому сайту будет нужна отдельная база данных (возможно, из соображений безопасности).
  • Каждому сайту нужен собственный IP-адрес.
  • Администраторам сайта необходимо будет установить собственные темы или плагины.
  • Вы планируете перенести свои сайты на другой сервер.
  • У вас нет доступа к файлам на вашем сервере для редактирования.

 Если одно из вышеуказанных условий относится к вам, то Мультисайт вам не нужен!

Заключение

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

Активация Multisite потребует всего нескольких дополнительных шагов после установки WordPress, а управление сетью и создание сайтов не вызовет затруднений. Конечно админпанель выглядит немного иначе, но если вы работали со стандартным сайтом WordPress, то все будет вполне понятно!

www.templatemonster.com

Режим WordPress Multisite

Долгое время WordPress MU был отдельным проектом, а начиная с версии WordPress 3.0, проект MU вошел в состав ядра и получил новое название Multisite.

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

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

В режиме сети есть так же и свои недостатки, например объем базы данных, который растет при добавлении каждого нового сайта. Ресурсы хостинг-площадки становятся общими для всех сайтов в сети, включая например доступ к ней по FTP. Грамотное построение архитектуры сети позволит решить многие из этих проблем.

Когда стоит использовать Multisite

Режим Multisite стоит использовать:

  • Если вы управляете более одним сайтом на WordPress
  • Если в вашей компании несколько отделов и у каждого отдела есть свой сайт
  • Когда необходимо иметь одну учетную запись для входа на два и более сайтов
  • Когда есть необходимость обмениваться данными между двумя сайтами
  • Если вы разрабатываете мультиязычный сайт на WordPress
  • Если вам требуется дополнительная среда для разработки и тестирования

При желании все это можно организовать и без использования WordPress в режиме сети, например обмен данными между сайтами можно организовать через XML-RPC, а общий вход с помощью протокола OAuth. Тем не менее Multisite позволяет решать эти и другие проблемы гораздо легче и эффективнее.

Когда не следует использовать Multisite

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

Ведь даже если вы ограничите права на FTP доступ к одной директории, один клиент может легко загрузить .php файл, который прочитает любой другой файл или любую запись в базе данных в таблицах другого клиента — это небезопасно.

Для всего остального режим Multisite вполне подойдет. Даже если вы работаете над одним единственным сайтом, возможно вам будет проще тестировать ваши изменения на поддомене, например dev.example.org, перед тем как применять их к основному сайту.

Роль супер-администратора

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

Для работы супер-администратора в WordPress Multisite есть раздел администрирования сети, который похож на упрощенную консоль WordPress.

Установка и настройка Multisite

Установка режима сети в WordPress занимает не больше нескольких минут.

1. Подготовка

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

После этого убедитесь в том, что ваша установка WordPress поддерживает «красивые» ссылки (Параметры → Постоянные ссылки) и деактивируйте все плагины. Их можно будет активировать после завершения установки сети.

2. Установка режима сети

Откройте конфигурационный файл WordPress wp-config.php и найдите следующую строку:

require_once(ABSPATH . 'wp-settings.php');  

В любом месте до этой строки вставьте следующую директиву, которая включает возможность установки режима Multisite:

/* Multisite */  define( 'WP_ALLOW_MULTISITE', true );  

После этого зайдите в панель администрирования WordPress и в разделе Инструменты (Tools) появится новый пункт Установка сети (Network Setup). На этом экране вы сможете выбрать тип сети и запустить установку. Мы рекомендуем использовать Multisite в режиме субдоменов.

При завершении установки WordPress вам предложит добавить несколько новых директив в файл wp-config.php и несколько строк в файл .htaccess, после чего вам необходимо повторно выполнить вход а панель администрирования, уже как супер-администратор.

3. Администрирование сети

После входа в верхнем меню WordPress появится новый пункт «Мои сайты» (My Sites), откуда вы сможете легко перейти в панель управления сетью. Там вы сможете добавлять новые сайты, управлять пользователями, устанавливать темы и плагины и управлять прочими настройками сети.

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

Домены

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

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

Заключение

Режим WordPress Multisite немного сложнее в обращении, чем обычная установка WordPress, но его преимущества очевидны. Самой крупной сетью на данный момент является WordPress.com, где на сегодняшний день более 50 миллионов сайтов, но иногда даже мелкие одиночные сайты на WordPress предпочитают перейти в режим сети.

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

wpmag.ru

Даже не обремененный особыми знаниями пользователь способен заметить, что система WordPress является очень гибкой и мощной. Однако она таит в себе значительно больше, нежели то, что открыто невооруженному взгляду. В частности, в ней спрятан бесподобный, отточенный механизм под названием Мультисайты. Если вы включите этот режим, то ваша сборка WordPress превратится в огромную сеть сайтов. Вы сможете запустить тысячу разных сайтов, используя единственную копию системы. Хотя почему только тысячу? Сотни тысяч. Миллионы.

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

Введение в мультисайты

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

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

Что же такое мультисайт?

Мультисайт – это такая возможность (режим) в WordPress, которая позволяет вам запускать сразу несколько различных сайтов в пределах одной копии WordPress. Все сайты, входящие в так называемую «сеть», могут совместно использовать любые плагины и любые темы, установленные в WordPress.

Примечание: с помощью специальных решений, таких как Pro Sites, можно ограничивать доступ к плагинам и темам в сети.

Все сайты совместно используют одну базу данных; однако в этой базе данных все они имеют отдельные таблицы. Также у каждого сайта есть свой собственный каталог для загрузки медиафайлов.

Зачем могут понадобиться мультисайты?

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

1. Размещение различных пользовательских сайтов.

Подключение мультисайтов позволяет посетителям регистрировать в системе свои собственные блоги/сайты, как это реализовано на wordpress.com и edublogs.org.

Мультисайты позволяют людям автоматически создавать новый сайт без участия администратора. Чаще всего новые блоги получают URL-адрес следующего вида:

  • site1.mysite.com
  • mysite.com/site1/

Разница между ними объясняется разницей между установкой сайтов в виде подпапок и поддоменов (об этом позднее).

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

2. Размещение внутренней сети сайтов.

Использование мультисайтов оправдано также в том случае, когда один человек или компания хотят запустить много разных сайтов в пределах одной копии WordPress, чтобы заметно упрощает процесс обновления плагинов, тем и самой системы. Когда все сайты расположены в одной сборке, вы можете легко обращаться к админ-панелям различных сайтов из одной общей панели управления.

В каких случаях сеть мультисайтов может оказаться идеальной:

  • Различные отделы в компании;
  • Различные команды в лиге;
  • Различные города в стране;
  • Различные концерты в клубе;
  • Различные шоу на радиостанции.

Подходят ли вам мультисайты?

Учитывая все те «различные» пункты, представленные выше, вы должны задать себе важный вопрос: «Надо ли мне, чтобы все эти разделы/сайты были раздельными?»

Другими словами, можно ли достигнуть той же самой цели путем простого использования рубрик в обычной сборке WordPress?

Если на какие-либо из перечисленных ниже пунктов вы можете ответить «Да!», то мультисайты, возможно, подойдут вам:

  • Нужны ли мне разные темы на одном сайте?
  • Нужны ли мне разные плагины/разная функциональность для различных разделов?
  • Должен ли я дать доступ разным администраторам/редакторам для разных секций?
  • Нужны ли мне разные адреса верхнего уровня?

Когда не стоит использовать мультисайты

Есть некоторые ситуации, когда от использования мультисайтов лучше отказаться:

  • Можно обойтись обычными рубриками;
  • Вам требуются разные базы данных для пользователей (к примеру, из соображений безопасности);
  • Пользователи должны устанавливать свои собственные темы или плагины.

Некоторые также считают, что мультисайты не требуются для запуска небольших клиентских сайтов. Если задать им вопрос, почему они так думают, то можно услышать простой ответ – «так будет проще». То есть, они имеют в виду, что вы можете быстро переместить свой сайт в любое место в случае необходимости, поскольку у вас есть отдельные базы данных в пределах одной сборки.

Импорт/экспорт сайтов

Вы можете «вытащить» сайт из сети с помощью родной функции Импорт/Экспорт в WP. Если вы хотите взять какой-нибудь один сайт из сети и превратить его в отдельную сборку, сделайте следующее:

  • Установите новую сборку системы
  • Экспортируйте контент сетевого сайта с помощью функции Export
  • Импортируйте контент сайта в новую сборку

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

Преимущества и недостатки

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

Преимущества:

  • Автоматическое создание сайтов/блогов для каждого пользователя
  • Автоматическое создание блога для ограниченной группы пользователей – ограничение по email или ограничение с помощью специального кода (для этого понадобится плагин).
  • Неограниченное создание сайтов для одного пользователя
  • Ограничение на создание сайтов для одного пользователя (с помощью плагинов).
  • Ограничение размера загружаемых файлов (или неограниченные загрузки)
  • Разные темы для разных участков сайта
  • Изменения в теме касаются всех сайтов, которые используют эту тему
  • Пользователи всегда могут использовать виджеты, меню, заголовки и бэкграунд на своих сайтах, вне зависимости от темы (для ограничения этого используются плагины)
  • Пользователи могут создавать сразу несколько сайтов и управлять ими (с помощью плагинов можно ограничивать данное действие: к примеру, один пользователь может создавать только один сайт)
  • Сайты могут быть либо полностью обособленными, либо интегрированными друг с другом разными способами.
  • Активация тем в зависимости от используемых сайтов

Недостатки:

  • Администратор должен иметь некоторые навыки управления сетью сайтов (есть небольшие отличия с управлением обычным сайтом на WP)
  • Необходим доступ к серверу для редактирования базовых файлов WP
  • Некоторые темы плохо работают с мультисайтами (большая часть поддерживает, но не все)
  • Некоторые плагины плохо работают с мультисайтами (как и в случае с темами)
  • Если у вас появятся проблемы с основной сборкой или ваш главный сайт будет взломан, это может затронуть все сайты вашей сети.
  • Могут возникнуть трудности при отображении контента с разных сайтов на главной странице основного сайта (решается с помощью плагинов).

Разница с обычной сборкой WordPress

Супер администратор

Одно из ключевых отличий – новая роль под названием «Супер Администратор» (Super Admin). Супер администратор управляет всей сетью сайтов. Вы выбираете, какие плагины и темы будут доступны пользователям, могут ли посетители регистрировать свои сайты безо всяких ограничений и т.д.

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

Настройка доступа

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

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

Управление темами и плагинами

Как было замечено выше, вы сможете решать, какие плагины и темы будут доступны вашим пользователям. Может, вы хотите, чтобы все работали с той же самой темой? Или вы желаете дать своим пользователям выбор? Все зависит от вас.

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

Администратор в обычной сборке WP – это не то же самое, что Супер Администратор в мультисайтовой сборке. Если вы до сих пор не освоились с администраторскими полномочиями в WP, лучше пока не переходить на мультисайты.

BuddyPress

BuddyPress – это мощный плагин, который позволяет создавать полностью сформированную социальную сеть для пользователей вашего сайта. Многие ресурсы, которые используют мультисайты, одновременно с этим используют и BuddyPress (хотя это и не является необходимостью).

Безусловно, все зависит от ваших целей. Если вы хотите связать всех пользователей в вашей сети, BuddyPress может оказаться полезным.

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

Активация мультисайтов

Наконец, мы рассмотрим, как активировать мультисайты.

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

Перед тем, как перейти к самому процессу активации, вам необходимо выбрать, как именно вы будете устанавливать новые сайты – как подпапки или как поддомены.

Подпапки и поддомены

Подпапки имеют следующий вид:

  • mysite.com/site1
  • mysite.com/site2

Поддомены:

  • site1.mysite.com
  • site2.mysite.com

В некоторых ситуациях у вас просто не будет выбора. К примеру, если сайт уже установлен в подпапку, и вы попытаетесь активировать для него мультисайты, то вы не сможете использовать поддомены. У вас останется только вариант с подпапками.

К примеру, ваш сайт «mysite» расположен следующим образом:

  • example.com/mysite/

Все ваши новые сайты будут добавляться в дополнительные подпапки:

  • example.com/mysite/site1/
  • example.com/mysite/site2/

При попытке установить свои сайты как поддомены (к примеру, site1.mysite.com) некоторые пользователи могут столкнуться с проблемами, связанными с сервером. Обычно это решается обращением в службу поддержки. Если же проблема не была решена, остается только использовать подпапки.

Что лучше?

Это выбор каждого. Если вы хотите создать публичный сайт блоггинга, такой как wordpress.com, то лучше, конечно, использовать поддомены. Они более привлекательны для пользователей.

Раньше, в старые времена SEO, подпапки больше нравились поисковым системам, чем поддомены (однако как сейчас с этим обстоят дела, я не знаю).

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

Domain Mapping

С помощью плагина Domain Mapping вы можете сделать так, чтобы ваш сайт1 или сайт2 выглядел как обычная сборка WordPress.

К примеру, mysite.com/site1/ или site1.mysite.com можно выводить как домен site1.com. Никто никогда не узнает разницы.

Даже пользователи в области администратора не будут знать, что они находятся в мультисайтовой сети, если вы не захотите этого. Их панель администратора появится по ссылке site1.com/wp-admin/.

Переключение к мультисайтам

Активация мультисайтов – не такая сложная задача. Правда, она состоит из большего числа действий, чем просто пара щелчков. Вам понадобится доступ к основным файлам WP на вашем сервере.

Инструкцию по созданию мультисайтов в WP вы можете найти в кодексе.

Также есть небольшое видео, в котором описывается процесс активации сайта (на английском).

Также полное руководство по созданию мультисайтов есть в журнале OddStyle №2.

Источник: wpmu.org

oddstyle.ru

Как я вообще докатился до режима multisite? Всё дело в том, что если создавать на движке какой-то более сложный функционал с помощью плагинов, который будет включать в себя возможности сразу нескольких разноплановых сайтов, его производительность будет ужасна.

Второй способ с shardb более предпочтительнее, добавлен ниже

Они везде добавляют свои js / css и туда, где они не нужны. Таким образом, если установить несколько мощных тяжёлых плагинов и еще + 10-15 дополнительных поменьше, можно увидеть огромное количество скриптов и стилей везде, практически на каждой странице.

Решение этому нашлось — режим multisite.

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

Для этого нужно добавить строку в wp-config.php

/* Это всё, дальше не редактируем. Успехов! */ define('WP_ALLOW_MULTISITE', true); 

После чего пройти в Инструменты -> Установка сети.

Её обязательно нужно выполнять с выключенными плагинами.

image

Вам предложат заменить данные в wp-config и .htaccess и авторизоваться ещё раз на сайте.

Система multisite

Режимов сайта всего 2 — это либо папки / или поддомены.

сайт.ru/сайт2
сайт2.сайт.ru

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

Управление плагинами и темами для всех сайтов из панели. Можно добавить необходимые для всех в одном месте и далее активировать их только на тех, где они нужны по отдельности. Так же есть возможность активировать их сразу для всей сети.

Таким образом, возможно сократить потребление плагинов на 50% и более. Вроде бы всё хорошо, с фронтендом уже все в порядке, но вот беда:

image

multisite использует одну базу на все сайты — создавая на каждый из них отдельные таблицы.

wp_
wp_2
wp_3

Теперь одна база будет увеличиваться в несколько раз от каждого нового сайта.

Multisite c отдельной бд по каждый сайт

Для этого мы будем использовать плагин multi-db. Конечно, есть и другие, такие как HyperDB, SharDB, но я не нашёл никакой информации о них. Скачать multi-db вы можете по любой ссылке ниже.

cloud.mail.ru/public/KMNr/WDpoUeyUV
drive.google.com/open?id=0Bw4XcI3lCfQSUWZWLUUyUHZFVTA

Сам он предлагает сначала определиться, сколько баз вам нужно (16, 256, 4096).

Начну с 16. Важна последовательность. Сначала установите multisite, я буду начинать разделять базы данных, имея 3 созданных сайта — для того, чтобы протестировать его работу после этого.

Создание vip баз

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

Первым делом нужно подготовить новые базы

CREATE DATABASE `dbname_0` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_1` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_3` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_4` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_5` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_6` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_7` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_8` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_9` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_a` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_b` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_c` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_d` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_e` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_f` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `dbname_global` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

Выполните этот sql запрос и тогда вы увидите их.

image

Создание пользователей и паролей в PhpMyAdmin

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

Распаковка файлов

db-config.php, db.php нужно разместить в wp-content

move-blogs.php в любой папке после wp-content, например в новой /wp-content/scripts/

Настройка подключаемых модулей

DB-config.php

define ('DB_SCALING', '16');  //------------------------------------------------------------------------// //---DC IPs---------------------------------------------------------------// //------------------------------------------------------------------------// //	Usage: add_dc_ip(IP, DC) //	EX: add_dc_ip('123.123.123.', 'dc1'); add_dc_ip('127.0.0.', 'dc1'); 

Здесь нужно указать кол-во баз, 16 в данном случае и ip сервера. В конце вместо последних цифр ставится точка 127.0.0.

Далее ниже на первом месте добавим глобальную таблицу add_global_table(‘dbname_global’);

//------------------------------------------------------------------------// //---Global Tables--------------------------------------------------------// //------------------------------------------------------------------------// //	Do not include default global tables //	Leave off base prefix (eg: wp_) // You don't really have to register these, they will work fine without. // However registering at least your busiest ones might shave a few milliseconds off by avoiding some regexes. // //	Usage: add_global_table(TABLE_NAME) //	EX: add_global_table('something'); add_global_table('dbname_global');  add_global_table('affiliatedata'); add_global_table('affiliatereferrers'); add_global_table('am_actions'); add_global_table('am_queue'); add_global_table('am_schedule'); add_global_table('autoblog');  add_global_table('bp_activity'); add_global_table('bp_activity_meta'); add_global_table('bp_friends'); add_global_table('bp_groups'); add_global_table('bp_groups_groupmeta'); add_global_table('bp_groups_members'); add_global_table('bp_messages_messages'); add_global_table('bp_messages_notices');  add_global_table('bp_messages_recipients'); add_global_table('bp_notifications'); add_global_table('bp_user_blogs'); add_global_table('bp_user_blogs_blogmeta'); add_global_table('bp_xprofile_data'); add_global_table('bp_xprofile_fields'); add_global_table('bp_xprofile_groups');  add_global_table('domain_mapping'); 

После чего ниже останется установить логин и пароль для входа в mysql:

//------------------------------------------------------------------------// //---DB Servers-----------------------------------------------------------// //------------------------------------------------------------------------// //	Database servers grouped by dataset. //	R can be 0 (no reads) or a positive integer indicating the order //	in which to attempt communication (all locals, then all remotes) // //	Usage: add_db_server(DS, DC, READ, WRITE, HOST, LAN_HOST, NAME, USER, PASS) //	EX: add_db_server('global', 'dc1', 1, 1,'global.mysql.example.com:3509','global.mysql.example.lan:3509', 'global-db', 'globaluser', 'globalpassword'); // //	Note: you can also place this section in a file called db-list.php in wp-content // EX: add_db_server('global', 'dc1', 1, 1,'global.mysql.example.com:3509','global.mysql.example.lan:3509', 'global-db', 'globaluser', 'globalpassword'); add_db_server('global', 'dc1', 1, 1,'localhost','localhost', 'dbname_global', 'root', '1');  add_db_server('0', 'dc1', 1, 1,'localhost','localhost', 'dbname_0', 'root', '1'); add_db_server('1', 'dc1', 1, 1,'localhost','localhost', 'dbname_1', 'root', '1'); add_db_server('2', 'dc1', 1, 1,'localhost','localhost', 'dbname_2', 'root', '1'); add_db_server('3', 'dc1', 1, 1,'localhost','localhost', 'dbname_3', 'root', '1'); add_db_server('4', 'dc1', 1, 1,'localhost','localhost', 'dbname_4', 'root', '1'); add_db_server('5', 'dc1', 1, 1,'localhost','localhost', 'dbname_5', 'root', '1'); add_db_server('6', 'dc1', 1, 1,'localhost','localhost', 'dbname_6', 'root', '1'); add_db_server('7', 'dc1', 1, 1,'localhost','localhost', 'dbname_7', 'root', '1'); add_db_server('8', 'dc1', 1, 1,'localhost','localhost', 'dbname_8', 'root', '1'); add_db_server('9', 'dc1', 1, 1,'localhost','localhost', 'dbname_9', 'root', '1'); add_db_server('a', 'dc1', 1, 1,'localhost','localhost', 'dbname_a', 'root', '1'); add_db_server('b', 'dc1', 1, 1,'localhost','localhost', 'dbname_b', 'root', '1'); add_db_server('c', 'dc1', 1, 1,'localhost','localhost', 'dbname_c', 'root', '1'); add_db_server('d', 'dc1', 1, 1,'localhost','localhost', 'dbname_d', 'root', '1'); add_db_server('e', 'dc1', 1, 1,'localhost','localhost', 'dbname_e', 'root', '1'); add_db_server('f', 'dc1', 1, 1,'localhost','localhost', 'dbname_f', 'root', '1'); 

логин root, пароль 1. Так же тут нужно указать эти названия которые мы регистрировали вначале: dbname_0, dbname_1…

Настройка move-blogs.php

Это самая важная часть. Здесь также формируется вывод разных ошибок.

$dbname = "multi"; //This is your current database $blog_table_prefix = 'wp_'; //Prefix of your wpmu blog tables, most likely this won't need to be changed $newdb_prefix = 'dbname_'; //This is the prefix of the db's you're moving your tables into - we assume they are all the same, if not, you're in trouble  //We need info to connect to the databases $dbhost = 'localhost'; $dbuname = 'root'; $dbpass = '1';  //How many db's are you moving into (16, 256, or 4096)? $db_scaling = '16'; 

$dbname = «multi»; //multi — это имя моей общей базы данных которую я хочу разделить на куски, нужно писать без префикса

$blog_table_prefix = ‘wp_’; //это префикс в общей базе

$newdb_prefix = ‘dbname_’; //новое имя

Логин, сервер и пароль, а так же количество баз.

$dbhost = ‘localhost’;
$dbuname = ‘root’;
$dbpass = ‘1’;
$db_scaling = ’16’;

Теперь стоит пройти по адресу: localhost/wp-content/scripts/move-blogs.php

image

Жмём Click here.

Дожидаемся, когда закончится процесс, ссылка в адресной строке должна поменяться. После этого жмём clicking here для обновления страницы. Статус обновлен.

image

Теперь видно, что создалась одна глобальная база, в которой содержится wp_users и т.д.

image

Остальные два сайта помимо основного раскидало по другим базам в рандомном порядке, например, второй сайт попал в dbname_c, а третий в dbname_e.

image
image

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

image
image

В старую «multi» ничего не добавляется. Тогда, наверно, на этом всё. Пока что это только первые мнения об этой системе, выводы еще делать рано.

Нюансы multisite

Первое — это невозможность задать роли для новых зарегистрированных участников. Но для этого есть плагин. Помимо этого представим себе ситуацию, у вас два сайта — сайт 1 (основной) и сайт 2. Человек регистрируется на сайте 2 и он таки может теперь входить и отображаться на сайте 1, но вы его не видите из консоли сайта 1, несмотря на то, что он есть. Увидеть его можно или в общей сети, либо в сайте 2, с которого он совершил регистрацию.

Редирект регистрации

Если вы захотите регистрироваться через wp-login, wp-admin, wp-register с сайта 2, то вас перебросит на сайт 1. Как говорят разработчики multisite, это является логичным, так как аккаунт создаётся один для всей сети. Но это может быть неудобно и совсем не то что вам нужно. WooCommerce с его страницей My Account и шорткодом [woocommerce_my_account] поможет с нормальной регистрацией, так же можно использовать Login With Ajax.

Еще по теме

P.s Оказывается легко можно и объединять стили/скрипты у плагинов и включать только на определённых страницах. Multi-db выложен на гитхабе, не сразу увидел.

premium.wpmudev.org/forums/topic/multi-db-plugin-conlict-with-woocomerce
premium.wpmudev.org/forums/topic/db-error-could-not-list-tables-1
github.com/wpmudev/multi-db
premium.wpmudev.org/forums/topic/re-multi-db-plugin

maxtop.org/wordpress-otklyuchenie-skriptov
maxtop.org/wordpress-obedinenie-css-fajlov-stilej-otklyuchenie-zagruzki-lishnix-css-fajlov

bavatuesdays.com/wpmu-multi-db-tutorial
www.inmotionhosting.com/support/website/wordpress/heartbeat-ajax-php-usage

Ответы на вопросы

Может у кого-то ещё возникнут вопросы такие же.

Под потреблением имеется ввиду потребление места? Почему только 50%?

В прямом смысле потребление плагинов. Допустим у вас есть один сайт который использует 20-30 плагинов.

С помощью multisite вы делите его на 2 куска. Таким образом, что каждая его часть использует по отдельности по 10-15 плагинов. Например:

сайт.ру — это доска объявлений или каталог
сайт.ру/shop/ или shop.сайт.ру — это магазин внутри сайта.ру

сайт.ру использует одни 10-15 плагинов
сайт.ру/shop/ использует другие 10-15 плагинов

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

(16, 256, 4096) Бред.

Это допустимое в плагине кол-во баз. Если у вас будет миллион сайтов в сети multisite — тогда они заполняться равномерно по этим базам, в таком случае нужно было бы лучше конечно выбирать 4096. Для этого почитайте wp-форумы. Миллион сайтов я не тестировал.

Но без этого плагина все эти миллион сайтов будут содержаться в одной единой базе.

define (‘DB_SCALING’, ’16’); — А если потом будет 32 базы, то все поедет? 🙂

Ответ выше. Нужно изначально прикидывать сколько вам нужно их в зависимости от кол-ва сайтов. Использование multi-db это шаг в оптимизации базы для тех у кого уже есть очень много сайтов в режиме multisite.

Экономили на css/js, а взяли разрезали базу. Я логики не вижу. 🙂

В том чтобы для экономии js/css резать базу — логики нету. Разрез базы это уже второй этап после оптимизации js / css. Он не имеет отношение к ним.

Когда на сайте много плагинов (учитывая что ещё в самом сайте, шаблоне есть они и немало) тогда встаёт вопрос о том как разграничить всё это для разных частей сайта. Большое количество их плохо действует на админку, она начинает тормозить.

Multisite и без разреза базы решает вопрос самих плагинов чтобы их было меньше на каждом сайте или куске сайта.

Более хороший способ

Так как сам плагин multi-db является списанным и не поддерживается — есть ещё другое, лучшее решение и удобное — это SharDB

Работать с ним куда проще чем multi-db. И после более тщательной проверки я обнаружил что multi-db глючит с некоторыми плагинами, а этот shar-db не вызывает никаких проблем с ними же.

Сначала нужно распаковать файл db-settings.php в корень сайта, чтобы с ним на одном уровне лежал wp-config.php и подключить его в нём

/* Это всё, дальше не редактируем. Успехов! */ ... ... ... ... ... ... require_once('db-settings.php'); 

Его настройки

// If you have multiple datacenters you can come up with your own datacenter // detection logic (php_uname?). This helps ensure the web servers try to // connect to the nearest database servers first, then distant ones. define( 'DATACENTER', '' );  function add_slave($read, $host, $lhost = '', $user = DB_USER, $password = DB_PASSWORD) { 	global $slaves; 	$slaves[] = compact('read', 'host', 'lhost', 'user', 'password'); }  /* Add your configuration here */  // how many characters of hexidecimal hash $shardb_hash_length = 2; // what is the prefix of your blog database shards (everything before the hexidecimal hash) // Название вашей базы $shardb_prefix = 'set'; // set a string to be used as an internal identifier for the dataset $shardb_dataset = 'abc'; // do you want to put your primary blog (blog_id 1) in its own 'home' database? $enable_home_db = true; // how many, if any, VIP databases do you have? $num_vipdbs = 5; // add this to set the write master read priority (default 1) $shardb_master_read = 99; // add this if all of your databases are on a local server // Добавить это, если все ваши базы находятся на локальном сервере $shardb_local_db = true; // use this function to add a read slave host add_slave($read_priority, $hostname, $local_hostname, $user, $password);   // instructions for adding vip blogs at the bottom of this confg filei  /* That's all, stop editing! Happy blogging. */ 

set — это имя базы в которой содержатся все сайты.

Далее скопировать файл shardb-admin.php в папку с плагинами, как обычно, активировать этот плагин для сети.

После чего в админке перейти к настройкам плагина. Управление сетью —> Настройки—>SharDB Migration.
image

И тут первый шаг — это Migrate Global Tables. Он предложит записать её в отдельную таблицу — в setglobal

image

Далее первый сайт

image

Если база называлась «set» то он предлагает переместить её в sethome

image

Всё копируется нормально, можно копировать далее всё сайты, «Migrate Sites»

image

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

image

После того как всё на месте нужно распаковать файл db.php в папку wp-content

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

image

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

Для копирования баз у вас не должно быть файла db.php, иначе будет не доступен пункт настроек в админке (SharDB Migration), после копирования нужно его загружать в последнюю очередь. Он служит просто связывающим звеном.

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

Эта мера может не иметь для вас никакого значения если у вас немного сайтов. Но сама база движка имеет свойство засоряться с течением времени, и тормозить отклик от сайта. Если это бывает для одного сайта и одной базы, то имея режим multisite это будет в десятикратном+ размере так как все эти таблицы сайтов будут в одном месте.

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

habr.com

Что такое WordPress Multisite?

Multisite — WordPress функция, которая позволяет управлять несколькими сайтами из одной панели управления. Платформа обращается к данным сайтам, как к сети. Настроив MultiSite, вы сможете добавить столько сайтов в эту сеть, сколько захотите.

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

  • Вы можете делать практически все из одной единственной панели управления. Следить за данными для входа для нескольких сайтов и переключение между ними может быть весьма разочаровывающим и время затратным занятием. При помощи MultiSite вам нужно заботиться лишь об одном наборе данных для сайтов, чтобы справиться со всем необходимым.
  • Вы можете публиковать контент для ваших сайтов. Multisite позволяет вам использовать стандартный редактор WordPress, чтобы публиковать новый контент для любой из ваших страниц.
  • Он позволяет вам управлять темами и плагинами для всей сети.  Являясь администратором Multisite, вы сможете выбрать какие темы и плагины будут доступны для вашей сети. К примеру, если вы не являетесь единственным человеком, который работает над определенной страницей, без вашего разрешения он не сможет установить какой-либо плагин. Для всех подобных действий необходимо ваше разрешение!
  • Управление пользователями для всей сети. Наконец, Multisite также позволяет вам добавлять новых пользователей в вашу сеть и настраивать для них роли пользователей. Это означает, что вам не нужно настраивать и добавлять пользователей для каждого сайта отдельно.
  • Легкий процесс обновления WordPress. Являясь администратором сети, вы сможете обновлять WordPress до последней версии на всех сайтах в любое время. Процесс практически ничем не отличается от обновления одиночного сайта — вы получаете уведомление и обновляете его на всех ваших сайтах одновременно.

Помимо Multisite существует множество других инструментов, которые помогают вам управлять несколькими сайта на WordPress. Например сервисы вроде ManageWP и MainWP. Главным их отличием от Multisite является то, что они позволят связывать в сеть сайты на разных хостинг провайдерах. На практике это означает, что вы можете управлять сайтами расположенными по всему миру.

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

Когда использовать WordPress Multisite (а когда нет)

Если говорить в общем, то Multisite хороший вариант, если вам нужно управлять несколькими сайтами на WordPress. Однако давайте определим более точные ситуации, когда он вам может пригодиться:

  • У вас есть сеть из персональных страниц, которые не требуют отдельного хостинга. Если вам подходит виртуальный хостинг, и вы имеете несколько WordPress сайтов, то Multisite очевидный выбор.
  • Вам необходимо управлять сайтом клиента. Если вы предлагаете услуги хостинга в качестве одной из частей  веб-разработки, то вы можете рассмотреть возможность включения таких сайтов в вашу сеть. Конечно это будет зависеть от того, нужна ли клиенту дальнейшая помощь. Если нет, то вам лучше работать с каждым сайтов в отдельности.
  • Вы создаете сложный сайт, которому требуются несколько подкаталогов и поддоменов. WordPress Multisite позволяет вам добавлять новые сайты в вашу сеть с помощью подкаталогов и поддоменов. Это отличное решение для сложного сайта, который необходимо разделить на отдельные разделы, вроде блога и магазина работающих бок о бок.

Multisite — мощный инструмент, но подходит не для всех ситуаций. Например, он не позволяет владельцам сайта использовать те или иные темы и плагины, которые они хотят, это означает, что они должны согласовывать все это с администратором сети (вами, в этом случае). Если люди работающие в вашей сети нуждаются в полном доступе к WordPress, то они должны рассмотреть вариант отдельной установки.

В дополнение, все сайты внутри вашей сети будут делить один и тот же IP в связи с тем, как работает платформа Multisite. В большинстве случаев это не является проблемой, но если вам нужен отдельный IP для каждого сайта, Multisite вам не подходит.

Сейчас вы скорее всего уже определились с ответов на вопрос, подходит вам Multisite или нет. Если да, то продолжите чтение и узнайте как начать с ним работу.

Как активировать WordPress Multisite для новых сайтов на Hostinger (4 шага)

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

Что вам понадобится

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

Вам также понадобится FTP-клиент, чтобы завершить шаги выше. Мы рекомендуем использовать FileZilla, так как у нас есть подробное руководство по его настройке для вашего сайта на Hostinger.

В итоге вам нужно три вещи:

  1. Доступ к хостинг аккаунту.
  2. Новый WordPress на вашем сайте.
  3. FTP-клиент – вроде FileZilla – и ваши данные для входа.

Как только у вас все готово, вы можете перейти к следующему шагу.

Шаг 1    Обновление вашего файла wp-config.php

Мы начинаем сразу с самого главного, но нет нужды волноваться – процесс на самом деле очень прямолинеен. Первое, что вам нужно сделать это найти и отредактировать файл wp-config.php, в котором хранятся все главные настройки WordPress.

Давайте разделим весь процесс на отдельные шаги:

  1. Откройте ваш FTP-клиент и войдите на ваш сайт с помощью соответствующих данных.
  2. Перейдите в корневой каталог, который чаще всего называется public_html, но иногда он может называться www или иметь имя вашего сайта.
  3. Найдите файл wp-config.php и нажмите на него правой кнопкой мыши.
  4. Выберите вариант Просмотр/Правка.

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

wp_config wordpress multisite

Все, что вам нужно сделать – прокрутить файл вниз до строки  /* That’s all, stop editing! Happy blogging. */ и вставить следующий код прямо перед ним :

/* Multisite */ define( 'WP_ALLOW_MULTISITE', true );

Вот и все! Эта единственная строчка скажет WordPress о том, что вы хотите включить Multisite. Теперь, сохраните изменения и закройте текстовый редактор. FileZilla автоматически обновит оригинальный файл на вашем сервере с заданными изменениями.

Шаг 2 — Настройка структуры вашей сети

Теперь зайдите в панель управления вашим WordPress, там вы найдете новую вкладку Установка сети в разделе Инструменты. Если у вас имеются какие-либо плагины, WordPress попросит вас отключить их на время настройки. После отключения и перезагрузки страницы вы увидите окно с выбором подкаталогов или поддоменов для структуры сети:
WordPress Multisite Подкаталоги поддомены

Поддомены это URL, которые выглядят примерно так: rukovodstva.hostinger.ru. С другой стороны подкаталоги, которые будут отображаться в таком формате: hostinger.ru/rukovodstva. С технической точки зрения оба варианта работаю одинаково. Поэтому вы можете выбрать любой из них, так как в дальнейшем существует возможность направить обычный домен на любой сайт в вашей сети.

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

Шаг 3  Обновление файлов wp-config.php и .htaccess

Перед тем, как ваша сеть начнет работу, вам необходимо отредактировать два файла – wp-config.php и .htaccess. Также как и в первом шаге, вам понадобиться добавить код в каждый из них. WordPress должен был уже предоставить вам их в конце предыдущего шага:

wp_config htaccess wordpress multisite

Не волнуйтесь, мы также предоставим вам код, просто на всякий случай. Давайте начнём с wp-config.php, который вы можете отредактировать с помощью FTP-клиента. Вставьте следующий код прямо перед строкой /* That’s all, stop editing! Happy blogging. */:

define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', 'new-multisite-setup.dev'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);

Теперь мы повторим тот же процесс с файлом .htaccess, который находится в том же каталоге, как и wp-config.php. Все, что вам нужно сделать это закрыть wp-config.php, найти файл .htaccess, кликнуть на него правой кнопкой мыши и снова выбрать вариант Просмотра/Правка.

После этого вам необходимо удалить все содержимое и добавить следующий код:

RewriteEngine On 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]

Сохраните изменения в файле .htaccess и вновь войдите в вашу панель управления.

Шаг 4 — Вход в панель WordPress Multisite

Ваша сеть Multisite готова к работе! В вашей панели управление вы найдете новую опцию в навигационном меню администратора под названием Мои сайты:

WordPress Мои сайты

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

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

Как активировать WordPress Multisite для существующих сайтов на Hostinger

Если вы хотите активировать Multisite для существующего сайта на Hostinger, то можете следовать инструкциям из предыдущего шага. Весь процесс будет практически одинаковым, однако, важно знать, что если ваш сайт работал более месяца, то WordPress не позволит использовать подкаталоги при установке Multisite.

Активация Multisite для существующего сайта имеет и другие недостатки. Если вы уже добавляли дополнительные правила в файл .htaccess, то они будут потеряны при замене содержимого на код Multisite. Вы можете скопировать и добавить их вновь для каждого сайта, однако, это все равно занимает время и может вылиться в проблемы.

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

4 Ключевых совета для начала работы с WordPress Multisite

Теперь, когда ваша сеть Multisite работает, вам необходимо узнать как пользоваться ее основными функциями. Давайте начнем с добавления новых сайтов в вашу сеть.

1. Добавление нового сайта в вашу сеть

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

Во-первых, перейдите во вкладку Сайты → Добавить новый в панели управления сетью. Внутри, вы увидите опции для настройки сайта, название, язык и адрес электронной почты администратора:

WordPress Multisite Панель Добавить новый

Заполните эти поля и нажмите кнопку Добавить сайт. Затем вы сможете найти добавленный сайт во вкладке Сайты → Все сайты:

WordPress Все сайты

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

2. Управление вашими темами и плагинами

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

WordPress Плагины для сети

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

3. Добавление новых пользователей в вашу сеть

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

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

WordPress Пользователи

Теперь ваш новый пользователь будет иметь доступ в сеть Multisite и может помочь вам с управлением контентом для вашего сайта. Либо вы можете дать права Супер Администратора, которые фактически означают такие же права, как у вас. Чтобы сделать это, перейдите во вкладку Пользователи → Все пользователи и нажмите кнопку Изменить напротив аккаунта, который хотите наделить правами:

WordPress Пользователи Изменить

На следующем экране, найдите опцию предоставить права Супер Администратора и поставьте напротив нее галочку. Теперь у вашей сети появилось парочка новых рук, чтобы помочь вам.

Имейте ввиду, что предоставление полных прав администратора для любого пользователя нежелательно, если вы не доверяете ему полностью. Так как они смогут изменять вашу сеть по их желанию. Если вам совершенно не хочется давать им полный доступ, то создайте для них базовую учетную запись.

4. Настройка вашей сети

Multisite готов к работе сразу же после установки. Вам не нужно настраивать какие-либо из его настроек, но все равно желательно хотя бы взглянуть на них. Перейдите во вкладку Настройки → Параметры сети в панели управления сетью.

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

WordPress Multisite Настройки

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

Еще одним разделом в настройках, который может быть вам интересен является Настройки загрузки. Вы можете установить лимит на размер загружаемых файлов, которые люди могут загрузить на сайты вашей сети, а также тип разрешенных для загрузки файлов:

WordPress Multisite Настройки загрузки

Закончив с этим, давайте перейдем к обновлениям.

5. Обновление вашей сети

И последнее, Multisite позволяет вам обновлять WordPress для всех сайтов одновременно. Если новая версия станет доступна, то вы увидите такое же оповещение, как и при обычном обновлении WordPress.

Вы также можете инициировать принудительное обновление во вкладке Консоль  → Обновить сеть. Просто нажмите кнопку Обновить сеть и отдыхайте:

WordPress Multisite Обновить

Как только обновление будет закончено WordPress выведет сообщение об успешном завершении. Этот простой процесс поможет вам поддерживать актуальную версию вашего сайта.

Заключение

WordPress Multisite — мощный инструмент, который поможет вам легко управлять несколькими сайтами. Быть во главе нескольких сайтов задача трудная. Однако Multisite может сделать ее гораздо легче, автоматизируя некоторые процессы. В дополнение, вы можете легко получить доступ к ним из одной панели управления., что делает процесс гораздо менее нудным.

Небольшая памятка, чтобы обобщить и вспомнить, как активировать Multisite как для новых, так и для существующих сайтов на Hostinger:

  1. Обновите ваш файл wp-config.php.
  2. Настройте структуру вашей сети.
  3. Обновите ваши файлы wp-config.php и .htaccess.
  4. Войдите в вашу панель управления Multisite.

У вас остались вопросы, о том как активировать WordPress Multisite? Задавайте их в разделе комментариев ниже!

www.hostinger.ru

You May Also Like

About the Author: admind

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.