Какво е WordPress Multisite?
В своя ядро, WordPress предоставя функция, наречен а „Multisite“, чиито корени се проследяват до 2010 г., при стартирането на WordPress 3.0. Оттогава е преминал през множество преработки, целящи въвеждане на нови функции и затягане на сигурността.
В същността си, WordPress multisite може да се представи така: Университет поддържа една инсталация на WordPress, но всеки факултет поддържа своя собствена WordPress уеб страница.
Какво точно е WordPress Multisite?
Multisite е функция на WordPress, която позволява на множество сайтове да споделят една инсталация на WordPress. Когато се активира multisite, оригиналният WordPress сайт се преобразува, за да поддържа това, което обикновено се нарича мрежа от сайтове.
Тази мрежа споделя файловата система (което означава, че плагините и темите също са споделени), базата данни, основните файлове на WordPress, wp-config.php и др.
Това означава, че актуализациите на WordPress, темата и плагините трябва да се извършват само веднъж за всички сайтове в мрежата ви, тъй като те споделят едни и същи файлове във файловата система.
Този факт е едно от основните предимства на multisite, тъй като ви позволява да разраствате броя на сайтовете, които управлявате, като същевременно запазвате броя на задачите, които трябва да изпълните за поддръжката на сайтовете на вашите клиенти.
Поддомейн или поддиректория?
Има два начина за работа с WordPress multisite – и трябва да изберете един, когато превръщате обикновената си WordPress инсталация в multisite инсталация:
Поддомейн: напр.: site.domain.com
…или
Поддиректория: напр.: yourdomain.com/site
Всеки режим има предимства и недостатъци, които трябва да вземете предвид при вземането на това решение.
Има една важна забележка: след като вземете решението си, промяната на мрежата си от поддиректория към поддомейн или обратно е доста трудна – особено ако вече имате няколко създадени сайта.
Преди да вземете това решение, ето няколко точки, които да имате предвид:
Режим Поддиректория е най-лесният режим от гледна точка на настройката и поддръжката. Това се случва, защото всички сайтове са просто пътища, прикрепени към основния домейн (напр. yourdomain.com/subsite). В резултат на това, ви е необходим само един SSL сертификат за основния домейн, който ще покрие цялата мрежа.
В същото време, поради структурата на URL, Google и повечето други търсачки ще разглеждат всички подсайтове в вашата мрежа, базирана на поддиректории, като един гигантски сайт. В резултат на това, съдържанието, добавено в подсайтовете от вашите крайни клиенти, може да повлияе на SEO представянето на целевия ви сайт, например. Нивото на въздействие е спорно и може да се твърди, че такава организация може дори да бъде благоприятна за SEO представянето.
Режим Поддомейн е малко по-сложен за настройка, но структурата му на URL (напр. subsite.yournetwork.com) обикновено се възприема като „по-професионална“.
Едно от основните предизвикателства при настройката на режима поддомейн е SSL покритието (HTTPS) за цялата мрежа. Проблемът е, че браузърите разглеждат поддомейната като изолирани обекти. В резултат на това, ще ви е необходим различен SSL сертификат за всеки поддомейн в мрежата ви или специален тип сертификат, наречен Wildcard SSL сертификат. В последните години хостинг доставчиците и панелите подобряват своите възможности за предоставяне на SSL и някои предлагат wildcard сертификати с едно кликване, затваряйки разликата между двата режима по отношение на сложността на настройката.
В сравнение с режима поддиректория, подсайтовете в мрежа, базирана на поддомейни, се разглеждат от търсачките като отделни уебсайтове, което означава, че съдържанието, присъстващо на един подсайт, изобщо не пречи на SEO представянето на други подсайтове.
Супер Администраторът
Инсталациите на WordPress за един сайт ви позволяват да добавяте неограничен брой потребители и да им давате различни роли с различни права.
В WordPress Multisite се отключва нов тип потребител: супер администратор – и се отключва ново административно панел: панелът на мрежата.
Както се подразбира от името, супер администраторът има суперсили над мрежата, като може да управлява всички нейни подсайтове, плагини, теми, всичко!
След като превърнете инсталацията си на WordPress за един сайт в multisite, оригиналният администратор на единствения сайт автоматично ще бъде повишен до супер администратор.
Плагините и темите могат да бъдат инсталирани или деинсталирани само от панела на мрежата от супер администратори. Администраторите на подсайтовете след това могат да решат дали да активират или деактивират тези плагини или теми, освен ако супер администраторът на мрежата не активира плагин, което го принуждава да бъде активен за всички подсайтове винаги.
Забележка: както можете да видите, поканяването на някого в вашата мрежа и предоставянето на статус супер администратор дава на този потребител пълен контрол над вашата мрежа. Например, други супер администратори дори могат да премахнат вашия статус супер администратор, ефективно блокирайки достъпа ви до собствения си панел на мрежата. За да позволим на клиентите на Ultimate Multisite да имат гранулиран контрол върху това какво могат да направят допълнителните супер администратори, имаме допълнителен модул, наречен Support Agents. Този модул ви позволява да създадете още един тип потребител – агент – с права само за тези, които може да са необходими за изпълнението на задачите им в мрежата.
Какво се споделя между подсайтовете и какво не се споделя
Както споменахме по-рано, едно от основните предимства на WordPress multisite е, че всички подсайтове споделят едни и същи конфигурации, основни файлове, теми, плагини, основни файлове на WordPress и т.н.
Въпреки това, има елементи, които са добре ограничени на ниво подсайт.
-
Например, всеки подсайт получава собствена папка за качвания. В резултат на това, качванията, направени от потребители на един конкретен подсайт, не могат да бъдат достъпни на друг подсайт.
-
Всеки подсайт има собствено административно панел и може да активира или деактивира плагини или теми, освен ако не са активни на ниво мрежа от супер администратор.
-
Повечки таблици в базата данни са създадени за всеки подсайт, което означава, че публикациите, коментарите, страниците, настройките и др. са ограничени за всеки подсайт.
Управление на потребителите в WordPress Multisite
Едно деликатно преучване в WordPress multisite е управлението на потребителите. Таблицата на потребителите на WordPress е една от малкото, които се споделят между всички подсайтове.
Тази организация може да генерира някои проблеми в зависимост от това какво планирате да изградите с вашата мрежа. Примерът по-долу помага да илюстрира най-належащия.
Представете си следвария сценарий:
Създавате WordPress multisite мрежа и започвате да предлагате подсайтове срещу месечна такса на хора, които искат да имат e-commerce магазин.
Получавате първия си плащащ клиент – Джон. Създавате сайт за Джон в вашата мрежа, инсталирате всички необходими плагини, след което създавате потребител за Джон, за да може да управлява магазина си.
След това идва втори клиент – Алис. Правите същото и за нея и тя вече има магазин в вашата мрежа.
Джон и Алис са вашите клиенти, но не се познават. По-важното е, че ако един от тях посети уебсайта на магазина на другия, няма начин да се разбере, че този магазин е хостван в една и съща мрежа от сайтове.
Един ден, Джон трябва да купи нова двойка обувки и намира идеалните в магазина на Алис. Когато се опитва да завърши покупката, получава съобщение за грешка „имейл вече е в употреба“, което е странно, тъй като Джон е 100% сигурен, че никога не е посетил сайта на Алис.
Какво се случи тук е, че потребителят на Джон се споделя в цялата мрежа, така че когато се опита да създаде профил за плащане на сайта на Алис, WordPress ще засече, че потребител с един и същ имейл вече съществува и ще изхвърли грешка.
Забележка: осъзнаваме колко лошо може да бъде това в зависимост от случая ви, така че Ultimate Multisite има опция, която заобикаля обикновените проверки за съществуващ потребител, позволявайки създаването на множество профили с един и същ имейл. Всеки профил е свързан с подсайт, т ака че рискът от сблъсък е минимален. В горния пример, Джон няма да получи съобщение за грешка и ще може да купи обувките без проблем. Тази опция се нарича Enable Multiple Accounts и може да се активира в Ultimate Multisite → Settings → Login & Registration.
Въпреки че таблицата на потребителите се споделя, потребителите могат да бъдат добавени и премахнати от подсайтовете от администраторите на подсайтовете или от супер администратора, и дори могат да имат различни роли на потребители на различни подсайтове.
Съображения за производителността
WordPress multisite е изключително мощен, когато става въпрос за броя на сайтовете, които може да поддържа. Това може да се докаже от факта, че WordPress.com, Edublogs и Campuspress са всички услуги, базирани на multisite и всяка от тях хоства хиляди сайтове.
В теория няма максимален брой сайтове, които можете да хоствате на една WordPress multisite инсталация, но в практика броят на сайтове, които можете удовлетворително да управлявате, може да варира значително в зависимост от множество различни фактори: колко динамични са сайтовете, какви плагини са налични за подсайтовете и т.н.
Като общо правило, толкова по-проста е вашата мрежа, толкова по-добре е. Намаляването на сайтове, чието съдържание не е много динамично (което ги прави отлични кандидати за агресивни кеширащи стратегии) и поддържането на стека от плагини възможно най-лек (колкото по-малко активни плагини, толкова по-добре) може драстично да увеличи броя на подсайтове, които можете да хоствате.
Най-доброто е, че тъй като всичко е WordPress, същите инструменти, които вече познавате и обичате за подобряване на производителността, също ще работят за multisite мрежа.
Основното съдово място за multisite е базата данни, но ако всичко остана настроено правилно, може да премине няколко хиляди сайта, преди да се наложи да се загрилите за това. Дори тогава има решения, които могат постепенно да бъдат добавени (като решения за шардинг на база данни, например).