~/www cat poradnik-o-wordpress-multisite.md
WordPress Multisite — poradnik: sieć stron z jednej instalacji
Poradnik WordPress Multisite: kiedy sieć stron się opłaca, jak ją włączyć krok po kroku, konfiguracja .htaccess i Nginx, własne domeny, WP-CLI i typowe błędy.

~ xad tldr poradnik-o-wordpress-multi…
- WordPress Multisite pozwala prowadzić wiele witryn z jednej instalacji, wspólnych motywów, wtyczek i panelu — przydatne dla sieci oddziałów, agencji i stron wielojęzycznych.
- Sieć włączasz, dodając define( 'WP_ALLOW_MULTISITE', true ); do wp-config.php, a potem przez Narzędzia → Konfiguracja sieci wybierasz subdomeny lub podkatalogi.
- Podkatalogów nie wybierzesz na instalacji starszej niż miesiąc, a adres strony nie może używać portu innego niż 80 lub 443.
- Każda witryna sieci może mieć własną domenę bez wtyczek (od WordPressa 4.5) — wystarczy zmienić jej adres w panelu sieci i skonfigurować DNS oraz SSL.
- Multisite to wspólny punkt awarii: włamanie, błąd wtyczki czy przeciążenie jednej witryny dotyka całej sieci, więc niezależne projekty lepiej trzymać osobno.
$ tree --spis-tresci
WordPress Multisite to wbudowana funkcja WordPressa, która pozwala prowadzić wiele niezależnych witryn z jednej instalacji: wspólnego rdzenia, wspólnych motywów i wtyczek oraz jednego panelu zarządzania. Zamiast utrzymywać pięć osobnych WordPressów, aktualizujesz jeden, a zmiany obejmują całą sieć. To rozwiązanie dla konkretnych scenariuszy, a nie domyślny sposób prowadzenia kilku stron.
W tym poradniku wyjaśniam, czym jest sieć Multisite, komu się opłaca, a komu zaszkodzi, jakie są wymagania i jak ją włączyć krok po kroku, łącznie z konfiguracją serwera, własnymi domenami dla witryn i obsługą z wiersza poleceń. Opieram się na oficjalnej dokumentacji Multisite.
Czym jest sieć Multisite i jak działa
W zwykłej instalacji WordPress obsługuje jedną witrynę. Multisite zmienia to tak, że na tej samej instalacji powstaje sieć wielu witryn. Każda ma własną treść, ustawienia i adres, ale współdzieli kod, motywy i wtyczki.
Co jest wspólne, a co osobne:
- Rdzeń WordPressa, motywy i wtyczki instalujesz raz dla całej sieci.
- Każda witryna ma osobne tabele treści w bazie (np.
wp_2_posts,wp_2_options) i własny folder na pliki:wp-content/uploads/sites/2/. - Tabele użytkowników (
wp_users,wp_usermeta) są wspólne. Jedno konto może mieć różne role na różnych witrynach. - Wtyczkę możesz włączyć dla całej sieci (Network Activate) albo zostawić do aktywacji na poszczególnych witrynach. Motyw musi być najpierw udostępniony w sieci.
- Aktualizacja rdzenia obejmuje jednym ruchem wszystkie witryny.
Ta współdzielona natura jest jednocześnie największą zaletą (jedno miejsce zarządzania) i największym ryzykiem (jeden problem dotyka wszystkich).
Kiedy Multisite się opłaca, a kiedy szkodzi
Multisite dobrze sprawdza się, gdy witryny są podobne i powiązane:
- Firmy z wieloma oddziałami lub lokalizacjami. Osobna strona dla każdego oddziału, wspólny wygląd i administracja.
- Strony wielojęzyczne. Każda wersja językowa jako osobna witryna sieci. Przy tłumaczeniach przyda się też tekst o automatycznym tłumaczeniu stron.
- Agencje prowadzące wiele podobnych witryn klientów na wspólnym motywie.
- Uczelnie, sieci sklepów, franczyzy. Dziesiątki stron o wspólnej tożsamości.
Kiedy Multisite szkodzi:
- witryny używają zupełnie różnych wtyczek i motywów,
- klienci mają mieć pełny dostęp administracyjny do swojej strony (zwykły administrator w sieci nie zainstaluje wtyczki),
- jedna witryna ma znacznie większy ruch od reszty i potrzebuje osobnego skalowania,
- spodziewasz się, że witryny będą kiedyś sprzedawane lub przenoszone osobno.
Uwaga: Współdzielona instalacja oznacza wspólny punkt awarii. Włamanie, błąd wtyczki czy przeciążenie jednej witryny mogą położyć całą sieć. Niezależne strony łatwiej i bezpieczniej prowadzić jako osobne instalacje WordPressa.

Wymagania przed uruchomieniem sieci
Do prowadzenia sieci wystarczy jedno konto hostingowe, ale musi ono udźwignąć łączny ruch i dane wszystkich witryn. Sprawdź:
- Działające bezpośrednie odnośniki (pretty permalinks). Bez nich sieć nie zadziała poprawnie.
- Port. Adres WordPressa nie może zawierać portu innego niż
:80lub:443. - Adres do subdomen. Instalacji na
localhost, na adresie IP ani w podkatalogu domeny (np.domena.pl/wp) nie skonfigurujesz w trybie subdomen. - Wsparcie hostingu. Dostawca musi pozwalać na Multisite i edycję
wp-config.phporaz.htaccess(Apache, LiteSpeed) lub konfiguracji Nginx. Część hostingów zarządzanych ogranicza Multisite do wyższych pakietów. - Zasoby. Wszystkie witryny dzielą tę samą pulę miejsca, pamięci PHP i bazy danych.
- Kopię zapasową. Zrób pełny backup plików i bazy, bo zmieniasz pliki konfiguracyjne.
Jeśli WordPress ma działać w osobnym katalogu (tzw. „własny katalog”), przenieś go przed włączeniem Multisite, a nie po.
Subdomeny czy podkatalogi — wybór na start
Przy zakładaniu sieci WordPress poprosi o wybór jednej z dwóch struktur:
- Subdomeny:
oddzial.twojadomena.pl. Wyglądają jak niezależne witryny. Jeśli witryny mają powstawać „na żądanie”, potrzebujesz wildcard DNS (*.twojadomena.pl) i certyfikatu wildcard SSL. Przy kilku stałych subdomenach wystarczą pojedyncze rekordy DNS i certyfikaty. - Podkatalogi:
twojadomena.pl/oddzial. Prostsze w konfiguracji, bez wildcard DNS, wszystkie witryny pod jednym certyfikatem.
Oficjalna dokumentacja wprost zaznacza, że podkatalogów nie wybierzesz, jeśli instalacja działa dłużej niż miesiąc, ze względu na możliwe konflikty z istniejącymi odnośnikami. Wybór jest w praktyce trwały. Zmiana typu sieci później wymaga ręcznej edycji konfiguracji i bazy.
Jak włączyć WordPress Multisite krok po kroku
Proces ma dwie fazy: odblokowanie funkcji w pliku konfiguracyjnym i konfigurację sieci w panelu.
Krok 1: Odblokuj funkcję Multisite
Otwórz wp-config.php w głównym katalogu instalacji i tuż przed linią /* That's all, stop editing! Happy publishing. */ (w starszych wersjach „Happy blogging”) dodaj:
define( 'WP_ALLOW_MULTISITE', true );
Zapisz plik i odśwież panel.
Krok 2: Skonfiguruj sieć
- Dezaktywuj wszystkie wtyczki (
Wtyczki→ zaznacz wszystkie →Wyłącz). - Przejdź do
Narzędzia→Konfiguracja sieci(Tools → Network Setup). - Wybierz strukturę: subdomeny lub podkatalogi.
- Podaj tytuł sieci i adres e-mail administratora sieci.
- Kliknij
Zainstaluj.
Krok 3: Dodaj kod do plików konfiguracyjnych
Kreator wyświetli dwa fragmenty kodu dopasowane do Twojej instalacji. Pierwszy wklej do wp-config.php (znów przed linią „stop editing”). Dla sieci w podkatalogach wygląda podobnie do:
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'twojadomena.pl' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
Drugi fragment zastępuje dotychczasowe reguły WordPressa w .htaccess (Apache, LiteSpeed). Dla podkatalogów wygląda tak:
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
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]
Zawsze używaj kodu wygenerowanego przez kreator, bo uwzględnia on Twoją ścieżkę instalacji. Po zapisaniu plików zaloguj się ponownie. W górnym pasku pojawi się menu Moje witryny → Administracja sieci (Network Admin). Teraz możesz z powrotem włączyć wtyczki, najlepiej pojedynczo.
Krok 4: Serwer Nginx
Nginx nie czyta .htaccess, więc reguły trzeba dodać do konfiguracji serwera (na hostingu współdzielonym zrobi to dostawca). Dla sieci w podkatalogach dokumentacja WordPressa podaje m.in. takie reguły w bloku server:
if (!-e $request_filename) {
rewrite /wp-admin$ $scheme://$host$request_uri/ permanent;
rewrite ^(/[^/]+)?(/wp-.*) $2 last;
rewrite ^(/[^/]+)?(/.*\.php) $2 last;
}

