Przekierowania 301: zmiana domeny WordPress krok po kroku

Czym są przekierowania 301 i dlaczego są kluczowe po zmianie domeny

Przekierowania 301 to podstawa bezbolesnej zmiany adresu witryny — informują przeglądarki i wyszukiwarki, że strona została przeniesiona na stałe. Dzięki temu użytkownicy trafiają automatycznie pod nowy adres, a Google przenosi większość autorytetu i pozycji SEO na nową domenę. Bez tego ryzykujesz spadki widoczności, błędy 404 i chaos w analityce.

Po migracji domeny każda stara ścieżka powinna kierować do odpowiedniej nowej ścieżki. Najlepiej, by przekierowanie było 1:1 (z zachowaniem ścieżek i parametrów), zamiast prowadzić wszystkich na stronę główną. To oszczędza budżet indeksowania i poprawia doświadczenie użytkownika.

Najważniejsze: zastosuj przekierowania na poziomie serwera lub na brzegu sieci (CDN), a dopiero w razie potrzeby używaj wtyczek.

Plan działania przed uruchomieniem przekierowań

  • Wykonaj pełną kopię zapasową plików i bazy danych.
  • Przygotuj mapę adresów URL: stare → nowe, najlepiej w arkuszu.
  • Zadbaj o wersje protokołu i www: zdecyduj, czy finalnie ma być https:// i czy z www, czy bez (spójność!).
  • Zaktualizuj adresy w WordPressie (Ustawienia → Ogólne: Adres WordPressa i Adres witryny).
  • Zaktualizuj linki w bazie (np. Better Search Replace lub WP-CLI), aby wewnętrzne odnośniki i media wskazywały nową domenę.
  • Utrzymaj tę samą strukturę URL, jeśli to możliwe — uprości to przekierowania.
  • Przygotuj środowisko testowe i sprawdź wszystko przed publikacją.

Gdzie najlepiej wdrożyć przekierowania 301

  • Serwer (Apache/Nginx) — najszybsze i najstabilniejsze. Polecane.
  • CDN (np. Cloudflare) — świetne, jeśli nie masz łatwego dostępu do serwera lub migrujesz wiele domen.
  • Wtyczka WordPress — wygodne, ale wolniejsze i zależne od aplikacji (działają tylko, gdy PHP się uruchomi).

Metoda 1: przekierowania 301 na Apache (.htaccess)

To częsty scenariusz hostingów współdzielonych. Umieść reguły jak najwyżej w pliku .htaccess starej domeny (przed WordPress Rewrite).

Przekierowanie całej domeny ze starej na nową z zachowaniem ścieżek:

  • RewriteEngine On
  • RewriteCond %{HTTP_HOST} ^stara-domena.pl$ [OR]
  • RewriteCond %{HTTP_HOST} ^www.stara-domena.pl$
  • RewriteRule ^(.)$ https://nowa-domena.pl/$1 [R=301,L]

Jeśli zmieniasz też protokół na HTTPS i chcesz standaryzacji bez www:

  • RewriteEngine On
  • RewriteCond %{HTTP_HOST} !^nowa-domena.pl$ [OR]
  • RewriteCond %{HTTPS} off
  • RewriteRule ^(.)$ https://nowa-domena.pl/$1 [R=301,L]

Wykluczenie panelu logowania i well-known (przydatne przy certyfikatach):

  • RewriteCond %{REQUEST_URI} !^/wp-admin
  • RewriteCond %{REQUEST_URI} !^/.well-known

Przekierowanie pojedynczych starych podstron na nowe:

Wskazówki:

  • Domyślnie Apache przenosi parametry zapytań — nie trzeba o to dbać osobno.
  • Reguły umieszczaj nad wpisami WordPress (BEGIN/END), aby zadziałały jako pierwsze.
  • Używaj 301 (stałe), nie 302 (tymczasowe), chyba że to testy.

Metoda 2: przekierowania 301 na Nginx

Nginx nie używa .htaccess — konfiguracja jest w plikach serwerowych (server block). Skontaktuj się z administratorem, jeśli nie masz dostępu.

Cała domena na nową z zachowaniem ścieżek:

Wymuszenie HTTPS i bez www:

  • server {
    listen 80;
    server_name www.nowa-domena.pl;
    return 301 https://nowa-domena.pl$request_uri;
    }

Wskazówki:

  • Parametry zapytań są zachowywane automatycznie.
  • Zrestartuj Nginx po zmianach i przetestuj reguły.

Metoda 3: przekierowania 301 w Cloudflare (Bulk Redirects)

Jeśli domena jest za Cloudflare, skorzystaj z Bulk Redirects:

  • W Cloudflare → Rules → Bulk Redirects → utwórz listę mapowań: stary URL → nowy URL, wybierz status 301.
  • Do przekierowania całej domeny użyj wyrażeń typu:

Zalety:

  • Szybkość na krawędzi sieci.
  • Mniej obciążenia serwera.
  • Dobra obsługa dużych list reguł (tzw. bulk).

Metoda 4: przekierowania 301 przez wtyczkę (gdy brak dostępu do serwera)

Wygodne, choć wolniejsze, bo wymagają uruchomienia WordPressa.

Polecane wtyczki:

  • Redirection — prosta, raportuje 404, wspiera wzorce i eksport.
  • Rank Math / Yoast — moduły do przekierowań w pakietach SEO.
  • Simple 301 Redirects — minimalizm, dobry do migracji mapy URL.

Jak to zrobić w Redirection:

  • Zainstaluj i włącz wtyczkę.
  • Utwórz grupę „Migracja domeny”.
  • Dodaj regułę: Źródło: /^(.+)$/ Destynacja: https://nowa-domena.pl/$1 (typ: 301).
  • Dodaj wyjątki dla /wp-admin czy ścieżek serwisowych, jeśli serwer nie obsługuje ich osobno.

