Informacja reklamowa: serwis zawiera linki afiliacyjne. Możemy otrzymać prowizję po zakupie, ale nie podnosi to ceny dla użytkownika. Ceny, promocje i warunki mogą ulec zmianie.

Jak działa afiliacja?

Migracja

WordPress przekierowuje na starą domenę po migracji — gdzie szukać starego adresu?

Po migracji WordPress może otwierać się pod nową domeną, a po chwili przekierowywać użytkownika z powrotem na stary adres albo środowisko stagingowe. Taki objaw nie oznacza automatycznie błędu DNS. Najczęściej jedna z warstw witryny nadal uważa stary URL za właściwy adres strony albo ma zapisane przekierowanie do poprzedniej domeny.

Kluczowe jest ustalenie, czy przekierowanie pochodzi z WordPressa, konfiguracji serwera, pluginu, CDN czy cache.

Nie zaczynaj od dodawania kolejnego redirectu. Najpierw sprawdź, która warstwa zwraca odpowiedź 3xx i na jaki dokładnie adres prowadzi Location.

Najpierw ustal, gdzie powstaje przekierowanie

Jeżeli wejście na nową domenę kończy się na starej, sprawdź cały łańcuch odpowiedzi 3xx przed analizą treści strony. Najważniejsze są kody odpowiedzi oraz kolejne wartości nagłówka Location.

ObjawPierwszy trop
Każdy URL nowej domeny od razu przechodzi na starąhome/siteurl, stałe w wp-config.php, redirect serwera lub CDN
Tylko wybrane podstrony prowadzą na starą domenęPlugin redirectów, zapisane reguły lub konkretne stare URL-e
Panel administracyjny wraca na poprzedni adresWP_HOME, WP_SITEURL, wartości w bazie
Po zmianie ustawień nadal widzisz stary redirectCache strony, serwera, reverse proxy lub CDN

To rozróżnienie jest ważne, bo nie każdy redirect pochodzi z WordPressa. Jeżeli przekierowanie wykonuje serwer lub CDN przed uruchomieniem PHP, zmiany w panelu WordPressa mogą nie mieć żadnego wpływu na pierwszy skok.

Najpierw sprawdź adresy zapisane przez WordPressa

home i siteurl

WordPress rozróżnia dwie wartości:

  • WordPress Address (URL) — adres, pod którym znajduje się instalacja WordPressa,
  • Site Address (URL) — adres używany przez użytkowników do otwierania witryny.

W bazie odpowiadają im standardowo opcje siteurl i home.

W typowej instalacji oba adresy są takie same, ale nie musi tak być. WordPress może znajdować się w podkatalogu, a publiczna strona działać z domeny głównej.

Po migracji sprawdź więc obie wartości zamiast zakładać, że wystarczy poprawić jedną.

WP_HOME i WP_SITEURL

Adresy mogą być ustawione również bezpośrednio w wp-config.php:

define( 'WP_HOME', 'https://example.pl' );
define( 'WP_SITEURL', 'https://example.pl' );

Jeżeli WP_HOME lub WP_SITEURL są zdefiniowane, WordPress używa ich zamiast odpowiadających im wartości home i siteurl z bazy. Pola adresów w panelu administracyjnym nie są wtedy zwykłym miejscem do ich edycji.

Po migracji szczególnie łatwo pozostawić tam:

  • starą domenę,
  • adres stagingowy,
  • stary protokół http://,
  • tymczasowy hostname hostingu.

Dlatego przy przekierowaniu całej witryny na poprzedni adres warto sprawdzić wp-config.php zanim zacznie się masową edycję rekordów w bazie.

Stary adres może nadal znajdować się w bazie poza home i siteurl

Poprawne home i siteurl nie oznaczają, że cała baza została już przeniesiona na nową domenę.

Stare URL-e mogą pozostać między innymi w:

  • ustawieniach pluginów,
  • opcjach motywu,
  • danych page buildera,
  • widgetach i blokach,
  • menu,
  • metadanych wpisów,
  • własnych tabelach pluginów.

