WordPress има вградена функционалност, наречена Multisite (Мултисайт), за създаване на мрежа от сайтове, съществуваща под една инсталация. Въпреки че сайтовете са отделни, те използват средата и хостинг ресурсите на основния сайт – базата данни и дисковото пространство.
Сайтовете не са отделени в собствени директории, но имат отделни директории за качваните файлове. Също така всички сайтове използват базата данни на основния сайт, като имат собствени таблици в нея.
Администраторът на мрежата от сайтове може да управлява всеки един сайт през един административен панел – Network Admin (Администрация на мрежата).
Официална помощна информация за Multisite:
Before You Create A Network | Create A Network | Multisite Network Administration
Инсталация на WordPress и активиране на Мултисайт
Multisite е вградена функционалност в WordPress и за да я използвате само е необходимо да инсталирате WordPress и да активирате Mulitsite в конфигурационния му файл wp-config.php.
Инсталацията на WordPress може да се извърши през WordPress мениджъра в cPanel » Нова инсталация на WordPress.
Активиране на Мултисайт в WordPress
След като имате инсталиран WordPress, преди да активирате Мултисайт, деактивирайте всички активни плъгини и се уверете, че опцията за постоянни/приятелски адреси е включена.
За да отключите функционалността Мултисайт в обикновена WordPress инсталация, ще трябва да редактирате конфигурационния файл – wp-config.php и да добавите в него един ред. Редакция на файла можете да направите директно през cPanel » Файлов мениджър или като използвате FTP.
Във файла wp-config.php добавете следните редове, над реда „That’s all, stop editing! Happy blogging“:
/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
редът /* Multisite */ е коментар към кода;
След като запишете промените по файла, използването на Мултисайт в WordPress ще е разрешено, но все още няма да е активирано. Следващата стъпка е конфигуриране на форма̀та за уеб адресите на сайтовете.
Презаредете страницата на административния панел на WordPress, за да се покаже новото меню Network Setup в Tools.
Има два варианта за конфигуриране на адресите на сайтовете в WP Мултисайт, като може да се използват поддомейни или поддиректории:
поддомейн
https://site.mysupersite.com
или
поддиректория
https://mysupersite.com/site
WP Мултисайт с поддомейни (sub-domains)
След като Мултисайт е разрешен във файла wp-config.php, активирането му се извършва през админ панела.
За да използвате поддомейни за адресите на уебсайтовете, много е важно първо да създадете един специален поддомейн в cPanel (wildcard поддомейн).
Създаване на wildcard поддомейн
При създаването на wildcard поддомейна през cPanel » Поддомейни, въдете коректно данните:
Поддомейн: Въведете само символа “*” (без кавичките).
Домейн: Това е домейнът на Мултисайт сайта.
Основна Директория: Вместо автоматично генерираната директория “_wildcard_.mysupersite.com”, трябва да изберете директорията на основния Мултисайт сайт.
Ако сайтът се намира под основния домейн в cPanel, директорията е public_html. Ако сайтът е поддомейн/адон домейн, трябва първо да проверите в коя директория се намира.
При създаването на този специален поддомейн се създава и wildcard DNS запис за него, който насочва всички поддмейни (несъществуващи реално) към основния Мултисайт сайт. Това е нужно, за да може WordPress Мултисайт да функционира коректно. Поддомейните (адресите) на сайтовете не е нужно да се създават ръчно като поддомейни в cPanel.
Wildcard DNS записът може да се види в Редактор на DNS зони и ще изглежда по подобен начин:
*.mysupersite.com. 14400 IN A IP-адрес-на-хостинг-сървъра
Конфигурация на Мултисайт през админ панела
След като wildcard поддомейнът е създаден, можете да продължите с конфигурацията на Мултисайт в WordPress и да изберете “sub-domains” като структура за адресите на сайтовете.
За да продължите с конфигурацията, влезте в админ панела на WordPress, в меню Tools » Network Setup.
Изберете “Sub-domains” и въведете детайли за мрежата от сайтове – заглавие и активен имейл адрес на администратора. Продължете с Install.
В случай че специалният wildcard поддомейн (*.mysupersite.com) не е създаден все още в cPanel, ще получите съобщението:
Warning! Wildcard DNS may not be configured correctly!
The installer attempted to contact a random hostname (1f0d36.supercoolwp.com) on your domain. This resulted in an error message: cURL error 6: Couldn’t resolve host ‘1f0d36.mysupersite.com’
To use a subdomain configuration, you must have a wildcard entry in your DNS. This usually means adding a * hostname record pointing at your web server in your DNS configuration tool.
You can still use your site but any subdomain you create may not be accessible. If you know your DNS is correct, ignore this message.
Wildcard поддомейнът може да се създаде и след конфигурирането на Мултисайт в WordPress. Докато не бъде създаден, поддомейните на сайтовете няма да се зареждат.
Редакция на wp-config и .htaccess файловете
Последната стъпка от активирането на Мултисайт с поддомейни, е да се добави кодът, посочен след кликване на Install.
Можете да редактирате файловете директно през cPanel » Файлов мениджър или през FTP. Направете копие на тези файлове, в случай че инсталацията не е нова.
Кодът във wp-config се поставя точно под реда, с който отключихте Мултисайт функционалността define( ‘WP_ALLOW_MULTISITE’, true );.
След като добавите кода в посочените два файла и се логнете отново в админ панела, автоматично ще се зареди Network Admin панела. Това е административният панел за вашата мрежа от сайтове.
През меню My Sites (Моите сайтове) можете да превключвате между Network Admin (Администрация на мрежата) и админ панела за основния сайт.
През Network Admin можете да добавите нов сайт или да активирате свободната регистрация на нови сайтове (потребители). За всеки сайт се създава и потребител, който е администратор за сайта.
SSL сертификати за поддомейните в Мултисайт
Възможно е всеки един сайт в Мултисайт да има валиден SSL сертификат. AutoSSL сертификатите не поддържат wildcard поддомейни (*.mysupersite.com), поради това активирането на такъв е нужно да се извърши за всеки поддомейн отделно.
Това се извършва като за всеки един сайт се създаде ръчно поддомейн в cPanel. При създаване на поддомейна AutoSSL автоматично ще инсталира SSL сертификат за него.
WP Мултисайт с поддиректории (sub-directories)
За Мултисайт с поддиректории не е необходима допълнителна настройка, освен активирането на приятелските адреси. При конфигурирането изберете опцията „Sub-directories„. След което поставете посочения код във файловете wp-config.php и .htaccess.
Възможно е да преконфигурирате Мултисайт от поддомейни към използването на поддиректории. За да превключите от поддомейни към поддиректории, редактирайте кода в wp-config.php като промените следния ред от:
define('SUBDOMAIN_INSTALL', true);
на:
define('SUBDOMAIN_INSTALL', false);
След това задължително трябва да промените кода и в .htaccess файла, като поставите следния:
# BEGIN WordPress
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]
# END WordPress
WP Мултисайт със собствени домейни
От версия 4.5+ на WordPress е възможно за сайтовете в Мултисайт да се използват собствени домейни. За предишни версии на WordPress това може да се осъществи с допълнителен плъгин. Функционалността за собствен домейн работи и при двата варианта за конфигурация на Мултисайт – поддомейни или поддиректории.
За да ползвате собствени домейни в Мултисайт, първо ще нужно те да се добавят в cPanel. Ако Мултисайт сайта е основен домейн, тогава допълнителните домейни може да се добавят като паркирани домейни. Ако Мултисайт сайта не е на основния домейн в cPanel, тоест с директория различна от public_html, допълнителните домейни трябва да се добавят като адон домейни (с директория към основния Мултисайт сайт).
След като домейните са насочени към същия хостинг сървър, на който се намира Мултисайт сайта, в настройките на съответния сайт в Network Admin единствено е нужно да промените URL адреса на сайта “Site Address (URL)”, от поддомейн/поддиректория на собствения домейн.
WordPress Multisite Domain Mapping
Промяна на домейна/ url адреса на WordPress Мултисайт
Промяна на адреса на WordPress Мултисайт като логика e както при обикновения WordPress. Разликата е, че на много места в базата данни ще е нужно да се направи смяна на адреса. В Мултисайт има няколко таблици, в които се записва адреса на основния сайт. Освен в базата данни, адресът трябва да се промени и в конфигурационния файл на Мултисайт (wp-config.php).
Промяна на адреса в базата данни
Промяна на адреса в базата данни може да се извърши през phpMyAdmin.
В следните таблици полетата home и siteurl съдържат адреса на сайта:
1. wp_options
Това е таблицата с настройки на основния Мултисайт сайт. Променете адреса в полета: siteurl и home, като оставите http:// или https:// в началото.
2. wp_sitemeta
Потърсете поле siteurl и го променете. Оставете непроменен протокола в началото на адреса и завършващата наклонена черта.
3. wp_site
Променете домейна в единствения запис. Не добавяйте протокола в началото и наклонената черта в края.
4. wp_blogs
Променете домейна за всеки един сайт, който е със стария адрес. Отново само домейна, без протокол и наклонена черта.
5. wp_N_options
Всеки сайт използва отделни таблици в базата данни, съдържащи в името си номера (ID) на сайта. По същия начин, както в таблицата options на основния сайт, трябва да промените полетата siteurl и home.
Промяна на адреса в конфигурационния файл
В конфигурационния файл wp-config.php променете адреса в реда:
define(‘DOMAIN_CURRENT_SITE’, ‘supercoolwp.com’);
Ако конфигурацията на Мултисайт е с използване на поддомейни, уверете се че за новия адрес също има създаден wildcard поддомейн.