Przekierowania 301 vs 302 – kiedy i jak ich używać?

Wyobraź sobie, że prowadzisz popularny sklep stacjonarny w centrum miasta, ale przenosisz go dwie ulice dalej do większego lokalu. Co robisz na starych drzwiach? Wieszasz wielką kartkę: „Przenieśliśmy się! Nasz nowy adres to…”. Bez tej kartki stali klienci pocałowaliby klamkę, a Ty straciłbyś obroty.

W internecie taką kartką informacyjną są przekierowania HTTP. To mechanizm, który automatycznie przenosi użytkownika (i roboty wyszukiwarek) z jednego adresu URL na inny. Choć brzmi to prosto, diabeł tkwi w szczegółach – a konkretnie w cyfrach, którymi te przekierowania oznaczamy. Wybór między „trwałym” a „tymczasowym” przeniesieniem ma gigantyczny wpływ na to, jak Twoją stronę widzi Google.

Czym są przekierowania HTTP?

Definicja i kody odpowiedzi serwera

Za każdym razem, gdy klikasz w link lub wpisujesz adres w przeglądarce, Twój komputer wysyła zapytanie do serwera, na którym stoi strona. Serwer w odpowiedzi przesyła tzw. kod stanu HTTP (status code). Jeśli wszystko jest w porządku, wysyła kod 200 OK i strona się ładuje. Jeśli strona nie istnieje, widzisz słynny błąd 404 Not Found.

Przekierowania to specjalna grupa kodów z przedziału 3xx. Mówią one przeglądarce: „Rozumiem, czego szukasz, ale te zasoby znajdują się teraz pod innym adresem. Już Cię tam przenoszę”. Cały proces dzieje się w ułamku sekundy i z perspektywy zwykłego użytkownika jest niemal niezauważalny – po prostu w pasku adresu nagle pojawia się inny URL.

Lista przekierowań: 301, 302, 303, 307, 308

W świecie protokołu HTTP mamy do dyspozycji kilka rodzajów przekierowań. Każde z nich ma swoją unikalną specyfikację techniczną:

  • 301 (Moved Permanently): Przekierowanie stałe. Informuje, że stary URL przestał istnieć na zawsze, a jego miejsce zajął nowy. Najważniejszy kod z punktu widzenia SEO.
  • 302 (Found / Moved Temporarily): Przekierowanie tymczasowe. Mówi serwerom, że treść chwilowo zmieniła adres, ale stary URL niedługo wróci na swoje miejsce.
  • 303 (See Other): Rzadko używane w SEO, kluczowe dla programistów. Stosowane najczęściej po przesłaniu formularza (np. płatności w sklepie), aby odświeżenie strony nie spowodowało ponownego pobrania pieniędzy z konta.
  • 307 (Temporary Redirect): Nowoczesny odpowiednik przekierowania 302. Różnica polega na tym, że 307 rygorystycznie zabrania przeglądarce zmiany metody zapytania (np. z POST na GET). Dla robotów Google działa identycznie jak 302.
  • 308 (Permanent Redirect): Nowoczesny odpowiednik przekierowania 301. Podobnie jak 307, utrzymuje pierwotną metodę zapytania. Google traktuje je jako trwałe przeniesienie mocy SEO.

Przekierowanie 301 – trwałe

Kiedy używać?

Przekierowanie 301 stosujemy zawsze wtedy, gdy podjęliśmy decyzję, że stary adres URL nigdy więcej nie wróci do użytku. To jasny komunikat dla algorytmów Google: „Zapomnijcie o starym adresie, usuńcie go z indeksu, a całą uwagę przenieście na nowy URL”.

Przekazywanie mocy linków (link equity)

W SEO istnieje pojęcie link equity (często nazywane też „sokiem SEO” lub Link Juice). To autorytet i moc, jaką dana podstrona zdobyła w oczach Google dzięki prowadzącym do niej linkom z innych stron w sieci.

Gdy usuwasz starą stronę bez przekierowania, cała ta wypracowana latami moc bezpowrotnie znika. Jeśli jednak zastosujesz przekierowanie 301, Google przekaże około 95-99% mocy ze starego adresu na nowy. Dzięki temu nowa podstrona ma ułatwiony start i nie musi budować swojej pozycji w wyszukiwarce od zera.

Zastosowania praktyczne:

  • Zmiana struktury URL: Chcesz zmienić mało czytelny adres twojsklep.pl/prod_id=9482 na przyjazny dla użytkownika twojsklep.pl/buty-sportowe-nike.
  • Migracja domeny: Przenosisz cały biznes ze starej nazwy na nową (np. z firma-remontowa-janusz.pl na modernbud.pl).
  • Przejście na protokół HTTPS: Wdrożenie certyfikatu SSL wymaga przekierowania ruchu z wersji http:// na bezpieczną wersję https://.
  • Kanonizacja domeny (z www / bez www): Dla Google adresy www.domena.pl i domena.pl to dwie zupełnie różne strony. Musisz zdecydować się na jedną wersję główną i przekierować drugą za pomocą 301, aby uniknąć wewnętrznej duplikacji treści.
  • Usuwanie starych produktów / artykułów: Jeśli wycofujesz ze sprzedaży produkt, który miał świetne pozycje i linki, nie zostawiaj tam błędu 404. Przekieruj go kodem 301 na najbliższy odpowiednik (np. nowszy model lub całą kategorię produktową).

