Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

🛠 Pełny przewodnik po multisite WordPress

🛠 Pełny przewodnik po multisite WordPress

Dziesięć stron na WordPress, a do każdej osobny login, osobny panel administracyjny, osobne aktualizacje. Po miesiącu administrowanie zamienia się w pracę na pełny etat.

WordPress Multisite rozwiązuje ten problem u podstaw: jedna instalacja, jedno logowanie, a stron tyle, ile potrzeba. Ten tryb jest wbudowany w rdzeń WordPressa od wersji 3.0 i nie wymaga zewnętrznych wtyczek. Poniżej konfiguracja multisite krok po kroku, od włączenia w pliku wp-config.php po zarządzanie gotową siecią.

💡 Szybki przegląd:

  • Proszę przygotować WordPressa: proszę zainstalować stronę na własnym hostingu i uzyskać dostęp do plików przez FTP lub menedżer plików. Plany WordPress.com nie nadają się do multisite.
  • Proszę włączyć multisite: proszę dodać define('WP_ALLOW_MULTISITE', true); w pliku wp-config.php. Po odświeżeniu panelu administracyjnego pojawi się pozycja „Ustawienia sieci".
  • Proszę skonfigurować strukturę sieci: proszę wybrać subdomeny lub podkatalogi i wypełnić podstawowe parametry. Od tej decyzji zależy format adresów URL wszystkich stron w sieci.
  • Proszę aktywować sieć: proszę skopiować wygenerowany przez WordPress kod do plików wp-config.php i .htaccess, zapisać pliki i zalogować się do panelu administracyjnego ponownie. Sieć jest uruchomiona.

Krok 1: Przygotowanie instalacji WordPressa

Multisite włącza się na istniejącej stronie lub na czystej instalacji WordPressa, nie ma zasadniczej różnicy. Główny warunek: WordPress musi być zainstalowany na własnym hostingu (self-hosted). Plany WordPress.com nie obsługują multisite.

Jeśli strona już działa, proszę tymczasowo dezaktywować wszystkie wtyczki przed konfiguracją. To zabezpieczenie przed konfliktami na etapie aktywacji sieci. Gdy multisite zacznie działać, wtyczki można włączyć z powrotem, zostaną one poprawnie przejęte.

Proszę sprawdzić, czy ma Pan/Pani dostęp do plików strony przez FTP lub menedżer plików hostingu. Edycja plików wp-config.php i.htaccess będzie konieczna ręcznie, bez dostępu do systemu plików nie da się tego zrobić.

Krok 2: Włączenie multisite w pliku wp-config.php

Proszę otworzyć plik wp-config.php w katalogu głównym instalacji WordPressa. Proszę znaleźć linię:

1/* That's all, stop editing! Happy publishing. */

Bezpośrednio nad nią proszę dodać:

1/* Multisite */
2define( 'WP_ALL_MULTISITE', true );

Proszę zapisać plik. Ta pojedyncza linia aktywuje ukrytą funkcjonalność multisite w rdzeniu WordPressa. Na tym etapie sieć nie jest jeszcze utworzona, włączył Pan/Pani jedynie narzędzie do jej konfiguracji.

Proszę odświeżyć stronę panelu administracyjnego (lub zalogować się ponownie, jeśli system Pana/Panią wylogował). W menu Narzędzia pojawi się nowa pozycja, Ustawienia sieci.

Krok 3: Konfiguracja sieci, subdomeny czy podkatalogi

Proszę przejść do Narzędzia → Ustawienia sieci. Otworzy się strona „Tworzenie sieci stron WordPress":

Strona konfiguracji multisite WordPress

Tutaj podejmuje się kluczową decyzję architektoniczną, strukturę adresów stron w sieci:

  • Subdomeny: adresy w formacie site1.yourdomain.com, site2.yourdomain.com. Wyglądają jak niezależne strony, lepsze dla SEO. Wymagają rekordu DNS z wildcard na serwerze.

  • Podkatalogi: adresy w formacie yourdomain.com/site1, yourdomain.com/site2. Łatwiejsze w konfiguracji, nie wymagają dodatkowej konfiguracji DNS. Działają na każdym hostingu.

