🍪 Można ciasteczko?

Ta strona chce wykorzystywać pliki cookie do analizowania ruchu oraz mierzenia skuteczności i personalizacji reklam zgodnie z polityką prywatności. Zgadzasz się?

PORADNIKI

7 min. czytania

Przekierowanie 302

Przekierowanie 302

Fot. MM

Co to jest przekierowanie 302, jak działa i kiedy go używać? Jak wdrożyć HTTP 302 na stronę WWW za pomocą .htaccess, PHP czy WordPressa?

Spis treści
Serwer

Przekierowanie 302 w wersji 1.0 HTTP jest często wykorzystywane przez twórców witryn internetowych. Trzeba jednak wiedzieć, kiedy dokładnie warto z niego skorzystać i w jakich sytuacjach może być pomocne. Często błędnie stosowane jest jako alternatywa dla przekierowania 301. Z perspektywy klientów czy użytkowników rzeczywiście te dwa rozwiązania specjalnie się nie różnią. Oba sprawiają, że po wpisaniu starego adresu można trafić pod nowy adres URL.

Dla robotów i wyszukiwarki Google jednak wybór jednego z nich ma gigantyczne znaczenie. Od tego zależy, czy działanie to zostanie zrozumiane jako stałe lub też jedynie tymczasowe przekierowanie URL. Co więcej, od wersji 1.1 HTTP przekierowanie 302 ma już nieco inną rolę. Związane jest też z kodami 303 i 307.

Co to jest przekierowanie 302?

Przekierowanie 302 Found, rozumiane w kontekście HTTP 1.0 jest sygnałem, że żądany przez użytkownika zasób został odnaleziony. Znajduje się on jednak w innym miejscu, niż się go spodziewano. Zmiana jest natomiast tymczasowa, co deklaruje twórca serwisu. Nowy, inny adres URL strony, nie pojawia się w wynikach wyszukiwania, bo nie jest indeksowany.

Rozwiązanie to możesz wykorzystać, gdy chcesz przenieść stronę internetową na nowy adres tylko na pewien czas. Użycie kodu 302 informuje roboty wyszukiwarek, że nie jest to permanent redirect. „Stara” lokalizacja zatem nadal ma być indeksowana w wynikach wyszukiwania. Nowa z kolei nie powinna być zapisywana w pamięci podręcznej. Robione jest to oczywiście z myślą o powrocie do „źródła”, gdy tylko będzie to możliwe. Takie działanie ma zapobiec zmniejszeniu ruchu na skutek przekierowań. Przenoszona nie jest też moc SEO pierwszego adresu, a drugi (przynajmniej początkowo) nie jest istotny dla algorytmów Google.

W praktyce internauci zapewne nawet nie zauważą, że strona została przeniesiona. Przekierowanie jest bowiem realizowane, gdy jeszcze żadne treści nie zostały załadowane. W praktyce więc użytkownik nie dostaje komunikatu o „transferze”. Zauważalna może być jedynie zmiana pojedynczego adresu URL na inny w pasku wyszukiwarki. Często natomiast nowe wersje lokalizacji są tak zbliżone do pierwotnych, że nie przyciągają uwagi.

Przekierowanie 302 sprawdza się w wielu sytuacjach. Korzystają z niego zarówno zwykłe strony internetowe, jak i biznesy e-commerce. To sprawia, że jest ono kompatybilne ze wszystkimi przeglądarkami na urządzeniach stacjonarnych oraz mobilnych. Uważa się je też za zaufane i bezpieczne.

Mimo to jednak ma pewne poważne wady. W HTTP 1.0 zostało zaimplementowane przez niektóre przeglądarki w błędny sposób. Sprawiło to, że mogły one zmieniać żądanie użytkownika z metody POST na GET. Takie działanie było natomiast niepożądane przez twórców. W odpowiedzi na tę sytuację postanowiono wprowadzić nowe kody: 303 i 307.