Przekierowanie 302 – tymczasowe

Kiedy używać?

Przekierowanie 302 to sygnał: „Tymczasowo przeniosłem zawartość w inne miejsce, ale nie przyzwyczajajcie się – stary URL zaraz wróci”. Używamy go, gdy chcemy na chwilę przekierować ruch użytkowników, ale zależy nam, aby roboty Google nadal indeksowały stary, pierwotny adres i trzymały go w wynikach wyszukiwania.

Czy przekaje link equity? (Mit vs rzeczywistość)

W branży SEO przez lata krążył mit, że przekierowanie 302 w ogóle nie przekazuje mocy linków. Prawda jest nieco bardziej subtelna.

Jeśli ustawisz przekierowanie 302 na krótko (np. na kilka dni), moc faktycznie nie zostanie przekazana – zostaje przy starym URL-u, ponieważ Google spodziewa się jego powrotu. Jeśli jednak zapomnisz o sprawie i zostawisz 302 na wiele miesięcy lub lat, algorytmy Google (w tym system RankBrain) dojdą do wniosku, że popełniłeś błąd techniczny. Wtedy wyszukiwarka zacznie traktować przekierowanie 302 tak, jakby było kodem 301 – zaindeksuje nowy adres i przeniesie na niego moc. Nie warto jednak na tym polegać i ryzykować kaprysów algorytmu.

Zastosowania praktyczne:

  • Sezonowe landing pages: Masz produkt, który sprzedaje się tylko w grudniu (np. kalendarze adwentowe). Poza sezonem przekierowujesz ten URL kodem 302 na stronę główną lub ogólną kategorię, ale w listopadzie wyłączasz przekierowanie i strona znowu działa pod tym samym adresem, nie tracąc wypracowanych pozycji.
  • Testy A/B: Chcesz sprawdzić, która wersja strony koszyka generuje większą sprzedaż. Przekierowujesz tymczasowo część użytkowników na wersję testową, ale dla robotów wersją nadrzędną pozostaje oryginał.
  • Prace konserwacyjne i awarie: Na stronie głównej wystąpił poważny błąd techniczny lub przebudowujesz bazę danych. Przekierowujesz ruch na tymczasową podstronę z komunikatem „Wracamy za 2 godziny”, ale nie chcesz, żeby Google podmieniło Twoją stronę główną w wynikach wyszukiwania na ten komunikat.
  • Tymczasowy brak towaru: Produkt wróci do magazynu za dwa tygodnie. Możesz na ten czas przekierować użytkowników na stronę z produktem alternatywnym, dbając o to, by klient nie odbił się od pustej karty.

Łańcuchy i pętle przekierowań

Przekierowania są jak drogowskazy. Jeśli na trasie postawisz jeden czytelny znak, kierowca bez problemu dotrze do celu. Problemy zaczynają się wtedy, gdy drogowskazów jest za dużo lub stoją w kółko.

Co to jest redirect chain (łańcuch przekierowań)?

Z łańcuchem przekierowań mamy do czynienia wtedy, gdy adres A przekierowuje do adresu B, adres B do adresu C, a adres C dopiero do docelowego adresu D.

[Adres A] --(301)--> [Adres B] --(301)--> [Adres C] --(301)--> [Adres D (Cel)]

Taka sytuacja najczęściej powstaje naturalnie z biegiem lat, gdy strona przechodzi kilka liftingów i drobnych zmian struktur linków, a nikt nie czyści starych reguł w konfiguracji serwera.

Jeszcze gorsza jest pętla przekierowań (redirect loop). To sytuacja bez wyjścia: adres A odsyła do adresu B, a adres B odsyła z powrotem do adresu A. Przeglądarka po kilku takich cyklach poddaje się i wyświetla użytkownikowi komunikat o błędzie ERR_TOO_MANY_REDIRECTS.

Jak szkodzi SEO i UX?

  1. Marnowanie Crawl Budget: Roboty Google mają ograniczony czas i zasoby na skanowanie Twojej strony w ciągu jednego dnia. Zamiast odkrywać nowe, wartościowe treści, robot krąży po labiryncie łańcuchów, po czym opuszcza stronę.
  2. Utrata mocy linków: Choć jedno przekierowanie 301 przekazuje niemal 100% mocy, to z każdym kolejnym „skokiem” w łańcuchu ta moc delikatnie drastycznie spada.
  3. Spowolnienie ładowania strony (UX): Każde dodatkowe przekierowanie to kolejne zapytanie do serwera. Dla użytkownika na telefonie komórkowym z wolniejszym internetem oznacza to cenne sekundy czekania, zanim biały ekran zamieni się w gotową stronę. Część z nich po prostu ucieknie do konkurencji.

