WordPress Multisite to wbudowana funkcja, która pozwala uruchomić wiele witryn WordPress z jednej instalacji WordPress. Wszystkie witryny w sieci współdzielą te same pliki rdzeniowe WordPress, te same katalogi wtyczek i motywów oraz ten sam serwer bazy danych. Jednak każda witryna zachowuje własną treść, ustawienia, uploady i role użytkowników. Pomyśl o tym jako o jednej instalacji WordPress obsługującej wiele osobnych witryn, wszystkich zarządzanych z centralnego dashboardu.
Jak WordPress Multisite jest zbudowany
Gdy włączasz Multisite, WordPress tworzy dodatkowe tabele bazy danych dla każdej witryny w sieci. Witryna główna zachowuje standardowy zestaw tabel (takich jak wp_posts i wp_options), podczas gdy każda dodatkowa witryna otrzymuje własny zestaw z prefiksem (taki jak wp_2_posts, wp_3_options itp.). Pliki rdzeniowe, pliki wtyczek i pliki motywów pozostają współdzielone. Oznacza to, że WordPress core musisz aktualizować tylko raz, a to dotyczy każdej witryny w sieci.
Konfiguracja subdomeny vs. subdirectory
Multisite domyślnie wspiera dwie struktury URL:
- Konfiguracja subdomeny: każda witryna otrzymuje własną subdomenę, na przykład
blog.example.com,shop.example.com,news.example.com. Wymaga to konfiguracji wildcard DNS na Twoim serwerze, aby wszystkie subdomeny wskazywały na tę samą instalację. - Konfiguracja subdirectory: każda witryna znajduje się pod ścieżką na tej samej domenie, na przykład
example.com/blog/,example.com/shop/,example.com/news/. Jest to prostsze do skonfigurowania, ale dostępne tylko dla nowych instalacji (istniejące witryny działające dłużej niż miesiąc są ograniczone do subdomen).
Z dodatkowymi wtyczkami lub niestandardowym kodem możesz również przypisać całkowicie osobne domeny do poszczególnych witryn w sieci. Na przykład mybrand.com może wskazywać na jedną witrynę, podczas gdy otherbrand.com wskazuje na inną, wszystkie działające na tej samej instalacji Multisite.
Rola Super Admin
Multisite wprowadza specjalną rolę o nazwie Super Admin. Super Admin ma pełną kontrolę nad całą siecią, w tym możliwość tworzenia i usuwania witryn, instalowania i aktywowania wtyczek w całej sieci, zarządzania motywami oraz dodawania lub usuwania użytkowników na wszystkich witrynach. Zwykli administratorzy witryn w sieci Multisite mają zmniejszone możliwości w porównaniu do administratora pojedynczej witryny. Nie mogą sami instalować wtyczek ani motywów; mogą tylko aktywować wtyczki i motywy, które Super Admin udostępnił.
Wtyczki aktywowane w całej sieci vs. wtyczki na witrynę
Wtyczkami w sieci Multisite można zarządzać na dwa sposoby. Super Admin może "aktywować w całej sieci" wtyczkę, włączając ją jednocześnie na każdej witrynie w sieci. Alternatywnie, Super Admin może udostępnić wtyczkę bez aktywowania jej w całej sieci, pozwalając poszczególnym administratorom witryn aktywować lub dezaktywować ją na własnej witrynie. Nie wszystkie wtyczki WordPress dobrze wspierają Multisite. Niektóre wtyczki przechowują dane w sposób konfliktujący ze współdzieloną strukturą bazy danych lub zakładają, że działają na instalacji pojedynczej witryny. Zawsze sprawdzaj kompatybilność wtyczki przed wdrożeniem jej w sieci Multisite.
Współdzielone tabele użytkowników
Wszystkie witryny w sieci Multisite współdzielą tę samą tabelę użytkowników. Oznacza to, że użytkownik zarejestrowany na jednej witrynie może uzyskać dostęp do innych witryn bez tworzenia nowego konta. Dane logowania użytkownika działają w całej sieci. Jednak role są przypisywane na witrynę. Użytkownik może być Editor na jednej witrynie i Subscriber na innej. Ten system współdzielonych użytkowników upraszcza zarządzanie dla organizacji, w których ludzie potrzebują dostępu do wielu witryn.
Kiedy Multisite ma sens
Multisite jest odpowiedni w konkretnych scenariuszach:
- Uniwersytety i szkoły: każdy wydział, fakultet lub organizacja studencka otrzymuje własną witrynę, wszystkie zarządzane centralnie przez dział IT.
- Intranet korporacyjny: różne dywizje lub biura regionalne prowadzą osobne witryny, ale współdzielą branding, wtyczki i konta użytkowników.
- Firmy franczyzowe: każda lokalizacja franczyzowa ma własną witrynę z lokalną treścią, podczas gdy firma macierzysta zarządza projektem i stosem wtyczek.
- Agencje deweloperskie: agencje zarządzające wieloma małymi witrynami klientów mogą używać Multisite, aby zmniejszyć narzut konserwacyjny, aktualizując WordPress core i wtyczki raz zamiast kilkadziesiąt razy.
- Witryny wielojęzyczne: niektóre zespoły wolą prowadzić osobną witrynę na język zamiast używać wtyczki tłumaczeniowej, używając Multisite, aby utrzymać je połączone.
Kiedy Multisite NIE ma sensu
Multisite nie zawsze jest właściwym wyborem. Unikaj go w tych sytuacjach:
- Niepowiązane witryny: jeśli witryny nie mają nic wspólnego (różni właściciele, różne cele, różne potrzeby wtyczek), osobne instalacje są łatwiejsze w zarządzaniu.
- Różne wymagania hostingowe: jeśli jedna witryna potrzebuje potężnego serwera, podczas gdy inna jest prostym blogiem, łączenie ich tworzy niepotrzebne ograniczenia.
- Niekompatybilność wtyczek: jeśli Twoje kluczowe wtyczki nie wspierają Multisite, napotkasz problemy, które są trudne do debugowania i rozwiązywania.
- Indywidualna kontrola klienta: jeśli klienci potrzebują pełnego dostępu administratora, w tym instalacji wtyczek, ograniczona rola administratora w Multisite ich sfrustruje.
Rozważania wydajnościowe
Multisite dodaje pewien narzut, ponieważ każde żądanie musi określić, do której witryny w sieci się odnosi. Współdzielona baza danych może stać się wąskim gardłem, jeśli wiele witryn jednocześnie otrzymuje duży ruch. Cache obiektów (z Redis lub Memcached) jest mocno zalecany dla sieci Multisite. Duże sieci z setkami witryn powinny również rozważyć replikację bazy danych i load balancing. Po pozytywnej stronie, współdzielenie wtyczek i motywów między witrynami oznacza mniej miejsca na dysku i mniej plików do zarządzania przez serwer w porównaniu do prowadzenia dziesiątek osobnych instalacji.
Migracja z Multisite
Przeniesienie witryny z sieci Multisite do samodzielnej instalacji WordPress jest możliwe, ale nie proste. Musisz wyeksportować treść witryny, odtworzyć tabele bazy danych bez prefiksu Multisite, przenieść uploady do właściwej struktury katalogów i ponownie skonfigurować wtyczki i ustawienia. Kilka wtyczek migracyjnych wspiera ten proces, ale ręczne dostosowania bazy danych są często potrzebne. Warto rozważyć tę trudność migracji przed zobowiązaniem się do Multisite, zwłaszcza jeśli istnieje szansa, że witryny będą musiały zostać oddzielone później.
Co sprawdza InspectWP
InspectWP może wykryć, czy witryna WordPress jest częścią sieci Multisite, analizując wskaźniki WordPress, struktury URL i wzorce specyficzne dla sieci w wyniku HTML witryny i nagłówkach odpowiedzi.