Ustawienia sieci, wtyczki i rola Super Administratora
Multisite wprowadza najwyższą rolę: Super Administrator. Zarządza on całą siecią: dodaje, wyłącza i usuwa witryny, instaluje i udostępnia motywy oraz wtyczki, może oznaczyć witrynę jako spam lub zarchiwizować ją. Zwykły administrator witryny zarządza treścią i użytkownikami swojej strony, ale nie zainstaluje nowych wtyczek ani motywów. To celowe ograniczenie, które chroni całą sieć.
W Administracja sieci → Ustawienia (Network Settings) ustawisz m.in.:
- rejestrację: czy goście mogą zakładać konta i własne witryny (w sieci firmowej wyłącz),
- limit miejsca na pliki dla każdej witryny (domyślnie proponowane 100 MB),
- maksymalny rozmiar przesyłanego pliku (domyślnie 1500 KB; obowiązuje też limit
upload_max_filesizez PHP), - dozwolone typy plików.
Wtyczki aktywowane dla całej sieci działają na każdej witrynie i administratorzy witryn nie mogą ich wyłączyć. Dobrze nadają się do tego zabezpieczenia, cache i kopie zapasowe. Przed instalacją sprawdź, czy wtyczka deklaruje zgodność z Multisite. Część wtyczek do zabezpieczeń i SEO wymaga osobnej konfiguracji na poziomie sieci. Jeśli zależy Ci na dodatkowym utrudnieniu dostępu do panelu, przeczytaj, czy ukrywanie wp-admin zabezpiecza WordPressa.
Dodawanie witryn i własne domeny
Dodawanie nowej witryny:
- Przejdź do
Moje witryny→Administracja sieci→Witryny. - Kliknij
Dodaj nową witrynę. - Podaj adres (subdomenę lub podkatalog), tytuł, język i e-mail administratora.
- Zatwierdź przyciskiem
Dodaj witrynę.
Przy subdomenach każda nowa subdomena musi być obsłużona w DNS i objęta certyfikatem SSL. Bez tego witryna pokaże odwiedzającym błąd certyfikatu, mimo że w panelu działa poprawnie.
Od WordPressa 4.5 każda witryna może też dostać zupełnie inną domenę bez dodatkowych wtyczek:
- Skieruj domenę w DNS na serwer sieci (rekord A lub CNAME). Jeśli DNS to dla Ciebie nowość, zacznij od tekstu o tym, jak działa serwer DNS.
- Dodaj domenę jako alias (parked domain) do głównej domeny w panelu hostingu i wystaw dla niej certyfikat SSL.
- W
Administracja sieci→Witryny→Edytujwpisz w poluAdres witryny (URL)pełny adres, np.https://oddzial-krakow.pl, i zapisz. - Jeśli pojawią się problemy z logowaniem, dodaj do
wp-config.phppod kodem sieci:
define( 'COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );
Zarządzanie siecią z WP-CLI
Przy większej liczbie witryn panel staje się wolny w obsłudze. Szybciej zrobisz to z wiersza poleceń przez WP-CLI:
# konwersja istniejącej instalacji na sieć (podkatalogi)
wp core multisite-convert --title="Sieć oddziałów"
# nowa witryna w sieci
wp site create --slug=krakow --title="Oddział Kraków" --email=admin@twojadomena.pl
# lista witryn
wp site list --fields=blog_id,url
# włączenie wtyczki dla całej sieci
wp plugin activate nazwa-wtyczki --network
# polecenie na konkretnej witrynie
wp --url=twojadomena.pl/krakow option get blogname
# zmiana adresów po przeniesieniu sieci na nową domenę
wp search-replace 'https://stara-domena.pl' 'https://nowa-domena.pl' --network
Pamiętaj, że zadania cykliczne (WP-Cron) w sieci działają osobno dla każdej witryny. Przy wielu witrynach lepiej wyłączyć WP-Cron i uruchamiać zadania z systemowego crona, co opisuje tekst WP-Cron vs. Cron.
Najczęstsze problemy z Multisite i rozwiązania
- Podwitryny zwracają 404, a główna działa. Najczęściej to stare reguły w
.htaccessalbo brak reguł Nginx. Wklej ponownie kod zAdministracja sieci→Ustawienia→Konfiguracja sieci. - Pętla przekierowań lub „Cookies are blocked” przy logowaniu. Sprawdź, czy
DOMAIN_CURRENT_SITEzgadza się z adresem w bazie (zwwwlub bez) i czy nie mieszaszhttpzhttps. Przy własnych domenach pomagaCOOKIE_DOMAIN. - Opcja podkatalogów jest niedostępna. Instalacja działa dłużej niż miesiąc. Zostają subdomeny albo świeża instalacja z importem treści.
- Błąd certyfikatu na podwitrynie. Brakuje wpisu DNS albo certyfikatu dla subdomeny lub zmapowanej domeny.
- Administrator witryny nie widzi menu Wtyczki. To normalne, bo instalacja wtyczek należy do Super Administratora.
Zanim zdecydujesz się na Multisite
Multisite dokłada złożoności: trudniejsza migracja pojedynczej witryny poza sieć, wspólny punkt awarii i wyższe wymagania hostingowe. Jeśli Twoje witryny są do siebie podobne i chcesz nimi zarządzać centralnie, sieć realnie oszczędza czas. Jeśli to niezależne projekty, wybierz osobne instalacje.
Niezależnie od wyboru zadbaj o kopie zapasowe i środowisko testowe, zanim wdrożysz zmiany na produkcji. Przy diagnozowaniu problemów pomoże tryb debugowania WordPressa.
~ man faq
Najczęściej zadawane pytania
Czym jest WordPress Multisite?
To wbudowana funkcja WordPressa pozwalająca uruchomić sieć wielu witryn na jednej instalacji. Wszystkie dzielą ten sam rdzeń, motywy i wtyczki oraz są zarządzane z jednego panelu sieci przez Super Administratora.
Kiedy warto użyć Multisite, a kiedy nie?
Warto, gdy prowadzisz wiele podobnych, powiązanych witryn (oddziały, wersje językowe, strony klientów agencji na wspólnym szablonie). Nie warto dla kilku zupełnie niezależnych projektów, bo w Multisite awaria lub włamanie dotyka całej sieci.
Subdomeny czy podkatalogi w Multisite?
Subdomeny (strona.twojadomena.pl) wyglądają jak niezależne witryny i zwykle wymagają wildcard DNS oraz certyfikatu wildcard SSL. Podkatalogi (twojadomena.pl/strona) są prostsze, ale niedostępne na instalacji działającej dłużej niż miesiąc. Wybór robisz raz przy zakładaniu sieci.
Czy każda witryna w Multisite może mieć własną domenę?
Tak. Od WordPressa 4.5 mapowanie domen jest wbudowane: w Administracji sieci → Witryny → Edytuj zmieniasz adres witryny na własną domenę, kierujesz domenę w DNS na serwer sieci i wystawiasz dla niej certyfikat SSL.
Czy w Multisite każda strona ma własne pliki?
Witryny dzielą instalację i przestrzeń dyskową, ale mają osobne foldery na przesłane pliki (wp-content/uploads/sites/ID) i osobne tabele treści w bazie. Użytkownicy, motywy i wtyczki są wspólne dla całej sieci.
Jak przenieść jedną witrynę z Multisite do osobnej instalacji?
Najprościej przez eksport treści (Narzędzia → Eksport) i import do nowego WordPressa, a potem skopiowanie folderu uploads/sites/ID. Przy dużych witrynach używa się wtyczek migracyjnych obsługujących Multisite albo ręcznej migracji tabel bazy.
Ten artykuł jest częścią tematu
$ whoami
Założyciel i redaktor XAD.pl. Pisze o sieciach, bezpieczeństwie IT, administracji systemami Windows i Linux oraz o sprzęcie, który sprawia ludziom problemy na co dzień.