Jeżeli przekierowanie dotyczy tylko określonego landing page albo konkretnego typu treści, właśnie takie lokalne ustawienie jest bardziej prawdopodobne niż globalne home.

Przy zbiorczej zmianie domeny trzeba uważać na dane serializowane. Zwykły SQL REPLACE() może uszkodzić wartości, których struktura zależy od długości zapisanych ciągów. Bezpieczniej używać narzędzia świadomego serializacji, np. wp search-replace, po wcześniejszym backupie i --dry-run.

Przy typowej migracji domeny nie należy też mechanicznie przepisywać pola guid tylko dlatego, że zawiera stary URL.

Plugin redirectów może działać poprawnie — tylko według starej konfiguracji

Jeżeli po migracji baza została skopiowana w całości, razem z nią mogły przejść reguły przekierowań.

Dotyczy to nie tylko pluginów stworzonych specjalnie do redirectów. Reguły mogą znajdować się również w:

  • pluginie SEO,
  • pluginie bezpieczeństwa,
  • narzędziu do migracji,
  • module cache,
  • własnym kodzie motywu lub pluginu.

Jeżeli tylko część adresów wraca na starą domenę, sprawdź reguły działające na tych konkretnych ścieżkach. Nie usuwaj całej konfiguracji redirectów, jeśli pozostałe przekierowania są nadal potrzebne.

Redirect może powstawać przed WordPressem

Jeżeli WordPress ma już poprawne adresy, trzeba sprawdzić warstwę serwera.

Na Apache przekierowanie może znajdować się w .htaccess albo głównej konfiguracji vhosta. Na NGINX może być zapisane w konfiguracji serwera lub warstwie reverse proxy.

Do tego dochodzą reguły operatora hostingu, load balancera oraz CDN.

Praktyczna wskazówka: jeśli odpowiedź 3xx pojawia się zanim WordPress zostanie uruchomiony, przeglądanie opcji w panelu CMS nie znajdzie przyczyny. Trzeba sprawdzić konfigurację tej wcześniejszej warstwy.

Jeżeli zamiast pojedynczego przejścia na starą domenę pojawia się seria redirectów w kółko, przejdź do poradnika ERR_TOO_MANY_REDIRECTS w WordPressie.

CDN i reverse proxy mogą przechowywać albo generować własny redirect

Po poprawieniu WordPressa użytkownik nadal może dostawać poprzednią odpowiedź 3xx z warstwy pośredniej.

W zależności od infrastruktury sprawdź:

  • redirect rules w CDN,
  • page rules lub odpowiednik takich reguł,
  • cache odpowiedzi 3xx,
  • reverse proxy,
  • reguły edge,
  • konfigurację HTTPS i wymuszania hosta.

Dlatego po zmianie źródła redirectu warto ponownie sprawdzić nagłówki publicznego URL-a, a dopiero potem czyścić właściwy cache.

Nie zakładaj, że każda odpowiedź 301 jest „na stałe” zapisana wyłącznie w przeglądarce. Najpierw sprawdź, co aktualnie zwraca serwer lub warstwa pośrednia.

Po migracji sprawdź również stare A i AAAA

Jeżeli część użytkowników trafia na nową konfigurację, a część nadal na starą, problem może nie wynikać z jednego redirectu.

Sprawdź osobno:

  • rekord A,
  • rekord AAAA,
  • domenę główną,
  • www,
  • odpowiedzi różnych resolverów.

Typowy przypadek po migracji to zaktualizowany IPv4 i pozostawiony stary rekord IPv6. Klient korzystający z IPv6 może wtedy trafiać na poprzedni serwer, który nadal przekierowuje na dawną domenę.

Jeżeli odpowiedzi DNS są niespójne, pomocny jest poradnik o diagnozie DNS i NXDOMAIN.

Nie myl redirectu ze starymi linkami w HTML

Stara domena widoczna w kodzie strony nie zawsze oznacza przekierowanie całego dokumentu.

Jeżeli nowy URL pozostaje w pasku adresu, ale obrazy, CSS albo inne zasoby wskazują poprzednią domenę, problem dotyczy generowanych URL-i, a nie redirectu HTTP.