Wskazówka:

  • Nie polegaj wyłącznie na wtyczkach przy dużych migracjach — lepszy serwer lub CDN.

Dobre praktyki przy przekierowaniach 301 po zmianie domeny

  • Dąż do przekierowań 1:1, nie wszystko na stronę główną.
  • Unikaj łańcuchów (stara → pośrednia → nowa). Ma być: stara → nowa w 1 kroku.
  • Zachowuj query stringi (np. UTMy) — domyślnie serwer je przenosi.
  • Standaryzuj protokół i www (jedna docelowa wersja).
  • Zostaw przekierowania min. 12 miesięcy, a najlepiej na stałe.
  • Aktualizuj linki wewnętrzne, aby użytkownik nie trafiał w redirect nawigując po stronie.
  • Zadbaj o kanoniczne adresy (tag rel=canonical wskazuje nową domenę).
  • Zaktualizuj sitemapę i prześlij ją w Search Console.
  • Monitoruj błędy 404 i dopisuj brakujące reguły.

Testowanie i kontrola jakości po wdrożeniu

Sprawdź kluczowe podstrony:

Dodatkowo:

  • Przeskanuj starą domenę Screaming Frog/Netpeak i zobacz, czy każdy adres zwraca 301 i prowadzi do 200 na nowej.
  • Włącz raportowanie 404 (wtyczka Redirection lub logi serwera).
  • Sprawdź szybkość — zbyt skomplikowane reguły mogą spowalniać.

SEO i analityka: działania po zmianie domeny

  • Google Search Console:
    • Dodaj nową domenę jako usługę (Domain Property).
    • Skorzystaj z narzędzia „Change of Address” (zmiana adresu) dla starej domeny.
    • Prześlij nową sitemapę i sprawdzaj indeksowanie.
  • Google Analytics/GA4:
    • Zaktualizuj odwołania do domeny w ustawieniach strumienia danych.
  • Pliki i konfiguracje:
    • Zaktualizuj robots.txt (pod nową domeną).
    • Sprawdź ustawienia reklam, pixeli, webhooków, integracji płatności.
  • Linki zewnętrzne:
    • Skontaktuj się z kluczowymi partnerami, aby zaktualizowali odnośniki do nowej domeny. To pomoże szybciej odbudować autorytet.

Typowe pułapki i jak ich uniknąć

  • Przekierowanie wszystkiego na stronę główną — duże straty SEO i UX.
  • Łańcuchy przekierowań — zwiększają opóźnienia i mogą obniżyć moc linków.
  • Brak spójności www/HTTPS — powstają zawiłe reguły i konflikty.
  • Przekierowania przez wtyczkę zamiast serwera — gorsza wydajność.
  • Zapomniane ścieżki serwisowe (/wp-admin, /.well-known, /feed) — błędy logowania, problemy z certyfikatami.
  • Brak wyjątków dla starych zasobów statycznych (np. obrazów w newsletterach) — rozważ pozostawienie cache na CDN lub reguły plików.
  • Mixed content po migracji do HTTPS — wymuś HTTPS i zrób wyszukiwanie-zamianę http → https w bazie.

Szczególne przypadki migracji

  • Migracja subdomeny na domenę główną:
  • Zmiana struktury URL:
    • Rozważ wzorce (regex) i mapy CSV do masowych przekierowań.
  • Multisite:
    • Każdy site wymaga własnego zestawu reguł i aktualizacji domeny.
  • Headless/SPA:
    • Ustal przekierowania na poziomie reverse proxy/CDN i sprawdź obsługę routingu po stronie klienta.

Jak utrzymać porządek po wdrożeniu przekierowań 301

  • Dokumentuj wszystkie reguły (kto, kiedy, dlaczego) — łatwiej utrzymasz porządek.
  • Grupuj przekierowania (globalne, sekcje, pojedyncze adresy).
  • Cyklicznie przeglądaj logi i wyłapuj nowe 404.
  • Minimalizuj liczbę reguł — najpierw rozwiązania globalne (domena, protokół), potem wyjątki.

Szybka ściągawka: minimalny zestaw działań

  • Ustal docelową wersję: https://nowa-domena.pl (bez www lub z www).
  • Na starym hostingu dodaj globalną regułę 301 ze starej domeny na nową z zachowaniem ścieżki.
  • W WordPress ustaw nowy adres witryny i zaktualizuj linki w bazie.
  • Prześlij nową sitemapę i użyj „Change of Address” w Search Console.
  • Monitoruj 404 i naprawiaj brakujące mapowania.

Zmiana domeny nie musi boleć. Dobrze przygotowane przekierowania 301 potrafią uratować pozycje w Google, zachować ruch i oszczędzić użytkownikom frustracji. Jeśli masz wątpliwości, najpierw przetestuj reguły na środowisku staging, a dopiero potem uruchom je produkcyjnie.

Łukasz Janeczko

Nazywam się Łukasz i stoję za DropDigital – ogarniam PrestaShop, WordPressa i własne moduły, które ułatwiają życie przedsiębiorcom. Prywatnie fan muzyki, Linuxa i motoryzacji, z zamiłowaniem do rozwiązywania problemów “po swojemu”.

Zostaw swój numer - oddzwonię

Cześć! Zadzwoń +48 572 651 439 lub napisz lub zostaw numer telefonu, a oddzwonię w ciągu 1h i porozmawiamy o ofercie.

Picture of Łukasz Janeczko

Łukasz Janeczko

Programista - DropDigital.pl