Jeśli strona jest starsza niż miesiąc, WordPress nie pozwoli wybrać subdomen dla istniejącej instalacji, tylko podkatalogi. To nie jest ograniczenie, a zabezpieczenie przed uszkodzonymi linkami (stare adresy URL stałych stron pokrywałyby się z adresami nowych stron w sieci).

Proszę wypełnić pola: nazwa sieci i adres e-mail administratora sieci. Adres e-mail superadministratora nie musi być taki sam jak adres e-mail administratora bieżącej strony, ale to właśnie na niego będą przychodzić powiadomienia o nowych rejestracjach i problemach sieci.

Proszę kliknąć Zainstaluj.

Krok 4: Aktywacja sieci, wp-config.php i.htaccess

Po kliknięciu „Zainstaluj" WordPress pokaże stronę z instrukcjami i dwoma blokami kodu:

Instrukcja aktywacji sieci multisite

Przed wprowadzeniem zmian proszę zrobić kopię zapasową plików wp-config.php i.htaccess. Jeśli popełni Pan/Pani błąd w którymkolwiek z plików, strona przestanie działać, a kopia pozwoli przywrócić stan w kilka sekund.

Proszę dodać w pliku wp-config.php (bezpośrednio po linii define('WP_ALLOW_MULTISITE', true);, którą dodał Pan/Pani już w kroku 2):

1define( 'MULTISITE', true );
2define( 'SUBDOMAIN_INSTALL', false );
3define( 'DOMAIN_CURRENT_SITE', 'yourdomain.com' );
4define( 'PATH_CURRENT_SITE', '/' );
5define( 'SITE_ID_CURRENT_SITE', 1 );
6define( 'BLOG_ID_CURRENT_SITE', 1 );

Wartość SUBDOMAIN_INSTALL proszę wziąć z ekranu konfiguracji: true dla subdomen, false dla podkatalogów. DOMAIN_CURRENT_SITE, Pana/Pani domena bez https:// i bez ukośnika na końcu.

Proszę zastąpić zawartość pliku.htaccess. Jeśli plik.htaccess nie istnieje, proszę utworzyć go w katalogu głównym strony, obok pliku wp-config.php. Jeśli plik istnieje, proszę całkowicie zastąpić jego zawartość kodem z ekranu konfiguracji sieci. Przykład dla podkatalogów:

1RewriteEngine On
2RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
3RewriteBase /
4RewriteRule ^index\.php$ - [L]
5
6#Rewrite rule: trailing slash for wp-admin
7RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
8
9RewriteCond %{REQUEST_FILENAME} -f [OR]
10RewriteCond %{REQUEST_FILENAME} -d
11RewriteRule ^ - [L]
12RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
13RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
14RewriteRule . index.php [L]

Proszę zwrócić uwagę: kod na Pana/Pani ekranie WordPressa może nieznacznie różnić się od powyższego przykładu. Proszę skopiować dokładnie ten, który wygenerowała Pana/Pani instalacja, jest on wygenerowany pod konkretną konfigurację serwera.

Po zapisaniu obu plików proszę wylogować się z panelu administracyjnego i zalogować ponownie. WordPress ponownie wczyta konfigurację i aktywuje sieć.

Krok 5: Panel administratora sieci

Po ponownym zalogowaniu do panelu administracyjnego pojawia się nowa pozycja menu, Moje strony → Administrator sieci:

Rozwijane menu administratora sieci WordPress

Panel administratora sieci to osobna sekcja, w której zarządza się wszystkimi stronami sieci. Dostępne są tutaj:

  • Strony, lista, dodawanie, edycja i usuwanie stron sieci.
  • Użytkownicy, zarządzanie użytkownikami, mianowanie administratorów poszczególnych stron.
  • Motywy, instalacja i aktywacja motywów dla całej sieci. Motyw staje się dostępny dla stron dopiero po aktywacji sieciowej.
  • Wtyczki, aktywacja sieciowa wtyczek (są włączane od razu na wszystkich stronach) lub zezwolenie na aktywację selektywną.
  • Ustawienia, parametry globalne: rejestracja stron i użytkowników, listy powitalne, limity przesyłania.

Aby wrócić do administrowania konkretną stroną, proszę wybrać ją z rozwijanego menu Moje strony i kliknąć Kokpit:

Lista witryn multisieci w menu Moje witryny

Przycisk „Kokpit" przenosi do zwykłego panelu administracyjnego wybranej strony, tego samego panelu, co w pojedynczej instalacji WordPressa. Przełączanie między stronami odbywa się natychmiastowo, bez ponownego logowania.

Krok 6: Dodawanie pierwszej strony i administrowanie

Sieć została utworzona. Dodajmy pierwszą stronę podrzędną.

W panelu administratora sieci proszę przejść do Strony → Dodaj nową. Proszę wypełnić pola:

  • Adres strony, część adresu URL: nazwa subdomeny lub nazwa podkatalogu (tylko litery łacińskie i myślniki).
  • Nazwa strony, wyświetlana nazwa, którą widzi właściciel strony w panelu administracyjnym.
  • Adres e-mail administratora, użytkownik z takim adresem e-mail zostanie administratorem nowej strony. Jeśli użytkownika z takim adresem e-mail nie ma jeszcze w sieci, WordPress utworzy konto automatycznie.

Proszę kliknąć Dodaj stronę, gotowe. WordPress utworzy nową stronę z domyślnym motywem, czystą bazą danych i przypisanym administratorem. Właściciel strony otrzymuje standardowy panel administracyjny WordPressa bez dostępu do ustawień sieci. W razie potrzeby superadministrator może w każdej chwili wejść do kokpitu dowolnej strony w sieci przez panel administratora.

Kilka ważnych kwestii administracyjnych:

  • Aktualizacje rdzenia, motywów i wtyczek są stosowane raz, od razu dla całej sieci. Oszczędność czasu w porównaniu z N osobnymi instalacjami rośnie liniowo z każdą nową stroną.
  • Użytkownik może być zarejestrowany na jednej stronie sieci lub na kilku. Uprawnienia na każdej stronie są przyznawane osobno.
  • Motywy i wtyczki są instalowane przez superadministratora. Poszczególne strony widzą tylko to, na co superadministrator zezwolił w skali sieci.
  • Kopia zapasowa jest wykonywana na poziomie całej instalacji, jedna baza danych, jeden system plików. Przywracanie jest również jedno dla wszystkich.
  • Limity przesyłania są ustawiane globalnie w Ustawieniach sieci: maksymalny rozmiar pliku i dozwolone typy plików. Domyślnie WordPress multisite ogranicza przesyłanie do 1500 KB na stronę, tę wartość warto zwiększyć pod konkretne potrzeby.
  • Mapowanie domen (wtyczka WordPress MU Domain Mapping lub wbudowana funkcjonalność nowszych wersji) pozwala przypisać osobną domenę do dowolnej strony w sieci. Strona z adresem network.com/site5 może otwierać się pod własną domeną site5.com, zachowując zarządzanie wewnątrz multisite.

Podczas usuwania strony z sieci jej zawartość (strony, wpisy, pliki multimedialne) jest usuwana bezpowrotnie. WordPress pokazuje ostrzeżenie, ale nie tworzy automatycznej kopii zapasowej. Przed usunięciem jakiejkolwiek strony proszę wykonać eksport jej danych za pomocą standardowego narzędzia eksportu, zajmie to minutę, ale zachowa zawartość do ewentualnego przywrócenia.

Proszę również wziąć pod uwagę, że wp-cron w multisite działa inaczej: zaplanowane zadania są wykonywane podczas odwiedzin dowolnej strony w sieci, a nie każdej z osobna. Jeśli jedna ze stron w sieci ma niską odwiedzalność, jej zadania cron i tak zostaną wykonane podczas wejścia na aktywną stronę.

Pulpit z kodem WordPress na ekranie

⁉️🤔 Często zadawane pytania

Czy można przekształcić istniejącą stronę z zawartością w multisite?

Tak, dokładnie ten scenariusz opisano w krokach powyżej. Proszę dezaktywować wtyczki, dodać WP_ALLOW_MULTISITE w pliku wp-config.php i przejść przez konfigurację sieci. Istniejąca zawartość stanie się główną stroną sieci z ID 1. Nie ma drogi powrotnej: wyłączenie multisite i powrót do zwykłego trybu jest trudniejsze niż włączenie. Proszę wykonać pełną kopię zapasową bazy danych i plików przed rozpoczęciem.

Subdomeny czy podkatalogi, co jest naprawdę lepsze?

Subdomeny wyglądają jak osobne strony i nie mają problemu „co, jeśli wtyczka utworzy stronę z takim samym slugiem, jak strona podrzędna". Ale do subdomen potrzebny jest wildcard DNS i wsparcie dostawcy hostingu. Podkatalogi są prostsze: działają od razu, bez DNS. Minusem podkatalogów jest konflikt slugów. Jeśli wtyczka na głównej stronie utworzy stronę /contact, a Pan/Pani ma stronę podrzędną yourdomain.com/contact, strona podrzędna przestanie się otwierać. Na początek proszę wybrać podkatalogi, a wraz ze wzrostem sieci przejść na subdomeny poprzez zmianę konfiguracji.

Ile stron realnie wytrzymuje jeden multisite?

Nie ma ograniczeń technicznych, znane są instalacje z tysiącami stron. Wąskim gardłem nie jest WordPress, a serwer: każda strona sieci jest obsługiwana przez jeden proces PHP i jedną bazę danych. Na zwykłym VPS z 2 GB RAM komfortowo działa 20-50 średnich stron. Wraz ze wzrostem obciążenia dodaje się RAM, włącza się cache obiektowy (Redis) i przechodzi na dedykowany serwer bazy danych.

Czy można dać różnym stronom różne motywy i wtyczki?

Tak, dokładnie tak działa multisite. Superadministrator instaluje motywy i wtyczki na poziomie sieci, a administrator każdej strony aktywuje te, których potrzebuje, z listy dozwolonych. Można skonfigurować wymuszoną aktywację wtyczki dla wszystkich stron sieci, jest to wygodne dla narzędzi bezpieczeństwa i kopii zapasowych.

Co stanie się z SEO podczas przejścia na multisite?

Adresy istniejącej zawartości głównej strony nie zmieniają się, SEO zostaje zachowane. Dla nowych stron sieci subdomeny są postrzegane przez wyszukiwarki jako osobne domeny (z osobnym autorytetem), a podkatalogi dziedziczą autorytet domeny głównej. Wybór między nimi zależy od tego, czy chce Pan/Pani budować autorytet jednej domeny, czy rozwijać niezależne platformy.

Co wybrać: gotowy plan działania

Multisite WordPress nie jest potrzebny właścicielowi jednej strony. Staje się uzasadniony, gdy stron jest więcej niż trzy, a administrowanie każdą z osobna pochłania czas, który lepiej przeznaczyć na treści. Decyzję o wdrożeniu proszę podejmować nie na podstawie liczby stron, ale łącznych kosztów ich utrzymania: jeśli sumaryczny czas na aktualizacje, kopie zapasowe i monitoring przekracza dwie-trzy godziny tygodniowo, multisite zwraca się w pierwszym miesiącu działania.

  • Jedna-dwie strony, proszę zostawić osobne instalacje. Koszty ogólne multisite (wspólna baza danych, wspólny system plików, brak możliwości wyłączenia trybu) nie zwracają się.
  • Trzy-dziesięć stron, proszę wybrać multisite na podkatalogach. Prosta konfiguracja, mniej ruchomych części.
  • Dziesięć i więcej, szczególnie dla klientów lub różnych marek, subdomeny z cache’owaniem obiektowym i regularnym monitoringiem.

Przed uruchomieniem sieci produkcyjnej proszę poćwiczyć na lokalnej instalacji: ten sam MAMP lub Local by Flywheel w 15 minut dają piaskownicę, w której można przejść wszystkie kroki bez ryzyka uszkodzenia działającej strony. Proszę przyjąć zasadę: zmienia Pan/Pani coś w pliku wp-config.php lub.htaccess, najpierw kopia zapasowa, potem poprawka. Po skonfigurowaniu sieci raz, będzie Pan/Pani w stanie uruchamiać nowe strony w kilka minut, bez powtarzania rutyny instalacji i konfiguracji od zera.