Zarządzanie kilkoma stronami jest proste. Zarządzanie ponad 100 stronami dla globalnej grupy albo sieci franczyzowej to problem logistyczny, chyba że użyjesz odpowiedniej architektury. W 2026 roku WordPress Multisite pozostaje wbudowanym sposobem na prowadzenie dużej floty stron z jednej instalacji WordPressa.
Oto jak zaprojektować sieć 100 stron, zarządzać nią i ją skalować.
Krótka odpowiedź: WordPress Multisite nadal sprawdza się bardzo dobrze w 2026 roku, gdy potrzebujesz centralnej kontroli, wspólnego kodu i spójnych zasad na wielu stronach. Staje się złym wyborem, gdy potrzebujesz twardej izolacji danych, radykalnie różnej infrastruktury dla poszczególnych stron albo pełnej autonomii każdego zespołu.
Więcej o programowaniu WordPressa dla firm znajdziesz w WPPoland.
Aktualizacja 100 stron WordPress z jednej bazy kodu
Główną zaletą Multisite jest jedna baza kodu rdzenia do zarządzania. Na tym opiera się cała reszta tego poradnika.
Scentralizowane aktualizacje
Gdy pojawia się poprawka bezpieczeństwa, instalujesz ją raz na poziomie sieci i nowy kod działa na wszystkich 100 stronach w tym samym momencie. Przy 100 oddzielnych instalacjach ta sama poprawka oznacza 100 przebiegów aktualizacji, a każda strona, która czeka, dłużej pozostaje narażona.
Przy tej skali liczy się jeden szczegół: aktualizacja rdzenia może też zmienić schemat bazy danych. Kod jest wspólny, ale każda strona ma własne tabele, dlatego po aktualizacji rdzenia WordPress prosi o uruchomienie Aktualizuj Sieć Witryn. Podręcznik administracji sieci opisuje to tak: funkcja aktualizacji sieci „przejdzie przez każdą witrynę, po pięć naraz, i dopilnuje, aby wszystkie zmiany w bazie danych zostały zastosowane” (tłumaczenie własne). Wyłączone strony są pomijane i dostają aktualizację, gdy administrator danej strony zaloguje się po jej ponownym włączeniu.
Wspólna biblioteka
Motywy i wtyczki są wspólne. Jeśli chcesz zmienić korporacyjne kolory marki, modyfikujesz jeden motyw, a zmiana pojawia się na wszystkich stronach regionalnych, które go używają.
Zarządzanie wspólnymi zasobami:
- Motyw korporacyjny: jeden motyw nadrzędny, a warianty poszczególnych marek jako motywy potomne
- Kluczowe wtyczki: SEO, bezpieczeństwo, cache i analityka instalowane raz przez Super Admina
- Wtyczki must-use: pliki w
mu-pluginsładują się na każdej stronie i nie da się ich wyłączyć na pojedynczej stronie
Spójność marki i jej granica
Fonty, kolory i odstępy zdefiniowane w pliku theme.json motywu obowiązują na każdej stronie, która używa tego motywu. Granicą jest baza danych: podręcznik zaznacza, że „zmiany stylów wprowadzone w Edytorze witryny dotyczą tylko poszczególnych witryn” (podręcznik administracji sieci, tłumaczenie własne), bo są zapisywane w tabelach danej strony. Jeśli spójność marki ma znaczenie, trzymaj system projektowy w plikach motywu pod kontrolą wersji i ogranicz, kto może edytować style w Edytorze witryny.
Jak utworzyć sieć WordPress Multisite
Oficjalna procedura jest krótka, a kolejność wyznacza przewodnik Create a Network:
- Zrób kopię zapasową bazy danych i plików, sprawdź, czy działają przyjazne bezpośrednie odnośniki, i wyłącz wszystkie aktywne wtyczki.
- Jeśli WordPress działa z własnego katalogu, skonfiguruj to przed włączeniem Multisite.
- Dodaj
define( 'WP_ALLOW_MULTISITE', true );dowp-config.phpnad linią kończącą edycję. To odblokowuje Narzędzia > Ustawianie sieci witryn. - Na ekranie Ustawianie sieci witryn wybierz subdomeny albo podkatalogi i zainstaluj sieć.
- Dodaj linie wygenerowane przez WordPressa do
wp-config.phpi.htaccess, a potem zaloguj się ponownie.
Podręcznik administrowania siecią dodaje uwagę, która oszczędza czas na nowoczesnych stosach: WordPress potrafi wygenerować reguły przepisywania dla Apache i IIS, „ale nie potrafi wygenerować konfiguracji Nginx” (tłumaczenie własne). Na Nginx reguły dla Multisite piszesz samodzielnie na podstawie udokumentowanych przykładów.
W wierszu poleceń WP-CLI wykonuje tę samą konwersję komendą wp core multisite-convert, która tworzy tabele Multisite i dodaje stałe do wp-config.php. Dla sieci opartej na domenach dodaj --subdomains.
Multisite na subdomenach czy w podkatalogach
Ten wybór decyduje o wyglądzie adresów stron i o tym, co musi obsługiwać serwer. Zasady wymienia przewodnik przygotowania sieci:
| Instalacja na subdomenach | Instalacja w podkatalogach | |
|---|---|---|
| Wzór adresu | site1.example.com | example.com/site1 |
| Wymagania serwera | DNS i mapowanie na serwerze dla każdej nazwy (wildcard, wirtualne hosty albo subdomeny dodane w panelu) | Działające przyjazne bezpośrednie odnośniki |
| Strony tworzone na żądanie | Wymaga subdomen wildcard | Działa bez dodatkowego DNS |
| Niedostępne, gdy | Adres WordPressa zawiera ścieżkę albo jest to localhost lub adres IP | Istniejąca strona działa dłużej niż miesiąc |
| Skutek uboczny dla strony głównej | Brak | Wpisy na stronie głównej dostają prefiks /blog/ |
Sieci nie da się w ogóle utworzyć, gdy adres WordPressa używa innego portu niż 80 lub 443. Późniejsza zmiana typu jest możliwa, ale ciężka: zmiana SUBDOMAIN_INSTALL i reguł przepisywania „nie przenosi istniejących adresów witryn ani nie konfiguruje DNS, wirtualnych hostów, certyfikatów TLS, przekierowań i ciasteczek” (przewodnik przygotowania sieci, tłumaczenie własne). Przy planie na 100 stron zdecyduj raz i przetestuj wybór na stagingu.
WordPress multi-network i sharding bazy danych
Organizacje, które wyrosły z jednej sieci, grupują strony w kilka sieci w ramach jednej instalacji, czyli w konfiguracji multi-network. Rdzeń obsługuje taki model danych, ale interfejs do zarządzania dostarczają wtyczki, na przykład WP Multi Network.
Grupowanie regionalne
Możesz mieć sieć dla Europy, sieć dla obu Ameryk i sieć dla regionu APAC, wszystkie w ramach jednej instalacji. Każda sieć ma własne ustawienia i własną listę wtyczek włączonych w sieci.
| Sieć | Przykładowe strony |
|---|---|
| Europa | site-spain.es, site-germany.de, site-france.fr, site-italy.it |
| Ameryki | site-usa.com, site-mexico.mx, site-brazil.com.br, site-canada.ca |
| APAC | site-japan.jp, site-australia.com.au, site-india.in |
W WP-CLI każda sieć ma numeryczne ID. wp site create --network_id=2 dodaje stronę do drugiej sieci, a wp site list --network=2 wyświetla tylko jej strony.
Sharding przez drop-in db.php
Żeby baza danych nie stała się wąskim gardłem, drop-in db.php, taki jak HyperDB, rozkłada tabele stron na kilka serwerów bazodanowych i kieruje odczyty do replik.
Strategie shardingu:
- Według regionu: każda sieć regionalna ma własny serwer bazy danych
- Według ruchu: strony o dużym ruchu dostają dedykowane serwery
- Hybrydowo: połączenie obu podejść na podstawie zmierzonego obciążenia
Co jest wspólne, a co osobne dla każdej strony
| Dane | Gdzie się znajdują |
|---|---|
| Użytkownicy | Wspólne tabele dla całej sieci; użytkownik potrzebuje roli na stronie, żeby mieć do niej dostęp |
| Ustawienia sieci | Opcje sieci, domyślnie zapisywane w wp_sitemeta i odczytywane przez get_site_option() |
| Wpisy, strony, opcje strony | Osobne tabele dla każdej strony |
| Pliki przesłane | Strona główna w /wp-content/uploads/, pozostałe strony w /wp-content/uploads/sites/<site ID>/ |
| Kod wtyczek i motywów | Jedna kopia na dysku dla wszystkich stron |
Podręcznik administrowania siecią dodaje też, że włączenie wtyczki w całej sieci „nie zmienia miejsca, w którym wtyczka przechowuje swoje dane” (tłumaczenie własne). To, czy ustawienia są wspólne dla sieci, czy osobne dla każdej strony, zależy od tego, jak napisano daną wtyczkę, więc sprawdź to, zanim dopuścisz wtyczkę do sieci.
SSO i uprawnienia użytkowników w WordPress Multisite
Przy 100 stronach masz zapewne setki użytkowników. Nie da się nimi zarządzać ręcznie.
Integracja SSO
Połącz Multisite z dostawcą tożsamości, takim jak Okta albo Microsoft Entra ID (dawniej Azure AD). Gdy pracownik odchodzi z firmy, jego dostęp do wszystkich 100 stron jest cofany w jednym miejscu. To zamyka lukę osieroconych kont, częstą drogę do starych stron.
Kontrola po stronie Super Admina
Określ, które strony mogą włączać które wtyczki. Regionalny zespół marketingu nie powinien móc zainstalować ryzykownej wtyczki, która mogłaby zepsuć całą sieć. WordPress wymusza część tego domyślnie: w sieci administratorzy stron „nie mogą instalować nowych motywów ani wtyczek i nie mogą edytować profili użytkowników na swojej witrynie” (podręcznik administrowania siecią, tłumaczenie własne). Może to tylko Super Admin.
Zalecana hierarchia ról:
| Rola | Zakres | Uprawnienia |
|---|---|---|
| Super Admin | Cała instalacja | Pełna kontrola: wtyczki, motywy, strony, użytkownicy |
| Administrator | Jedna strona | Ustawienia strony, dodawanie użytkowników, jeśli sieć na to pozwala |
| Redaktor | Jedna strona | Publikowanie i edycja wszystkich treści |
| Autor | Jedna strona | Publikowanie własnych wpisów |
| Współpracownik | Jedna strona | Pisanie szkiców do przeglądu |
Własne role, na przykład menedżer SEO z dostępem tylko do pól meta, są możliwe dzięki wtyczce do ról albo kodowi i definiuje się je dla każdej strony osobno.
Dostęp administratorów stron do wtyczek
Domyślnie administratorzy stron w ogóle nie widzą ekranu Wtyczki. Ekran Ustawienia sieci ma opcję w sekcji Ustawienia menu, która go włącza. Nawet wtedy administratorzy stron mogą tylko włączać i wyłączać wtyczki zainstalowane przez Super Admina; wtyczki włączone w całej sieci mają oznaczenie Włączona w sieci witryn i nie da się ich wyłączyć.
Wtyczka może też zadeklarować w nagłówku Network: true, co czyni ją wtyczką wyłącznie sieciową.
Motywy dla poszczególnych stron
Włączenie motywu w sieci nie przełącza na niego żadnej strony. Motyw staje się jedynie dostępny. Motyw można też włączyć dla pojedynczej strony na ekranie Edytuj witrynę, w zakładce Motywy. Nowe strony dostają najnowszy motyw domyślny, chyba że ustawisz w wp-config.php stałą WP_DEFAULT_THEME na nazwę folderu motywu korporacyjnego, co oszczędza ręczny krok przy każdej nowej stronie.
Jak publikować treści na wielu stronach sieci WordPress Multisite
Strony w sieci domyślnie nie współdzielą treści. Podręcznik porównuje sieć do „miniaturowej wersji WordPress.com” (podręcznik administrowania siecią, tłumaczenie własne) i odsyła do wtyczek, jeśli chodzi o współdzielenie. Syndykację trzeba więc zaplanować jako funkcję, którą dodajesz, bo sama się nie pojawi.
Jedno ogłoszenie na każdej stronie
Wtyczki typu broadcast pozwalają opublikować globalne ogłoszenie korporacyjne raz i skopiować je na wszystkie 100 stron. Typowe przykłady to informacje prasowe, nowości produktowe, komunikaty dotyczące bezpieczeństwa i zgodności oraz kampanie sezonowe.
Globalne wyszukiwanie
Użyj Elasticsearch (przez ElasticPress), aby udostępnić wyszukiwarkę, która znajdzie treść na każdej stronie w całej sieci. Natywne wyszukiwanie WordPressa przeszukuje tabele jednej strony.
Odczyt treści z innych stron
Każda strona udostępnia własne REST API, więc strona centralna może pobierać wpisy ze stron regionalnych przez HTTP. W PHP funkcje switch_to_blog() i restore_current_blog() pozwalają kodowi czytać tabele innej strony bezpośrednio i właśnie tak działa większość wtyczek do syndykacji.
Lista kontrolna wydajności WordPress Multisite dla ponad 100 stron
| Komponent | Zalecenie | Dlaczego to ważne |
|---|---|---|
| Object cache | Redis (klaster przy dużej skali) | Zapobiega przeciążeniu bazy danych przez współdzielone zapytania |
| CDN | Cache na brzegu sieci | Przyspiesza TTFB dla stron globalnych |
| Przechowywanie | Zgodne z S3 | Przenosi pliki multimedialne poza serwer, żeby go nie zapychać |
| Wyszukiwanie | Elasticsearch | Natywne wyszukiwanie WP nie przeszukuje wielu stron naraz |
| Baza danych | MySQL 8+ z replikami do odczytu | Rozkłada obciążenie odczytami na kilka serwerów |
| Monitoring | APM z danymi dla każdej strony | Pokazuje, która strona generuje obciążenie |
Redis w Multisite
- Klucze dla każdej strony: object cache zapisuje dane z kluczem zawierającym ID strony, więc strony nie nadpisują sobie nawzajem cache
- Grupy globalne: użytkownicy i opcje sieci trafiają do cache raz dla całej sieci
- Alerty pamięci: jedna duża strona potrafi zapełnić wspólny cache
Limity przesyłania plików dla każdej strony
Ustawienia sieci kontrolują też miejsce na dysku. Domyślnie przestrzeń na pliki każdej strony jest ograniczona do 50 MB, a maksymalny rozmiar przesyłanego pliku do 1500 KB, i obie wartości można zmienić. Dozwolone typy plików to lista na poziomie sieci; dodanie typu do tej listy „NIE zadziała” (ustawienia sieci, tłumaczenie własne), jeśli nie jest on też dozwolony przez filtr upload_mimes. Przy 100 stronach ustaw te limity świadomie, zamiast podnosić je po każdej skardze.
Automatyzacja WordPress Multisite z WP-CLI i CI/CD
Zautomatyzowane wdrożenia
W sieci liczącej ponad 100 stron ręczne wdrożenia się nie skalują:
- Pipeline CI/CD: każda zmiana w kodzie przechodzi automatyczne testy na stagingu
- Stopniowe wdrażanie: gdy prowadzisz kilka sieci albo instalacji, wdrażaj najpierw na najmniejszą grupę
- Wycofanie zmian: miej poprzednie wydanie gotowe do przywrócenia
WP-CLI przy dużej skali
WP-CLI to główne narzędzie do prowadzenia sieci z wiersza poleceń. Poniższe polecenia pochodzą z oficjalnej dokumentacji poleceń WP-CLI:
# Zaktualizuj rdzeń raz, potem uruchom aktualizację bazy danych na każdej stronie
wp core update
wp core update-db --network
# Włącz wtyczkę dla całej sieci
wp plugin activate ja-plugin --network
# Włącz wtyczkę tylko na każdej stronie sieci 2
wp site list --network=2 --field=url | xargs -I {} wp plugin activate ja-plugin --url={}
# Policz opublikowane wpisy na każdej stronie
wp site list --field=url | while read url; do
echo "$url $(wp post list --post_type=post --post_status=publish --format=count --url="$url")"
donePolecenia cyklu życia strony
| Zadanie | Polecenie |
|---|---|
| Utworzenie strony | wp site create --slug=berlin --title="Berlin" |
| Utworzenie strony na własnej domenie | wp site create --site-url=https://example.de |
| Utworzenie strony, która nie jest indeksowana | wp site create --slug=preview --private |
| Archiwizacja strony | wp site archive 42 |
| Lista zarchiwizowanych stron | wp site list --archived=1 |
| Usunięcie strony z zachowaniem jej tabel | wp site delete 42 --keep-tables |
| Lista Super Adminów | wp super-admin list |
| Udostępnienie motywu w całej sieci | wp theme enable corporate --network |
Archiwizacja i wyłączenie są odwracalne, a Administracja siecią witryn w praktyce traktuje archiwizację tak samo jak wyłączenie. Oznaczenie jako spam sprawia, że strona jest niedostępna dla wszystkich. Usunięcie kasuje stronę, więc w skryptach używaj --keep-tables, dopóki nie masz sprawdzonej kopii zapasowej.
Monitoring i alerty dla każdej strony
Każda strona w sieci potrzebuje własnych alertów:
- Dostępność każdej strony (strona główna może działać, gdy podstrona leży)
- Core Web Vitals dla każdej strony
- Błędy PHP dla każdej strony (wtyczka włączona na jednej stronie może powodować błędy tylko tam)
- Przyrost bazy danych dla każdej strony
Jak podpiąć własną domenę do strony w multisite
Mapowanie domen jest natywne od WordPressa 4.5, jak podaje przewodnik mapowania domen. Kroki:
- Skieruj DNS domeny na serwer i zaparkuj ją na głównej domenie sieci.
- Zainstaluj certyfikat TLS dla każdej domeny; przewodnik zaleca SNI dla dodatkowych domen.
- W Administracji siecią witryn otwórz Witryny, edytuj stronę i ustaw Adres witryny (URL) na pełną domenę, na przykład
https://example.com. - Jeśli logowanie kończy się błędem ciasteczek, dodaj
define( 'COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );dowp-config.php.
Przy 100 markach na 100 domenach stałym zadaniem staje się odnawianie certyfikatów, więc zautomatyzuj je na serwerze.
Kiedy nie używać multisite
Multisite nie zawsze jest rozwiązaniem. Sam podręcznik ostrzega: jeśli planujesz strony, które mocno ze sobą powiązane „współdzielą dane albo współdzielą użytkowników”, to „sieć multisite może nie być najlepszym rozwiązaniem” (podręcznik administrowania siecią, tłumaczenie własne). Unikaj go, jeśli:
- Wymagania są nietypowe: strona A potrzebuje zupełnie innej konfiguracji serwera albo innej wersji PHP niż strona B.
- Liczy się reputacja IP: jeśli jedna strona w sieci rozsyła spam, może to zaszkodzić reputacji wszystkich innych stron pod tym samym adresem IP. Najbardziej dotyczy to stron, które zależą od dostarczalności poczty.
- Potrzebna jest izolacja danych: klient wymaga, żeby jego dane znajdowały się w całkowicie oddzielnej bazie danych ze względów prawnych.
- Zespoły mają być autonomiczne: każdy zespół musi sam wybierać i instalować wtyczki.
- Jedna strona dominuje: jedna strona generuje większość ruchu i potrzebuje własnej infrastruktury.
Alternatywy dla Multisite
| Scenariusz | Alternatywa |
|---|---|
| Izolacja danych | Oddzielne instalacje z narzędziami do centralnego zarządzania |
| Autonomia zespołów | Oddzielne instalacje ze wspólnym pipeline’em wdrożeń |
| Jedna dominująca strona | Model hybrydowy: ciężka strona osobno, reszta w Multisite |
| Różne wymagania serwerowe | Oddzielne instalacje w kontenerach |
Jak przenieść strony do WordPress Multisite krok po kroku
Etap 1: audyt
- Inwentaryzacja wszystkich istniejących stron
- Analiza używanych wtyczek i motywów oraz tego, czy każdy z nich działa w Multisite
- Wymagania dotyczące danych i izolacji
- Integracje każdej strony
Etap 2: architektura
- Struktura sieci (jedna sieć czy kilka)
- Subdomeny czy podkatalogi, wybrane raz
- Strategia bazy danych
- Role i uprawnienia
Etap 3: wdrożenie
- Środowisko Multisite na stagingu
- Migracja treści strona po stronie
- SSO i zasady zarządzania
- Cache i CDN
Etap 4: optymalizacja
- Testy obciążeniowe
- Strojenie cache i bazy danych
- Szkolenie administratorów sieci
- Spisane procedury aktualizacji i dodawania nowych stron
Podręcznik ostrzega, że przenoszenie Multisite „jest bardziej skomplikowane niż przenoszenie pojedynczej instalacji” (podręcznik administrowania siecią, tłumaczenie własne), więc przetestuj ścieżkę migracji na stagingu przed przełączeniem produkcji.
Podsumowanie
WordPress Multisite to mocne narzędzie dla każdego, kto prowadzi flotę stron. Łączy wydajność centralnego zarządzania ze swobodą rozproszonego tworzenia treści.
Jeśli planujesz skalowanie z 10 stron do 100 albo 1000, poprawne zaprojektowanie Multisite od pierwszego dnia jest najważniejszą decyzją techniczną, jaką podejmiesz.
Projekt sieci Multisite decyduje o tym, ile pracy kosztuje każda kolejna strona we flocie, i tego wyboru nie da się odłożyć na później. Jeśli chcesz zaplanować taką architekturę, zanim liczba witryn zacznie ciążyć, zobacz jak prowadzę wdrożenia WordPressa.







