Przekierowanie 301 bez błędów - konfiguracja i migracja SEO

Błędy z przekierowaniami 301: łańcuchy, pętle, blanket redirect, 302 zamiast 301, redirect z noindex, brak 301 po usunięciu produktu.

Napisano przez

Grzegorz Wróblewski

Opublikowano

8 lip 2026

Spis treści

Zmiana adresu strony, migracja sklepu albo usunięcie starego artykułu nie musi oznaczać utraty ruchu z Google. Dobrze wdrożone przekierowanie 301 prowadzi użytkownika i roboty pod nowy adres, a przy okazji pomaga zachować wypracowane sygnały SEO. Wyjaśniam, jak działa ten mechanizm, kiedy go stosować, jak skonfigurować go na popularnych serwerach i jak sprawdzić, czy nie powoduje problemów.

Stały redirect porządkuje adresy i chroni efekty migracji

  • 301 oznacza trwałą zmianę adresu i przekazuje przeglądarkę na nową lokalizację.
  • W SEO pomaga zachować sygnały, linki i widoczność, ale nie gwarantuje automatycznego utrzymania pozycji.
  • Najlepsza praktyka to jeden stary adres do jednego trafnego celu, bez łańcuchów przekierowań.
  • Reguły można ustawić w .htaccess, Nginx, CMS-ie lub wtyczce WordPress.
  • Po wdrożeniu trzeba sprawdzić kod odpowiedzi, końcowy adres, linki wewnętrzne i mapę strony.

Co dokładnie robi kod 301

Gdy ktoś otwiera nieaktualny adres, serwer odpowiada kodem HTTP 301 Moved Permanently i wskazuje nową lokalizację. Przeglądarka wykonuje kolejne żądanie, a użytkownik zwykle widzi tylko końcową stronę.

Dla wyszukiwarki to sygnał, że zmiana jest trwała, a nie tymczasowa. Google Search Central traktuje kody 301 i 308 jako stałe przekierowania, które mogą pomóc połączyć sygnały starego i nowego adresu. Nie oznacza to jednak, że każda moc starej strony zostanie przeniesiona automatycznie. Liczy się przede wszystkim podobieństwo tematyczne oraz jakość strony docelowej.

Najprostszy przykład to zmiana adresu wpisu z krótkiego, nieczytelnego wariantu na opisowy. Zamiast zostawiać stary adres z błędem 404, kieruję go do nowej wersji. Użytkownik trafia do właściwej treści, a linki prowadzące do starego adresu nie zostają bez kontekstu.

Kiedy stałe przekierowanie ma sens

Stosuję je wszędzie tam, gdzie stary adres nie powinien już samodzielnie funkcjonować. Najczęstsze przypadki obejmują:

  • zmianę domeny lub migrację całej witryny,
  • przejście z wersji HTTP na HTTPS,
  • zmianę struktury adresów, na przykład usunięcie kategorii ze ścieżki,
  • łączenie dwóch podobnych artykułów w jeden mocniejszy materiał,
  • usunięcie produktu, kategorii albo podstrony, która ma wartościowy odpowiednik,
  • ujednolicenie wariantów domeny, adresów z końcowym ukośnikiem lub wielkimi literami.

W sklepie internetowym nie przekierowuję każdego wycofanego produktu na stronę główną. Lepszym celem będzie podobny produkt, kategoria albo aktualny zamiennik. Strona główna jest rozsądnym wyjściem dopiero wtedy, gdy nie istnieje żaden sensowny odpowiednik. Masowe kierowanie niepowiązanych adresów w jedno miejsce może wyglądać sztucznie i nie pomaga użytkownikowi.

Gdy nie ma dobrego adresu docelowego

Nie każda usunięta podstrona potrzebuje przekierowania. Jeżeli adres nie ma ruchu, linków zewnętrznych ani wartościowej treści, zwykły kod 404 lub 410 może być właściwszy. Przekierowanie na siłę często tylko powiększa bałagan i utrudnia analizę witryny.

Przy zmianie domeny sytuacja wygląda inaczej. Wtedy przygotowuję mapę starych adresów i ich nowych odpowiedników, wdrażam reguły, aktualizuję linki wewnętrzne oraz przesyłam nową mapę strony. Google Search Central zaleca utrzymywanie przekierowań przy migracji co najmniej przez 12 miesięcy, a przy ważnych, często linkowanych adresach najlepiej dłużej.

301, 302, 307 czy 308

Dobór kodu zależy od tego, czy zmiana jest trwała i czy trzeba zachować metodę żądania HTTP. Dla typowych stron i wpisów najczęściej wystarczy kod 301, ale przy formularzach lub żądaniach POST wybór wymaga większej ostrożności.

Kod Kiedy go użyć Najważniejsza cecha
301 Trwała zmiana adresu strony Standardowy wybór dla stron dostępnych metodą GET
302 Zmiana tymczasowa, test lub krótka kampania Nie komunikuje trwałego przeniesienia zasobu
307 Tymczasowa zmiana przy zachowaniu metody żądania Nie powinien zmieniać GET w POST ani odwrotnie
308 Trwała zmiana wymagająca zachowania metody żądania Stały odpowiednik kodu 307

Najczęstszy błąd polega na użyciu 302 podczas trwałej migracji. Technicznie użytkownik może trafić na właściwą stronę, ale dla wyszukiwarki komunikat jest mniej jednoznaczny. Z drugiej strony nie zamieniam testu A/B ani chwilowej promocji na 301, ponieważ stałego redirectu nie powinno się używać do zmian, które za kilka dni znikną.

Jak ustawić przekierowanie na serwerze lub w WordPressie

Planowanie krok po kroku: ocena, planowanie, monitorowanie i implementacja. Kluczowe jest prawidłowe ustawienie przekierowanie 301.

Apache i plik .htaccess

Na serwerze Apache najprostsza reguła korzysta z modułu mod_alias. W pliku konfiguracyjnym można wskazać stary i nowy adres w ścieżce:

Redirect 301 /stary-adres /nowy-adres

Przy większej liczbie reguł przydaje się mod_rewrite, szczególnie gdy zmiana dotyczy całej struktury adresów. Przed zapisaniem zmian robię kopię pliku i sprawdzam składnię, bo jeden błędny znak w .htaccess może wywołać błąd 500.

Nginx

W Nginx redirect definiuje się w konfiguracji serwera. Dla jednego adresu może wyglądać tak:

location = /stary-adres {
    return 301 /nowy-adres;
}

Po edycji konfiguracji trzeba ją przetestować i przeładować serwer. W tym środowisku szczególnie pilnuję, aby reguły nie tworzyły pętli. Jeżeli stary adres wskazuje sam na siebie albo dwie reguły wskazują na siebie nawzajem, użytkownik zobaczy komunikat o zbyt wielu przekierowaniach.

Przeczytaj również: Ruch organiczny - jak zwiększać widoczność i mierzyć efekty SEO

WordPress i inne systemy CMS

W WordPressie można użyć wtyczki do zarządzania redirectami albo funkcji dostępnej w używanym narzędziu SEO. To dobre rozwiązanie dla właściciela strony, który nie ma dostępu do konfiguracji serwera. Przy dużej migracji wolę jednak reguły serwerowe, bo są szybsze i łatwiej nimi zarządzać masowo.

Nie tworzę przekierowania z poziomu PHP, jeśli można zrobić to wcześniej na serwerze. Kod aplikacji musi się uruchomić, zanim odpowie użytkownikowi, dlatego taka metoda może zwiększać czas odpowiedzi i obciążenie. Redirect na poziomie serwera jest zwykle prostszy, szybszy i bardziej przewidywalny.

Jak przeprowadzić migrację bez utraty widoczności

Najwięcej problemów nie wynika z samego kodu 301, lecz z braku planu. Zaczynam od eksportu adresów z analityki, Search Console, mapy strony i narzędzia do crawlowania. Następnie przypisuję każdemu ważnemu staremu adresowi jeden nowy cel.

  1. Zbierz stare adresy z ruchem, linkami i widocznością.
  2. Przygotuj mapowanie stary adres - nowy adres.
  3. Ustaw pojedyncze przekierowania, unikając kilku kroków pośrednich.
  4. Zaktualizuj linki wewnętrzne, menu, kanoniczne adresy i mapę strony.
  5. Sprawdź odpowiedzi serwera dla najważniejszych podstron.
  6. Obserwuj ruch i indeksację przez kolejne tygodnie.

Przy mapowaniu nie patrzę wyłącznie na podobieństwo słów w adresie. Sprawdzam także intencję użytkownika i temat treści, dlatego podczas porządkowania struktury przydaje się wcześniejszy dobór fraz kluczowych. Stary poradnik powinien prowadzić do nowego poradnika, a nie do przypadkowej kategorii tylko dlatego, że znajduje się bliżej w menu.

Po wdrożeniu otwieram kilka starych adresów w różnych wariantach i sprawdzam, czy każdy wykonuje jedno przekierowanie do strony z kodem 200. Kontroluję też parametry kampanii, wersje z końcowym ukośnikiem oraz adresy mobilne, jeśli witryna kiedyś je wykorzystywała.

Błędy, które najczęściej psują efekt

Najbardziej kosztowny błąd to łańcuch redirectów. Przykładowo stary adres prowadzi do wersji pośredniej, ta do HTTPS, a dopiero kolejna reguła kieruje na właściwą stronę. Każdy dodatkowy krok zwiększa opóźnienie i komplikuje indeksowanie, dlatego dążę do zasady stary adres - bezpośrednio nowy adres.

  • Przekierowanie wszystkich usuniętych stron na stronę główną.
  • Ustawienie 302 zamiast stałego kodu przy migracji.
  • Pozostawienie linków wewnętrznych prowadzących do starych adresów.
  • Dodanie przekierowania, ale pozostawienie starego adresu w mapie strony.
  • Brak sprawdzenia pętli, błędów 404 i stron docelowych z kodem 5xx.
  • Usunięcie reguł zaraz po migracji, mimo że stare adresy nadal są odwiedzane.

Po zmianie adresów sprawdzam także tytuły, nagłówki i meta opis. Sama zmiana techniczna nie wystarczy, jeśli nowa strona ma nieaktualny opis albo obiecuje coś innego niż poprzedni adres. Spójność treści pomaga utrzymać dobre doświadczenie użytkownika i ogranicza spadki współczynnika klikalności.

Nie usuwam przekierowań tylko dlatego, że po kilku dniach wszystko wygląda poprawnie. Monitoruję raporty indeksowania, ruch organiczny i błędy przez co najmniej kilka tygodni, a przy dużym serwisie robię ponowny crawl po każdej większej zmianie.

Co sprawdzić przed zamknięciem migracji

Najkrótsza kontrola obejmuje cztery elementy. Każdy ważny stary adres powinien prowadzić do trafnej strony, odpowiedź powinna mieć kod 301, końcowy adres powinien działać, a linki wewnętrzne i mapa strony powinny wskazywać już nowe lokalizacje.

Jeżeli po wdrożeniu pojawia się nagły spadek ruchu, nie zakładam od razu, że problemem jest sam redirect. Sprawdzam też blokadę w robots.txt, tagi noindex, błędne kanoniczne adresy, utratę treści oraz problemy z dostępnością serwera. Dobre przekierowanie jest ważnym elementem migracji, ale nie zastąpi poprawnej architektury i wartościowej strony docelowej.

FAQ - Najczęstsze pytania

Kodu 301 używa się przy trwałej zmianie adresu, na przykład podczas migracji domeny lub zmiany struktury URL. Kod 302 służy do zmian tymczasowych, a 307 i 308 zachowują metodę żądania HTTP, co ma znaczenie między innymi przy formularzach i żądaniach POST.

Jeżeli strona nie ma ruchu, linków zewnętrznych ani wartościowej treści, właściwszy może być kod 404 lub 410. W sklepie produkt bez odpowiednika można skierować do podobnego produktu, kategorii albo aktualnego zamiennika, ale nie należy automatycznie kierować wszystkich adresów na stronę główną.

Na Apache można użyć w pliku .htaccess reguły Redirect 301 /stary-adres /nowy-adres, a w Nginx dyrektywy return 301 /nowy-adres; w odpowiedniej sekcji konfiguracji. W WordPressie można skorzystać z wtyczki lub funkcji narzędzia SEO, choć przy dużych migracjach reguły serwerowe są szybsze i łatwiejsze do zarządzania masowo.

Każdy ważny stary adres powinien prowadzić jednym krokiem do trafnej strony z kodem 200. Należy też zaktualizować linki wewnętrzne, kanoniczne adresy i mapę strony, sprawdzić pętle oraz monitorować ruch i indeksację przez kolejne tygodnie. Przy migracji domeny Google zaleca utrzymywanie przekierowań co najmniej przez 12 miesięcy.

Oceń artykuł

Ocena: 0.00 Liczba głosów: 0

Tagi:

przekierowania migracje apache nginx wordpress

Udostępnij artykuł

Grzegorz Wróblewski

Grzegorz Wróblewski

Nazywam się Grzegorz Wróblewski i od 9 lat zgłębiam tajniki marketingu internetowego, ze szczególnym uwzględnieniem SEO i zastosowań sztucznej inteligencji. Moja przygoda z tą dziedziną zaczęła się od fascynacji tym, jak technologia może wpływać na sposób, w jaki marki docierają do swoich odbiorców i jak ja sam mogę pomóc w uporządkowaniu tej wiedzy. Na rosalli.pl staram się dzielić się moimi spostrzeżeniami, analizami i praktycznymi wskazówkami, które pomogą Ci lepiej zrozumieć te dynamicznie rozwijające się obszary. Zawsze kładę nacisk na rzetelność informacji, weryfikując dane i porównując różne źródła, aby przekazywać Ci wiedzę, która jest nie tylko aktualna, ale przede wszystkim zrozumiała i użyteczna.

Napisz komentarz