Nowe przekierowanie 303 wykorzystywane jest, gdy wypełniony przez użytkownika formularz przesyłany jest metodą POST przez przeglądarkę. Serwer odpowiada wspomnianym kodem, na co otrzymuje żądanie metodą GET. Przekierowanie 307 natomiast stało się udoskonalonym następcą 302: zabraniającym dokonywania zmian metody w nagłówku HTTP. Do czego w HTTP 1.1 wykorzystywany jest zatem 302? Informuje on o tym, że doszło do przekierowania, czyli wywołany zasób znaleziono w innym miejscu. Co więcej, podkreśla, że przyszłe żądania o niego powinny być już kierowane pod adres pierwotny. Daje w ten sposób znać, że zmiana jest tymczasowa.

Formuła

302 Found

Do czego służy przekierowanie 302?

Tymczasowa zmiana domeny na nową bywa przydatna w wielu sytuacjach. Objąć może zarówno stronę główną, jak i dowolną liczbę podstron. W HTTP 1.0 realizowane bywa na stronach wizytówkowych, portalach WWW, jak i sklepie internetowym. Przeniesienie można uznać za pomocne m.in.:

  • gdy stronę główną albo inną podstronę poddajemy aktualizacji;
  • jeśli na stronie przeprowadzane będą prace modernizacyjne;
  • gdy minie czas na ofertę sezonową i część produktów ze sklepu będzie niedostępna;
  • w przypadku przeprowadzania testów nowych funkcjonalności.

To oczywiście tylko przykłady zastosowania przekierowania 302. Wszystkie je łączy natomiast jedno — to rozwiązania krótkoterminowe. Stosuj ten kod zatem tylko wtedy, gdy z nowego adresu nie zamierzasz korzystać na stałe. Po powrocie na stary adres nowy lepiej wyłączyć.

Jak wykonać przekierowanie 302 z jednego adresu URL na inny?

Załóżmy, że Twoja strona ma być tymczasowo widoczna pod nowym adresem. Chcesz do tego wykorzystać przekierowanie 302. Takie zadanie najłatwiej możesz zrealizować na kilka sposobów, za pomocą:

W każdym z tych przypadków musisz natomiast uważać. Nieprawidłowe wprowadzenie przekierowania może zagrozić poprawnemu działaniu strony oraz jej pozycji w wyszukiwarkach.

Plik .htaccess

Jeśli chcesz skorzystać z pliku .htaccess, to musisz go najpierw znaleźć na swoim serwerze Apache. Następnie otwórz go i wklej po prostu następujący kod:

RewriteEngine On
RewriteRule ^(.*)$ https://nowy-adres.pl/$1 [R=302,L]

Kodu 302 nie musisz używać oczywiście od razu do przenoszenia całej witryny. Wykorzystać go możesz również do przekierowania w inne miejsce tylko jednej, konkretnej podstrony. W takim przypadku posłuż się kodem:

RewriteRule ^stary-adres$ /nowy-adres [R=302,NC,L]

PHP

Przekierowanie 302 możesz ustawić przy pomocy funkcji PHP Header. Wykorzystaj do tego poniższy kod, który musisz umieścić w kodzie swojej witryny:

<?php
header("Location: https://nowy-adres.pl");
exit ();
?>

Wtyczki WordPress

Edycja pliku .htaccess to nie ostatnie słowo CMS-a WordPress. Chcąc tymczasowo przekierować podstrony w inne miejsce, możesz użyć również dedykowanych wtyczek. Dobrze sprawdzi się do tego np. darmowy Redirection.

Z jego pomocą możesz przekierować dowolny adres URL w inne miejsce. Pozwala też na wykorzystanie rozmaitych kodów HTTP przy okazji wdrażania tego rozwiązania.

Jak sprawdzić, czy przekierowanie 302 działa?

Po wprowadzeniu przekierowania zawsze lepiej upewnić się, że działa ono poprawnie. Na szczęście nie jest to trudne. Wystarczy bowiem wykorzystać do tego cURL. Otwórz konsolę i wprowadź polecenie:

curl -X HEAD -I <adres_witryny>

W odpowiedzi powinien natychmiast wyświetlić się wynik z odpowiednim kodem. Jeśli z opisywanym przekierowaniem wszystko w porządku, będzie to oczywiście HTTP 302. Na stronie Jakwybrachosting.pl użyliśmy permanentnego 301. W jego miejscu natomiast ukaże się Twoje rozwiązanie.

Alternatywnym rozwiązaniem jest skorzystanie z zewnętrznego, darmowego narzędzia. Dobrze sprawdzi się tu httpstatus.io. Wystarczy jedynie, że w puste pole wpiszesz przenoszony adres. System wyświetli wszystkie kody HTTP wykorzystane podczas realizacji żądania. Jeśli wszystko pójdzie dobrze, pojawi się w tym miejscu 302 (zamiast niebieskiego 301 w poniższym przykładzie).

Wykorzystane przekierowanie sprawdzić możesz też w konsoli przeglądarki, np. Google Chrome. Wystarczy jedynie, że naciśniesz przycisk F12. Po lewej stronie ekranu otworzy się odpowiednie okno. Następnie przejdź do zakładki „Network”. Tam powinny pojawić się w kolumnie „Status” odpowiednie kody.

Przekierowanie 302 a przekierowanie 301

HTTP 301 to przekierowanie stałe. Wykorzystywane jest w przypadku przeniesienia witryny z jednego adresu na inny, bez możliwości ewentualnego powrotu. Dobrze sprawdza się, gdy zastosowano wdrożenie certyfikatu SSL czy trwale usunięto daną stronę. W takiej sytuacji cała „moc” SEO zostaje przeniesiona w nowe miejsce. Czasem dochodzi do jej straty, najczęściej jednak jest ona niewielka lub wręcz niezauważalna.

Przekierowanie 302 to natomiast pewien rodzaj „deklaracji” dla robotów Google’a. Używając go, informujesz, że wrócisz na stronę pierwotną tak szybko, jak będzie to możliwe. Cała „moc” SEO zachowuje stary adres, więc powrót jest wręcz w Twoim interesie. Pierwotny URL nie zostaje wyindeksowany i czeka na Twoje dalsze kroki.

Jak zatem widać, oba przekierowania powinny być używane w zupełnie innych sytuacjach. Nie można ich traktować jako równoznaczne i stosować ich wzajemnie. Z perspektywy użytkownika działają tak samo. Dla Google’a natomiast są diametralnie różne. Wybranie niewłaściwego z nich może sprawić, że pozycja serwisu w wyszukiwarce znacznie się pogorszy.

Przekierowanie tymczasowe 302 a pozycjonowanie witryny

Adres, do którego kieruje kod HTTP 302, jest dostępny wyłącznie dla użytkowników próbujących dostać się na konkretną stronę. Miejsca tego nie biorą pod uwagę natomiast algorytmy Google. Oznacza to, że nie wyświetla się ono w wynikach wyszukiwania i nie wpływa na pozycjonowanie strony pierwotnej. Problem polega jednak na tym, że tak sytuacja może wyglądać tylko przez pewien czas. Jeśli nie wrócisz do starej lokalizacji, może wyrządzić to spore szkody Twojemu pierwotnemu miejscu w sieci.

Wynika to z faktu, że po dłuższym czasie nowa strona (do której prowadzi przekierowanie 302) może zacząć być zauważana przez roboty Google. Co wtedy? Skoro opiera się na niej przekierowanie, co zapewne zawiera taki sam lub zbliżony content do witryny oryginalnej. Mowa tu zatem o duplikacji treści. Najczęściej niesie ona ze sobą negatywne skutki dla obu miejsc. Powielające się informacje wprowadzą zamęt. Sprawią ponadto, że Google przestanie patrzeć przychylnym okiem na Twoją stronę.

Taka sytuacja może prowadzić do znacznego obniżenia pozycji witryny w wyszukiwarce. Oznacza to, że będzie się ona pojawiała niżej, przez co odwiedzać będzie ją mniej osób. To z kolei wpłynie negatywnie na obroty i dochody Twojej firmy. Oczywiście natomiast całkiem łatwo tego scenariusza uniknąć. Wystarczy jedynie, że dość szybko usuniesz przekierowanie 302, gdy tylko przestanie być potrzebne. Duplikacja treści nie pojawia się od razu. Możesz zatem spokojnie działać i modernizować witrynę. Dbaj jednak o to, by nie utrzymywać takiego stanu rzeczy przez wiele miesięcy.