Jak wykryć i naprawić?

Naprawa łańcuchów jest prosta w teorii, ale wymaga precyzji: musisz zmienić reguły tak, aby wszystkie adresy pośrednie prowadziły bezpośrednio do celu. W powyższym przykładzie adresy A, B i C powinny od razu, jednym skokiem, odsyłać do adresu D.

Implementacja przekierowań

Metoda wdrożenia przekierowań zależy od oprogramowania napędzającego Twój serwer lub systemu CMS. Oto trzy najpopularniejsze sposoby.

.htaccess dla serwerów Apache

Jeśli Twoja strona stoi na klasycznym serwerze Apache, przekierowania konfigurujesz w pliku .htaccess znajdującym się w katalogu głównym witryny.

  • Pojedyncze przekierowanie stałe 301:ApacheRedirect 301 /stary-adres-podstrony https://www.twojadomena.pl/nowy-adres-podstrony
  • Przekierowanie całej domeny z HTTP na HTTPS:ApacheRewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

nginx.conf dla serwerów Nginx

Serwery Nginx nie obsługują plików .htaccess. Konfigurację musisz przeprowadzić bezpośrednio w pliku konfiguracyjnym serwera (zazwyczaj nginx.conf lub w folderze sites-available).

  • Pojedyncze przekierowanie 301:Nginxrewrite ^/stary-adres-podstrony$ https://www.twojadomena.pl/nowy-adres-podstrony permanent;
  • Pojedyncze przekierowanie tymczasowe 302:Nginxrewrite ^/promocja-weekendowa$ https://www.twojadomena.pl/glowna-kategoria redirect;

Wtyczki WordPress (Redirection)

Jeśli nie chcesz dotykać kodu na serwerze i boisz się, że jeden błąd w .htaccess wyłoży całą stronę (co zdarza się bardzo często), użyj darmowej wtyczki do WordPressa o nazwie Redirection.

  1. Zainstaluj i aktywuj wtyczkę Redirection.
  2. Przejdź do zakładki Narzędzia -> Przekierowania.
  3. W polu Źródłowy URL (Source URL) wpisz końcówkę starego adresu (np. /stary-artykul).
  4. W polu Docelowy URL (Target URL) wpisz pełny nowy adres (np. https://twojadomena.pl/nowy-artykul).
  5. Upewnij się, że w ustawieniach zaawansowanych wybrany jest kod 301 (wtyczka ustawia go domyślnie).
  6. Kliknij Dodaj przekierowanie (Add redirect). Wtyczka od teraz sama zajmie się obsługą tego ruchu.

Audyt przekierowań

Nawet jeśli wydaje Ci się, że wszystko ustawiłeś poprawnie, warto regularnie kontrolować stan techniczny witryny. Duże zmiany, jak migracje czy masowa zmiana oferty w sklepie, niemal zawsze generują błędy.

Screaming Frog – wizualizacja i wykrywanie problemów

Program Screaming Frog SEO Spider to najlepsze narzędzie do szybkiego wyłapywania błędnych przekierowań. Po przeskanowaniu strony możesz w łatwy sposób sprawdzić, co dzieje się z linkami:

  1. Po zakończeniu skanowania przejdź do zakładki Response Codes na górnym panelu.
  2. Przefiltruj wyniki, wybierając opcję Redirection (3xx). Zobaczysz listę wszystkich adresów, które nie zwracają kodu 200, lecz przekierowują dalej.
  3. Aby znaleźć ukryte łańcuchy, wybierz z górnego menu pozycję Reports -> Redirects -> Redirect Chains. Program wygeneruje czytelny raport, pokazujący czarno na białym każdy krok robota, od adresu startowego do końcowego, wraz z oznaczeniem liczby skoków. Jeśli raport pokazuje więcej niż 2 skoki, te adresy wymagają natychmiastowego skrócenia.

Google Search Console: błędy po migracji URL

Google Search Console nie pokaże Ci bezpośrednio listy prawidłowych przekierowań (bo dla Google działające 301 to norma), ale natychmiast zaalarmuje Cię, gdy przekierowanie zepsujesz lub o nim zapomnisz.

Po każdej większej zmianie adresów URL wchodź regularnie do zakładki Strony (w sekcji Indeksowanie). Szukaj tam komunikatów takich jak:

  • Strona zawiera przekierowanie: To naturalny stan dla starych adresów po migracji – sprawdź tylko, czy liczba tych stron odpowiada Twoim założeniom.
  • Błąd 404 (Nie znaleziono): Jeśli po migracji nagle rośnie wykres stron z błędem 404, oznacza to, że pominąłeś te adresy w planie przekierowań. Roboty i użytkownicy próbują wejść na stare linki i trafiają w próżnię. Musisz jak najszybciej przygotować dla tych adresów reguły 301 prowadzące do nowych odpowiedników.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *