Przekierowanie strony to rozwiązanie, które ratuje ruch po zmianie adresu, przebudowie kategorii albo migracji całej witryny. Dobrze ustawione prowadzi użytkownika od razu do właściwej treści i pomaga wyszukiwarce zrozumieć, który adres ma być traktowany jako główny. Źle ustawione potrafi wprowadzić chaos, wydłużyć czas ładowania i osłabić widoczność w SEO. W tym artykule pokazuję, kiedy takie rozwiązanie ma sens, jaki kod wybrać i jak wdrożyć je bez typowych błędów.
Najważniejsze decyzje przed wdrożeniem
- Przy trwałej zmianie adresu wybieraj 301 albo 308, a nie wariant tymczasowy.
- 302 i 307 stosuj wtedy, gdy zmiana ma charakter przejściowy.
- Najlepszy efekt daje prowadzenie do najbardziej trafnej podstrony, nie do przypadkowego adresu.
- Po wdrożeniu popraw linki wewnętrzne, sitemapę i canonicale.
- Unikaj łańcuchów, pętli i rozwiązań awaryjnych, jeśli możesz zrobić przekierowanie serwerowo.
Kiedy przekierowanie strony pomaga, a kiedy szkodzi SEO
W praktyce stosuję przekierowania wtedy, gdy stary adres ma już nie istnieć jako punkt wejścia do treści. Najczęściej chodzi o zmianę domeny, przejście z wersji z www na bez www, wymuszenie HTTPS, porządkowanie duplikatów albo migrację sklepu, w którym kategorie i produkty dostały nowe ścieżki. Google Search Central traktuje trwałe przekierowanie jako sygnał, że nowy adres powinien przejąć rolę wersji kanonicznej, więc taki zabieg jest dużo mocniejszy niż zostawienie starego URL-a bez opieki.
Nie każda sytuacja wymaga jednak twardego przekierowania. Jeśli dwie wersje strony mają działać równolegle, a chcesz jedynie wskazać preferowany adres dla robotów, czasem lepszy będzie canonical. Z kolei gdy stara podstrona przestała mieć sens, a użytkownik powinien dostać najbliższy odpowiednik treści, przekierowanie jest po prostu uczciwsze i wygodniejsze. Właśnie od tego rozróżnienia zaczyna się poprawne SEO, bo dopiero potem wybiera się właściwy kod i metodę.
Gdy już wiesz, że przekierowanie ma sens, trzeba dobrać właściwy kod i metodę, bo od tego zależy, jak wyszukiwarka odczyta zmianę.

Jakie kody i metody warto znać
Wybór kodu to nie detal techniczny, tylko decyzja o tym, jak wyszukiwarka ma odczytać zmianę. Trwałe przekierowania sygnalizują nowy adres jako docelowy, a tymczasowe mówią raczej, że źródłowy URL nadal jest ważny. To rozróżnienie ma realny wpływ na indeksację, dlatego nie warto go zgadywać.
| Kod lub metoda | Kiedy używać | Wpływ na SEO | Praktyczna uwaga |
|---|---|---|---|
| 301 | Trwała zmiana adresu, domeny lub struktury | Silny sygnał, że nowy adres ma być docelowy | Najczęstszy wybór przy migracjach i porządkowaniu serwisu |
| 308 | Trwała zmiana, gdy trzeba zachować metodę żądania | Także sygnał trwałej zmiany | Przydatny przy formularzach, API i innych żądaniach niż GET |
| 302 | Zmiana czasowa, test, kampania, przerwa serwisowa | Nie wskazuje nowego adresu jako kanonicznego | Nie używaj do stałych zmian, bo to częsty błąd |
| 307 | Tymczasowa zmiana z zachowaniem metody | Podobnie jak 302, ale bardziej precyzyjny technicznie | Lepszy tam, gdzie metoda żądania ma znaczenie |
| meta refresh 0 s | Awaryjnie, gdy brak dostępu do serwera | Może być interpretowany jako trwały, ale to słabsza opcja | Plan B, nie pierwszy wybór |
| JavaScript location | Gdy nie da się zrobić przekierowania serwerowo | Google potrafi je wykonać, ale nie zawsze je zobaczy | Stosuj tylko, jeśli nie masz lepszej metody |
Jeśli w grę wchodzą formularze, płatności lub inne żądania, które nie powinny zmieniać metody, 308 i 307 są technicznie bezpieczniejsze niż odpowiednio 301 i 302. W praktyce to ważna różnica, bo dwa kody mogą wyglądać podobnie z perspektywy użytkownika, ale dla serwera i przeglądarki znaczą co innego. Sama decyzja o kodzie to jednak dopiero połowa roboty, bo druga połowa to poprawne wdrożenie.
Przy stałych zmianach trzymam się jednej zasady: jeśli URL ma już nie wracać, używam rozwiązania permanentnego. Jeśli ma wrócić po zakończeniu testu, kampanii albo prac serwisowych, wybieram wariant tymczasowy. Taki podział upraszcza decyzję i minimalizuje przypadkowe błędy.
Jak wdrożyć zmianę adresu bez chaosu
Najwięcej problemów nie bierze się z samego redirectu, tylko z tego, że nikt nie przygotował mapy starych i nowych adresów. W sklepie internetowym, serwisie usługowym czy portalu contentowym to właśnie mapa URL-i decyduje, czy ruch zostanie zachowany, czy rozproszy się po niepasujących podstronach. Ja zwykle zaczynam od prostego pytania: gdzie dokładnie ma trafić użytkownik, który wchodzi na stary adres?
- Spisz stare adresy i przypisz im najtrafniejsze nowe odpowiedniki.
- Nie kieruj wszystkiego na stronę główną, chyba że stary URL naprawdę nie ma sensownego następcy.
- Ustaw przekierowania po stronie serwera albo CMS-a, a nie jako prowizorkę po stronie frontendu.
- Zaktualizuj linki wewnętrzne, sitemapę, canonicale i, jeśli dotyczy, oznaczenia hreflang.
- Dodaj wyjątki dla adresów, które mają zwracać 404 albo 410, jeśli treść została usunięta bez zamiennika.
W polskich sklepach internetowych ten etap często jest ważniejszy niż sam wybór kodu. Jeśli produkt został przeniesiony do nowej kategorii, a stary adres po prostu zniknął, użytkownik powinien przejść do konkretnego zamiennika, a nie do ogólnej sekcji sklepu. Im lepiej odwzorujesz logikę treści, tym mniej strat na użyteczności i SEO.
Jeśli wdrożenie jest poprawne, największe szkody robią zwykle błędy organizacyjne, a nie sam kod przekierowania.Najczęstsze błędy, które kosztują ruch
Najgorszy nawyk to kierowanie wszystkich starych adresów na stronę główną. To wygląda na szybkie rozwiązanie, ale dla użytkownika jest mylące, a dla wyszukiwarki bywa sygnałem miękkiego błędu 404. Lepsze jest doprowadzenie każdej podstrony do najbardziej zbliżonego merytorycznie celu.
- Używanie 302 dla trwałej zmiany - jeśli adres ma już nie wrócić, tymczasowy kod tylko zaciera komunikat.
- Tworzenie łańcuchów - Googlebot potrafi przejść przez dłuższy ciąg, ale najlepiej prowadzić od razu do celu; jeśli chain jest nieunikniony, trzy kroki to rozsądny limit, a pięć to już górna granica, której lepiej nie przekraczać.
-
Budowanie pętli - klasyczny przykład to przełączanie między HTTP i HTTPS albo między wersją z
wwwi bezwww. - Ignorowanie linków wewnętrznych - jeśli menu, breadcrumbs i artykuły nadal wskazują stary URL, serwis sam podtrzymuje problem.
- Zbyt późne porządki w canonicalach i sitemapie - wtedy robot dostaje sprzeczne sygnały i dłużej dochodzi do właściwego obrazu witryny.
- Sięganie po JavaScript bez potrzeby - to rozwiązanie awaryjne, nie baza dla istotnej migracji.
W praktyce patrzę jeszcze na jedną rzecz: czy przekierowanie naprawdę prowadzi do treści równoważnej. Jeśli nie, nawet poprawny kod nie uratuje sytuacji. Wtedy lepiej zmienić mapę docelową niż udawać, że każdy adres można bezkarnie przesłać gdziekolwiek.
Po tych kontrolach warto jeszcze sprawdzić, jak wszystko wygląda z perspektywy indeksacji i logów.
Jak sprawdzić, czy wszystko działa po wdrożeniu
Po wdrożeniu sprawdzam trzy rzeczy: czy stary adres przechodzi tylko przez jedno przekierowanie, czy końcowy URL zwraca 200 OK i czy treść docelowa naprawdę odpowiada intencji użytkownika. To szybki test, ale od razu wyłapuje większość błędów.
- Stary adres prowadzi bezpośrednio do właściwej podstrony, bez pośrednich skoków.
- Adres docelowy zwraca kod 200, a nie kolejne przekierowanie albo błąd.
- Canonical na nowej stronie wskazuje sam na siebie.
- Wewnętrzne linki prowadzą od razu do nowego adresu, a nie przez stary.
- W Search Console i logach nie widać pętli ani nadmiarowych odwołań do starych URL-i.
Jeśli coś nie zgadza się w pierwszych godzinach po wdrożeniu, zwykle winna jest mapa adresów albo jedna z reguł wyjątków. To dobra wiadomość, bo taki błąd da się poprawić zanim zacznie wpływać na szerszą część serwisu. Kiedy to już działa, liczy się utrzymanie porządku przez kolejne tygodnie i miesiące.
Co robię po migracji, żeby przekierowania nadal pracowały na SEO
Po dużej zmianie adresów nie traktuję przekierowań jak zadania jednorazowego. Zostawiam je aktywne co najmniej przez 12 miesięcy, a przy trwałej zmianie domeny często dłużej, bo to daje czas robotom i użytkownikom na spokojne przejście na nowe adresy. Dopiero wtedy sensownie zamykam temat starych URL-i.
Potem porządkuję jeszcze trzy obszary: najważniejsze linki wewnętrzne, materiały zewnętrzne o dużym ruchu oraz raporty z indeksacji. Dzięki temu stary adres przestaje żyć własnym życiem, a nowy zaczyna zbierać pełny sygnał z całej witryny. Jeśli po wdrożeniu dopniesz także sitemapę, canonicale i reguły wyjątków, przekierowania przestają być doraźną poprawką, a zaczynają realnie wspierać SEO. To właśnie taki porządek najczęściej decyduje, czy zmiana adresów będzie dla serwisu neutralna, czy wzmocni jego widoczność zamiast ją osłabić.