Jeżeli stare adresy dotyczą także zasobów ładowanych przez HTTP po przejściu na HTTPS, zobacz poradnik Mixed Content w WordPressie.

Bezpieczna procedura diagnozy starego redirectu

  1. Zapisz dokładny URL wejściowy i docelowy.
  2. Sprawdź cały łańcuch odpowiedzi 3xx i kolejne nagłówki Location.
  3. Ustal, czy redirect dotyczy całej witryny czy tylko wybranych ścieżek.
  4. Sprawdź home i siteurl.
  5. Sprawdź WP_HOME i WP_SITEURL w wp-config.php.
  6. Jeżeli problem jest lokalny, sprawdź pluginy, opcje i reguły dla konkretnego URL-a.
  7. Zweryfikuj redirecty na serwerze, CDN i reverse proxy.
  8. Po migracji porównaj A, AAAA, apex i www.
  9. Jeżeli potrzebny jest search-replace, wykonaj backup i dry-run oraz zachowaj ostrożność z GUID.
  10. Po poprawce ponownie odczytaj publiczny łańcuch przekierowań.

Jeżeli migracja dopiero jest przygotowywana, warto wcześniej sprawdzić domenę narzędziem Diagnostyka domeny przed migracją.

Najważniejsze wnioski

  • przekierowanie na starą domenę nie musi pochodzić z DNS ani z WordPressa;
  • najpierw trzeba sprawdzić cały łańcuch odpowiedzi 3xx i nagłówki Location;
  • home i siteurl to osobne wartości i obie mogą mieć znaczenie;
  • zdefiniowane WP_HOME i WP_SITEURL zastępują odpowiadające im wartości używane z bazy;
  • stare URL-e mogą pozostać w pluginach, motywie i innych tabelach bazy;
  • redirect może powstawać przed PHP — na serwerze, reverse proxy albo CDN;
  • stary rekord AAAA może kierować część użytkowników do poprzedniego originu;
  • stare URL-e w HTML i redirect całego dokumentu to dwa różne problemy;
  • po naprawie trzeba ponownie sprawdzić rzeczywisty publiczny łańcuch przekierowań.

Źródła

  1. WordPress Developer Resources — Migrating WordPress — zmiana adresu WordPressa, migracja domeny i search-replace.
  2. WordPress Developer Resources — Editing wp-config.php — WP_HOME i WP_SITEURL.
  3. WordPress Developer Resources — home_url() — adres publicznej witryny.
  4. WordPress Developer Resources — site_url() — adres instalacji WordPressa.
  5. WP-CLI — wp search-replace — bezpieczna zamiana danych, serializacja i --dry-run.
  6. MDN Web Docs — Location — nagłówek używany w odpowiedziach przekierowujących.
  7. MDN Web Docs — 301 Moved Permanently — trwałe przekierowanie HTTP.
  8. MDN Web Docs — 302 Found — przekierowanie HTTP.
  9. MDN Web Docs — 303 See Other — przekierowanie do innego zasobu.
  10. MDN Web Docs — 307 Temporary Redirect — tymczasowe przekierowanie z zachowaniem metody.
  11. MDN Web Docs — 308 Permanent Redirect — trwałe przekierowanie z zachowaniem metody.

Źródła

  1. WordPress Developer Resources — Migrating WordPress — dostęp: 03.10.2026
  2. WordPress Developer Resources — Editing wp-config.php — dostęp: 03.10.2026
  3. WordPress Developer Resources — home_url() — dostęp: 03.10.2026
  4. WordPress Developer Resources — site_url() — dostęp: 03.10.2026
  5. WP-CLI — wp search-replace — dostęp: 03.10.2026
  6. MDN Web Docs — Location — dostęp: 03.10.2026
  7. MDN Web Docs — 301 Moved Permanently — dostęp: 03.10.2026
  8. MDN Web Docs — 302 Found — dostęp: 03.10.2026
  9. MDN Web Docs — 303 See Other — dostęp: 03.10.2026
  10. MDN Web Docs — 307 Temporary Redirect — dostęp: 03.10.2026
  11. MDN Web Docs — 308 Permanent Redirect — dostęp: 03.10.2026