Jeden WordPress i kilka stron WWW? Dzięki MultiSite możesz zarządzać wieloma domenami i subdomenami z poziomu jednego panelu administratora. Sprawdź, jakie korzyści wiążą się z tą funkcjonalnością i jak w prosty sposób przeprowadzić jej instalację oraz konfigurację.
Do kogo kierowany jest ten poradnik?
- Omawiane zagadnienia wymagają wcześniejszej styczności i doświadczenia w instalacji oraz konfiguracji WordPressa.
- Niezbędna jest również podstawowa wiedza w zakresie edycji plików PHP – nie musisz umieć programować.
Czego potrzebujesz?
- Edytora kodu źródłowego, np. Visual Studio Code.
- Klienta FTP, np. FileZilla.
Czego się nauczysz?
Dowiesz się, czym jest WordPress MultiSite, jakie ma wady i zalety oraz w jaki sposób przeprowadzić instalację tej funkcjonalności. Ponadto nauczysz się, w jaki sposób dostosować narzędzie do swoich indywidualnych potrzeb.
Czym jest WordPress MultiSite?
WordPress MultiSite to funkcjonalność, która pozwala stworzyć wiele stron w obrębie jednej instalacji silnika WordPress.
Wyobraź sobie, że chcesz stworzyć trzy oddzielne serwisy o hodowli psów, kotów i kanarków. Przeprowadzenie trzech instalacji WordPressa nie jest szczególnie czasochłonne, jeśli wykorzystasz autoinstalator w dPanelu.
Niestety sprawa się komplikuje, kiedy musisz utrzymywać te serwisy, aktualizować je, robić kopie bezpieczeństwa i pilnować, aby dobrze działały. O ile z trzema serwisami nie byłoby problemu, to jednak w skali 20 czy 50 różnica jest już wyraźnie zauważalna.
I tutaj z pomocą przychodzi MultiSite. Dzięki niemu w jednej instalacji serwisu możesz mieć kilka różnych stron. Z punktu widzenia użytkownika każda strona będzie osobnym bytem, może mieć inny motyw, inne włączone wtyczki.
Magia natomiast będzie działa się w panelu, w którym z poziomu administratora możesz zarządzać wtyczkami oraz motywami dla wszystkich stron jednocześnie.
W artykule, przywołując WordPress MultiSite, będę korzystał ze skrótu MU.
Historia WordPress MultiUser
We wszystkich wersjach WordPressa aż do wersji 3 można było stworzyć wyłącznie jednego bloga. Oczywiście, po edycji kilku plików, dało się z jednej instalacji obsługiwać kilka blogów w różnych domenach, ale to rozwiązanie nie było wygodne.
W pewnym momencie powstało rozwidlenie w projekcie WordPressa i pojawił się WordPress MultiUser. Pozwalał on, w ramach jednej instalacji, obsługiwać różne blogi kontrolowane przez różnych użytkowników. WPMU idealnie sprawdzał się do budowania społeczności blogowych oraz zaplecza SEO.
Od wersji WordPressa 3.0 projekt WPMU został wcielony w główne źródła i jest dostępny w każdym WordPressie – to, jak go wyłączyć, wytłumaczę w jednym z następnych akapitów.
Rodzaje MultiSite
Wyróżniamy kilka różnych wdrożeń. Poniżej przestawię Ci te najpopularniejsze, czyli podział pod kątem sposobu instalacji stron (subdomeny, domeny), jak i otwarty system pozwalający zarejestrować się każdemu użytkownikowi oraz zamknięty.
MultiSite w subdomenach
Jest to najprostsze wdrożenie MultiSite. Polega na tym, że instalujesz WordPressa w głównej domenie, np. moja.pl. Teraz możesz tworzyć strony na subdomenach, np. strona1.moja.pl, strona2.moja.pl i tak dalej. Aby osiągnąć ten efekt, wystarczy w dPanelu włączyć „Konto typu Wildcard”.
Żeby to zrobić przejdź do zakładki „Strony WWW”, przy wybranej domenie kliknij „Akcje”, następnie „Edytuj” i zaznacz opcję „Konto typu Wildcard”.
MultiSite na domenach
W tym przypadku sytuacja jest analogiczna – musisz zainstalować WordPressa.
Następnie utwórz w dPanelu pustą stronę.
1. Wpisz nazwę domeny w pole „Adres strony WWW”, np. strona.pl.
2. W polu „Katalog konta WWW” podaj nazwę domeny głównej, na której zainstalowałeś WordPressa – w naszym przypadku jest to moja.pl.
3. Koniecznie ustaw te same wersje PHP.
4. Teraz odznacz opcje „Utwórz konto FTP dla konta WWW” oraz „Utwórz bazę MySQL dla konta WWW”. Nie będą nam potrzebne, ponieważ korzystamy z bazy danych i konta FTP głównej strony moja.pl.
Proces konfiguracji domeny w MultiSite został opisany w sekcji „Jak skonfigurować WordPress MultiSite?”.
WordPress MultiSite dzieli się również na MultiSite zamknięty, w którym wyłącznie administrator może tworzyć użytkowników i zakładać dla nich strony oraz otwarty, w którym wszyscy użytkownicy mogą założyć bloga i go prowadzić. Administrator jest w stanie wprowadzać ograniczenia, blokować oraz usuwać strony, które nie przestrzegają regulaminu.
Jeśli WordPress jest Twoim ulubionym CMSem, to Elastyczny Web Hosting jest ofertą dla Ciebie. Na naszych serwerach EWH dostępne jest już popularne narzędzie WP-CLI, które przy większej liczbie instalacji WordPressa automatyzuje szereg powtarzalnych czynności. Do tego nasz LiteSpeed Web Server zapewnia dostęp do LiteSpeed Cache, który świetnie współpracuje z WordPressem.
Dla kogo jest WordPress MultiSite?
MultiSite jest przeznaczony dla zaawansowanych użytkowników, którzy już dość dobrze znają WordPressa i doceniają jego zalety. Osobiście używam MU, kiedy serwis dysponuje bardzo rozbudowanymi wersjami językowymi. Dzięki temu każda wersja językowa jest inna, niezależna od siebie. Osoba niezajmująca się kwestiami technicznymi, która wyłącznie publikuje artykuły, jest w stanie je dużo sprawniej wprowadzać. Alternatywą są wtyczki do tworzenia wersji językowych. Niestety potrafią przysporzyć wielu problemów mniej doświadczonym użytkownikom.
MU często wykorzystuje się również w firmach, które prowadzą kilka niepowiązanych ze sobą działalności, np. hodowlę kotów oraz sklep z akcesoriami dla nich.
Kolejnym zastosowaniem są serwisy regionalne. Wyobraź sobie, że prowadzisz gazetę w Warszawie a jej domena to gazetawarszawa.pl. Dzięki zastosowaniu MU możesz stworzyć dedykowane serwisy każdej z dzielnic, np. wola.gazetawarszawa.pl lub mokotow.gazetawarszawa.pl.
Innym zastosowanie MU jest tworzenie zaplecza SEO, ale ten temat to materiał na zupełnie inny artykuł.
Pamiętaj: wybór MU lub pojedynczych serwisów jest bardzo trudny, a pochopne wdrożenie danego rozwiązania może doprowadzić do dużych utrudnień lub kosztów w przyszłości. Dobrze się zastanów i przedyskutuj tę decyzję z doświadczonymi użytkownikami.
Zalety WordPress MultiSite
Największą zaletą MU jest to, że nie musisz pamiętać o aktualizacjach każdej strony z osobna – wszystko da się załatwić za jednym zamachem. Instalacja wtyczek oraz motywów to też wyłącznie jednorazowa czynność, ponieważ instalujesz je dla całej sieci stron.
Ponadto dostęp do zarządzania użytkownikami dla każdej z witryn znajduje się w jednym miejscu, co również stanowi znaczące udogodnienie.
Wady WordPress MultiSite
Podstawową wadą WordPress MultiSite, która może całkowicie wykluczyć możliwość wykorzystania tej funkcjonalności, jest to, że nie wszystkie wtyczki do WordPressa działają z MU. Na przykład bardzo popularna wtyczka Better Search Replace nie wspiera MU. Jest to bardzo niekorzystne z punktu widzenia administratora – ta wtyczka dysponuje kilkoma ciekawymi zastosowaniami i nie jest wykorzystywana tylko do wdrażania SSL w WordPressie. Jednak w rękach niedoświadczonych użytkowników mogłaby uszkodzić MU albo doprowadzić do całkowitego przejęcia uprawnień administratora przez zwykłego użytkownika.
Kolejną sporą wadą jest fakt, że włamanie do MU to automatyczne włamanie do całej sieci stron. Nie tracisz wyłącznie jednej strony, a wszystkie działające w obrębie jednej sieci. Na szczęście usuwanie awarii lub skutków włamania naprawiamy tylko raz.
Następną wadą MU jest to, że użytkownicy nie mogą sami instalować wtyczek oraz motywów. Dodatkowo nagły wzrost ruchu lub atak DDoS na jedną ze stron może doprowadzić do spowolnienia lub awarii wszystkich pozostałych w tej samej sieci.
Po tych teoretycznych rozważaniach przejdźmy do najważniejszego punktu.
Jak włączyć WordPress MultiSite?
Krok 1 – Edycja pliku wp-config.php
Po instalacji WordPressa otwórz plik wp-config.php i dopisz linijkę odpowiedzialną za włączenie MU. To, w którym miejscu zamieścisz tę linijkę, nie ma właściwie znaczenia. Jedynym warunkiem jest to, żeby znalazła się powyżej linijki „/”. Ułatwi to przyszłym administratorom zlokalizowanie zmian w pliku – taki sposób proponują zresztą twórcy WordPressa.
define('WP_ALLOW_MULTISITE', true);
Do edycji pliku możesz wykorzystać jeden z klientów FTP, np. FileZilla.
Krok 2 – Włączenie sieci witryn
Przejdź do panelu administracyjnego WordPressa i wybierz opcję „Uruchomienie sieci witryn”, którą znajdziesz w zakładce „Narzędzia” po lewej.
Jeśli dysponujesz włączonymi wtyczkami, WordPress poprosi o ich wyłączenie.
Teraz podaj „Nazwę sieci witryn” – tę nazwę widzisz tylko Ty i nie ma znaczenia, jaką ustawisz. Chyba że będziesz tworzyć otwartą platformę blogową dla nowych użytkowników – wtedy oni również ją zobaczą.
Następnie wprowadź „Adres e-mail administratora sieci witryn” – to jest główny adres e-mail, na który będą wysyłane wszystkie istotne informacje związane z Twoją siecią witryn.
Krok 3 – Edytowanie plików
Po wysłaniu formularza z kroku poprzedniego zobaczysz informację o potrzebie edycji dwóch plików: wp-config.php oraz .htaccess.
WordPress sugeruje również, żeby zrobić kopie zapasowe plików. Potraktuj tę radę poważne.
Poniżej znajduje się kod, który musiałem zamieścić w trakcie instalacji MU – to tylko przykład, otrzymasz własny, indywidualny kod i to właśnie ten powinieneś zamieścić.
wp-config.php:
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'kurs.dkonto.pl');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
.htaccess:
RewriteEngine On
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]
Krok 4 – Ponowne logowanie
Jeżeli wykonasz prawidłowo wszystkie instrukcje, po kliknięciu dowolnego linku zostaniesz wylogowany z WordPressa i będziesz musieć zalogować się ponownie. Wówczas ujrzysz kokpit WordPressa:
To właśnie tak prezentuje się panel administratora sieci witryn. Instalacja przebiegła pomyślnie, więc możesz zacząć konfigurację swojego MU.
Jak skonfigurować WordPress MultiSite?
Praktycznie wszystkie niezbędne ustawienia znajdziesz w „Ustawienia sieci” w zakładce „Ustawienia” po lewej. Przy jej pomocy:
- Zmienisz nazwę sieci.
- Włączysz lub wyłączysz możliwość rejestracji użytkowników.
- Wprowadzisz zabronione nazwy subdomen.
- Utworzysz listę zablokowanych adresów e-mail.
- Wprowadzisz pierwsze treści dla każdej nowej witryny.
- Zezwolisz lub zabronisz przesyłania plików.
Dodawanie nowej witryny do sieci
Sprawa jest bardzo prosta – kliknij „Dodaj nową” w zakładce „Witryny” i wypełnij krótki formularz zawierający 4 pola.
1. Adres witryny (URL): adres witryny, pod którym znajdzie się nowa strona. Prawdopodobnie będziesz mógł definiować wyłącznie subdomeny.
2. Tytuł witryny: możesz wpisać dowolny, użytkownik i tak będzie mógł go zmienić.
3. Język witryny: j/w.
4. Adres e-mail administratora: tutaj nie chodzi o twój adres e-mail, ale o e-mail właściciela nowej witryny.
Konfiguracja WordPress MultiSite dla domen
Jeśli chcesz tworzyć witryny w sieci w oparciu o indywidualną domenę a nie tylko w ramach subdomeny, musisz dokonać edycji w pliku wp-config.php dodając jedną linijkę:
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
Ten zabieg pozwoli na uniknięcie błędu, który informuje, że pliki cookies są nieprawidłowe.
Dodawanie witryny w domenie głównej
Na początku utwórz stronę w subdomenie tak jak wcześniej. Teraz przejdź do „Wszystkie witryny” w „Witryny”. Z listy wybierz nowo utworzoną stronę i kliknij „Edytuj”. Następnie zmień wartości w trzech polach:
1. Adres witryny (URL): podaj adres domeny https://mojadomena.pl.
2. Siteurl: j/w.
3. Home: j/w.
Zaawansowane ustawienia strony
Możesz dokonać zaawansowanej konfiguracji strony. W tym celu w panelu administracyjnym wybierz „Wszystkie witryny” w „Witryny”, a następnie obok konkretnej strony kliknij „Edytuj”.
Podsumowanie
Mam nadzieję, że teraz wiesz więcej o WordPress MultiSite i bez problemu poradzisz sobie z instalacją tej funkcjonalności. Przy większej ilości serwisów to naprawdę wiele ułatwia.