Jak wdrożyć multisite (sieć stron) w WordPress krok po kroku

WordPress Multisite pozwala uruchomić jedną instalację WordPressa, która obsługuje wiele stron — każda ma własne treści, ale współdzieli rdzeń, wtyczki i motywy. To świetne rozwiązanie dla agencji, sieci blogów, serwisów wielooddziałowych i projektów SaaS. Ten poradnik przeprowadzi Cię przez cały proces — od przygotowań, przez aktywację, po konfigurację domen i najlepsze praktyki.


1. Wstępne przygotowania (backup & wymagania)

  1. Backup: zrób pełną kopię plików i bazy danych. Multisite zmienia strukturę bazy.
  2. Wersja WordPress: użyj aktualnej stabilnej wersji.
  3. Uprawnienia serwera: dostęp SSH/FTP, możliwość edycji wp-config.php, .htaccess lub konfiguracji Nginx.
  4. Permalinki: ustaw struktury permalinks (np. /%postname%/) — w Ustawienia → Bezpośrednie odnośniki.

2. Wybór typu sieci: subdomeny vs podkatalogi

  • Subdomeny (site1.example.com) — wymagają wildcard DNS (*.example.com) i odpowiedniej konfiguracji serwera. Lepsze skalowanie i separacja.
  • Podkatalogi (example.com/site1/) — łatwiejsze przy hostingu dzielonym; domyślnie nie wymagają wildcard DNS.
    Wybierz przed aktywacją (zmiana później jest trudniejsza).

3. Włączenie trybu multisite (wp-config.php)

  1. Otwórz wp-config.php i przed /* That's all, stop editing! Happy publishing. */ dodaj:
define('WP_ALLOW_MULTISITE', true);
  1. Zapisz i przeładuj panel WordPress (/wp-admin/).
  2. W Narzędzia → Konfiguracja sieci pojawi się ekran konfiguracji. Wybierz subdomeny lub podkatalogi i ustaw tytuł sieci oraz adres e-mail administratora.

4. Dodanie kodu wg instrukcji (wp-config + .htaccess / nginx)

Po zatwierdzeniu WordPress poda fragmenty do dodania. Typowo:

Do wp-config.php:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true); // true dla subdomen, false dla podkatalogów
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Dla Apache — dodaj do .htaccess (zastąp standardowe reguły WP):

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]

Dla Nginx — przykładowy blok server:

server {
    server_name example.com *.example.com;
    root /var/www/html;

    index index.php;
    # wp-admin and wp-login handling
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Uwaga: dla subdomen Nginx musi obsługiwać wildcard server_name albo dedykowane wpisy.


5. Konfiguracja DNS dla subdomen

Dla subdomen skonfiguruj wildcard DNS:

  • rekord A: *.example.com → adres IP serwera
    (na niektórych panelach: rekord typu A z nazwą *).

Jeśli używasz podkatalogów — DNS bez zmian.


6. Obsługa SSL i HTTPS

  • Wildcard SSL (np. *.example.com) albo certyfikaty dla każdej domeny. Let’s Encrypt obsługuje wildcard (ACME + DNS challenge).
  • Dla subdomen: upewnij się, że serwer obsługuje certyfikat (nginx/apache config).
  • Włącz wymuszenie HTTPS (HSTS rozważ ostrożnie).

7. Tworzenie nowych stron w sieci

Jako Network Admin (Sieć → Strony) możesz:

  • Dodawać nowe strony (subdomeny lub podkatalogi),
  • Aktywować wtyczki sieciowo (Network Activate),
  • Instalować motywy i udostępniać je sieciowo.

Pamiętaj: wtyczki aktywowane sieciowo działają dla wszystkich stron; motywy muszą być „Sieciowo dostępne”, a autor strony wybiera motyw z udostępnionych.


8. Mapowanie domen (custom domains)

Jeśli chcesz, by każda strona miała własną domenę (np. clientsite.com zamiast client.example.com), masz dwie opcje:

  1. Domain mapping przez konfigurację serwera i wpis w panelu multisite (WordPress od wersji 4.5 wspiera custom domains na poziomie core — wystarczy ustawić Site Address (URL) w panelu sieci).
  2. Starsze podejście: wtyczka do mapowania domen (rzadziej potrzebna).
    Wymagania: domena klienta powinna kierować na ten sam serwer (A record) i w serwerze virtual host akceptować tę domenę. SSL: zadbaj o certyfikat dla tej domeny.

9. Uprawnienia i role

  • Super Admin (Network Admin) ma pełną kontrolę nad siecią.
  • Administratorzy poszczególnych stron zarządzają tylko swoimi treściami.
  • Uważaj z przydzielaniem ról — sieć centralnie zarządza instalacją wtyczek i motywów.

10. Migracja pojedynczej strony do multisite (import)

Aby przenieść istniejącą stronę do multisite:

  1. Na stronie źródłowej: Eksport treści (Narzędzia → Eksport).
  2. W multisite: utwórz nową stronę, wejdź w nią i Importuj plik WXR.
  3. Skopiuj pliki (media) do wp-content/uploads/sites/<blog_id>/ (ID bloga znajdziesz w sieci).
  4. Dostosuj permalinki i opcje motywu.

Dla dużych migracji rozważ użycie WP-CLI i WP Migrate/All-in-One WP Migration (z opcją multisite).


11. Backupy i aktualizacje

  • Regularne backupy (pliki + baza) to obowiązek — Multisite ma więcej punktów awarii.
  • Aktualizuj rdzeń, motywy i wtyczki na środowisku staging przed produkcją.
  • Testuj wtyczki pod kątem kompatybilności z multisite (nie wszystkie wspierają sieć).

12. Monitorowanie, skalowanie i najlepsze praktyki

  • Używaj cache na poziomie serwera (LSCache/Nginx FastCGI + Redis) i CDN.
  • Ogranicz liczbę aktywnych wtyczek sieciowo — wpływają na wszystkie strony.
  • Rozważ oddzielne bazy danych/DB clusters przy dużej skali.
  • Monitoruj wydajność (NewRelic, Munin, Prometheus).
  • Zadbaj o politykę tworzenia użytkowników i bezpieczeństwo (2FA, ograniczenie logowań).

13. Najczęstsze problemy i ich rozwiązania

  • Błąd 404 na subdomenach — sprawdź wildcard DNS i reguły w .htaccess/nginx.
  • Brak ability instalacji wtyczki jako admin strony — tylko Super Admin może instalować wtyczki sieciowo.
  • Problemy z obrazami po migracji — popraw ścieżki w bazie (wp search-replace).
  • SSL nie działa na mapowanych domenach — wygeneruj certyfikat dla każdej domeny (Let’s Encrypt + automation).

Podsumowanie

WordPress Multisite to potężne narzędzie do zarządzania wieloma stronami z jednego miejsca. Wymaga jednak przemyślanego planu: przygotowania DNS, certyfikatów, strategii backupów i zasad zarządzania wtyczkami/motywami. Przy prawidłowej konfiguracji zyskujesz spójność, łatwiejsze zarządzanie i skalowalność.

KROK 1 Z 4

Z CZYM POTRZEBUJESZ POMOCY?