🔀

Sprawdzacz przekierowań: zobacz, dokąd prowadzi dowolny URL lub link

Sprawdzacz przekierowań śledzi adres URL skok po skoku i podaje status HTTP każdego z nich, dopóki łańcuch się nie skończy. Wpisz http://github.com, a narzędzie zarejestruje dwa skoki: skok 1 zwraca 301 Moved Permanently i wskazuje na https://github.com/, a ten adres zwraca 200 OK. To jedno przekierowanie, co jest w porządku; każde kolejne dokłada następny cykl żądanie–odpowiedź. Ten sprawdzacz podąża za odpowiedziami 301, 302, 303, 307 i 308, a także za tagami meta refresh w HTML, ostrzega przed pętlami i długimi łańcuchami, a żądanie może wysłać jako Googlebot albo jako telefon.

Jeden adres URL w wierszu, maksymalnie 10. Każdy adres jest śledzony osobno, a potem można wyeksportować całą partię.

Osadź to narzędzie na swojej stronie

× px

                        

💡 Wskazówka integracji

Skopiuj kod osadzania i wklej go do HTML swojej strony. Wersja responsywna automatycznie dostosowuje się do wszystkich rozmiarów ekranu.

2 oceny
✓

Popularne narzędzia

Brak więcej narzędzi
Przeglądaj wszystkie narzędzia

Co oznaczają kody 301, 302, 303, 307 i 308?

Każdy z tych pięciu kodów to odpowiedź 3xx zdefiniowana w RFC 9110, w sekcji 15.4. Różnią się dwiema rzeczami, na których zależy przeglądarce: czy metoda żądania przetrwa przekierowanie oraz czy odpowiedź można zapisać w pamięci podręcznej i użyć ponownie. Kolumna „Sygnał dla wyszukiwarek” pokazuje, jak dany kod traktuje wyszukiwarka Google.

Porównanie kodów statusu przekierowań HTTP: obsługa metody, pamięć podręczna i traktowanie przez wyszukiwarki.
Kod Nazwa Metoda po przekierowaniu Domyślnie w pamięci podręcznej Sygnał dla wyszukiwarek Zastosowanie
301 Moved Permanently POST może zostać zmieniony na GET Tak Silny sygnał kanoniczny; nowy URL zastępuje stary Trwałe przeniesienia, HTTP na HTTPS, bez www na www
302 Found (tymczasowe) POST może zostać zmieniony na GET Nie, chyba że pozwalają na to nagłówki Stary URL zwykle zostaje w indeksie Testy A/B, strony przerwy technicznej, podział według lokalizacji
303 See Other Zawsze zmieniana na GET Nie Traktowane jako tymczasowe Post/Redirect/Get po wysłaniu formularza
307 Temporary Redirect Zachowana wraz z treścią Nie Traktowane jako tymczasowe Tymczasowe przeniesienia API i punktów końcowych formularzy, które muszą zachować metodę i treść
308 Permanent Redirect Zachowana wraz z treścią Tak Ta sama waga co 301 Trwałe przeniesienia, które muszą zachować POST, PUT i DELETE

Dwa kody często bierze się za przekierowania, choć nimi nie są: 304 Not Modified to odpowiedź walidacji pamięci podręcznej bez nagłówka Location, a 300 Multiple Choices oferuje listę opcji zamiast jednego celu. Tag meta refresh też nie jest przekierowaniem HTTP, ale przeglądarki za nim podążają, dlatego narzędzie pokazuje go jako osobny skok oznaczony jako meta refresh; zmiana location w JavaScripcie nigdy się nie pojawi, bo nic na stronie nie jest wykonywane. Nie pojawi się też wpis „307 Internal Redirect”, który Chrome pokazuje, gdy HSTS przełącza http:// na https://: przeglądarka generuje ten wiersz sama, zanim jakiekolwiek żądanie opuści urządzenie, więc żaden serwer nie może go wysłać, a śledzenie po stronie serwera nigdy go nie zobaczy.

Jak sprawdzić, czy przekierowanie działa?

Wpisz stary adres, nie nowy, i zacznij od dokładnie tego protokołu, którego używają odwiedzający: na większości serwerów http:// i https:// to osobne reguły. Działające przekierowanie zwraca w skoku 1 kod 3xx z nagłówkiem Location, a w ostatnim skoku 200, z nienaruszoną ścieżką i parametrami zapytania. Jeśli ostatni skok to 404, 403 lub 405, reguła zadziałała, ale prowadzi donikąd, a jeśli skok 1 od razu zwraca 200, przekierowanie w ogóle się nie uruchomiło.

  • Skok 1 zwraca 301, 302, 307 lub 308, a nie 200.
  • Ostatni skok zwraca 200, a nie 404, 403 czy 500.
  • Końcowy adres URL to dokładnie zamierzony cel, łącznie ze ścieżką, ukośnikiem na końcu i wszystkimi wysłanymi parametrami zapytania.
  • Łańcuch zawiera jedno przekierowanie: skok 1 odpowiada kodem 3xx, a skok 2 kodem 200. Więcej przekierowań oznacza, że reguły się na siebie nakładają.

Aby odczytać wszystkie nagłówki zwracane przez dany skok, takie jak Location, Cache-Control i Strict-Transport-Security, zbadaj ten adres URL w sprawdzaczu nagłówków HTTP.

Skok, który zamiast kodu statusu kończy się błędem certyfikatu, zatrzymuje także przeglądarki: zweryfikuj certyfikat tego hosta w narzędziu Sprawdzanie Certyfikatu SSL.

Jak naprawić łańcuch lub pętlę przekierowań?

Pętla powstaje, gdy dwie reguły są ze sobą sprzeczne: CDN wymusza https://example.com, a serwer źródłowy wymusza http://www.example.com, więc każdy skok odwraca poprzedni, a przeglądarka zatrzymuje się z błędem ERR_TOO_MANY_REDIRECTS. To narzędzie zatrzymuje się po 10 skokach; gdy adres URL pojawi się ponownie, wskazuje skok, który przekierował z powrotem do łańcucha, a gdy łańcuch jest po prostu za długi – ostatni osiągnięty adres URL. Napraw to, wybierając jedną formę kanoniczną (protokół, host i ukośnik na końcu), stosując ją w dokładnie jednej warstwie i przepisując pozostałe reguły tak, by wskazywały bezpośrednio końcowy adres URL, a nie siebie nawzajem.

  1. Wybierz jedną formę kanoniczną: https, jeden host, jedną konwencję ukośnika na końcu.
  2. Wymuszaj ją w jednym miejscu, zwykle w CDN lub na serwerze WWW – nigdy w obu tych miejscach i dodatkowo w aplikacji.
  3. Skróć łańcuchy: zmień pierwszą regułę tak, by wskazywała końcowy adres URL – wtedy A prowadzi prosto do C, a nie z A do B i dopiero do C.
  4. Uruchom ponownie sprawdzanie starego adresu URL i upewnij się, że jest tylko jedno przekierowanie zakończone kodem 200.

Naprawiasz to na serwerze Apache? Generator .htaccess napisze za Ciebie reguły 301, w tym przekierowania z http na https i między wersjami z www i bez www, tak aby każdy stary adres URL wymagał tylko jednego skoku.

Czy korzystanie ze sprawdzacza przekierowań jest bezpieczne?

To bezpieczniejsze niż samodzielne kliknięcie linku. Śledzenie odbywa się na naszym serwerze, a nie w Twojej przeglądarce: nie są wysyłane żadne pliki cookie z Twojej przeglądarki, nie uruchamia się żaden JavaScript, a ze zwykłej strony odczytywane są tylko pierwsze 64 KB, w poszukiwaniu tagu meta refresh. Widzisz host docelowy, zanim zdecydujesz się go odwiedzić, a właśnie tego potrzebujesz przy linkach opakowanych przez t.co, bit.ly czy lnkd.in. Żądania do localhost, zakresów prywatnych, takich jak 192.168.0.0/16, oraz do punktów końcowych metadanych w chmurze są odrzucane, przekierowanie do tych zakresów zostaje zatrzymane na skoku, który próbuje tam prowadzić, a każde sprawdzenie kończy się po 10 skokach lub 20 sekundach.

O Sprawdzaczu przekierowań

Ten sprawdzacz przekierowań śledzi, co naprawdę dzieje się między adresem URL, który wpisujesz, a stroną, która ostatecznie się wczytuje. Z naszego serwera wysyła jedno żądanie GET na każdy skok, bez plików cookie, zapisuje kod statusu, nagłówek Location i czas każdego skoku, po czym przechodzi do kolejnego adresu URL – dopóki nie trafi na odpowiedź, która nie jest przekierowaniem, albo nie wykona 10 skoków. To już tyle, ile skoków wykonują roboty Google, i mniej więcej połowa z około 20 skoków, na które pozwala przeglądarka, zanim podda się z błędem ERR_TOO_MANY_REDIRECTS. Gdy skok zwraca 200 ze stroną HTML, narzędzie czyta najwyżej pierwsze 64 KB w poszukiwaniu tagu meta refresh, bo takie przekierowanie jest zapisane w samej stronie, a nie w nagłówkach. Na stronie nic nie jest wykonywane i właśnie dlatego przekierowania JavaScript pozostają poza zasięgiem: istnieją dopiero wtedy, gdy przeglądarka uruchomi skrypty strony.

Wynik jest celowo dosłowny. Skok 1 to wpisany przez Ciebie adres URL, a każdy kolejny wiersz to dokładnie ten adres, na który odesłał poprzedni skok – łącznie ze zmianą protokołu, dodanym lub usuniętym www, ukośnikiem na końcu i parametrami zapytania; skok osiągnięty przez meta refresh jest odpowiednio oznaczony i ma podane opóźnienie. Dzięki temu narzędzie przydaje się przy migracjach: reguła, która w konfiguracji nginx wygląda poprawnie, często działa inaczej, gdy w grę wchodzą jednocześnie HSTS, reguła na brzegu CDN i przekierowanie kanoniczne na poziomie aplikacji, a jedynym rzetelnym sposobem, by zobaczyć wynik, jest prześledzenie go z zewnątrz. Ponieważ niektóre witryny kierują telefony, roboty i przeglądarki na komputerach w różne miejsca, żądanie można wysłać jako nasz własny robot, Chrome w systemie Windows, Safari na iPhonie, Googlebot (na smartfony lub na komputery) albo Bingbot.

Tryb zbiorczy przyjmuje do dziesięciu adresów URL naraz, śledzi je jeden po drugim i zwraca tabelę z liczbą przekierowań, statusem końcowym, adresem docelowym i łącznym czasem. Tabelę można wyeksportować do CSV albo wkleić prosto do arkusza kalkulacyjnego lub zgłoszenia. Przycisk wariantów tworzy dla wpisanego adresu cztery kombinacje – http i https, z www i bez www – i śledzi je za jednym razem; to najszybszy sposób, by potwierdzić, że wszystkie punkty wejścia zbiegają się w jednym kanonicznym adresie URL. Typowe pytania, na które narzędzie odpowiada w kilka sekund: czy stary adres URL produktu nadal trafia na nowy jednym przekierowaniem 301, czy reguła przekierowania z HTTP na HTTPS przetrwała ostatnie wdrożenie, czy link afiliacyjny zachowuje parametry zapytania przez całą drogę i gdzie dokładnie kończy się skrócony link. Adresy prywatne, localhost i punkty końcowe metadanych w chmurze są odrzucane, a każde sprawdzenie kończy się po 20 sekundach, więc narzędzia nie da się użyć do sondowania sieci wewnętrznej.

Przypadki użycia

Weryfikacja migracji witryny: wklej do trybu zbiorczego dziesięć starych adresów URL z największym ruchem i upewnij się, że każdy zwraca pojedyncze 301 prosto na swój nowy adres, a nie 302 czy objazd przez stronę główną.
Audyt przejścia z HTTP na HTTPS: adres http://github.com powinien odpowiedzieć kodem 301 i trafić na https://github.com/ jednym przekierowaniem. Trzy przekierowania zwykle oznaczają, że po kolei przekierowują reguła HSTS, reguła www i aplikacja.
Rozwijanie skróconego linku przed kliknięciem: linki t.co, bit.ly i lnkd.in są rozwijane po stronie serwera, więc widzisz host docelowy bez wczytywania strony ani uruchamiania jej skryptów w swojej przeglądarce.
Debugowanie śledzenia kampanii: sprawdź, czy ?utm_source i ?gclid przetrwają każdy skok, bo przekierowanie, które gubi parametry zapytania, po cichu niszczy atrybucję tego kliknięcia.
Diagnoza zgłoszenia klienta o błędzie ERR_TOO_MANY_REDIRECTS: gdy adres URL pojawi się po raz drugi, śledzenie zatrzymuje się właśnie w tym miejscu i wskazuje skok, który przekierował z powrotem do łańcucha – niemal zawsze to CDN wymuszający HTTPS, podczas gdy serwer źródłowy wymusza HTTP; łańcuch, w którym nic się nie powtarza, ale który ciągnie się dalej, zatrzymuje się natomiast na limicie 10 skoków i wskazuje ostatni osiągnięty adres URL.

Jak sprawdzić, dokąd przekierowuje adres URL

1

Wklej adres URL lub link, który chcesz sprawdzić, na przykład http://github.com, albo kliknij jeden z przykładów pod polem.

2

Opcjonalnie wybierz, kto wysyła żądanie: nasz domyślny robot, Chrome, iPhone, Googlebot lub Bingbot. Witryny, które inaczej traktują telefony lub boty, pokażą wtedy inny łańcuch.

3

Naciśnij Enter lub kliknij „Sprawdź przekierowania”. Każde żądanie wychodzi z naszego serwera, a narzędzie podąża za odpowiedziami 301, 302, 303, 307 i 308 oraz za tagami meta refresh, maksymalnie przez 10 skoków.

4

Przeczytaj podsumowanie: liczbę znalezionych przekierowań, końcowy status HTTP, łączny czas i adres docelowy. Jeśli adres URL wpada w pętlę lub przechodzi przez więcej niż jedno przekierowanie, pojawi się ostrzeżenie.

5

Prześledź ponumerowany łańcuch, aby zobaczyć każdy skok wraz z jego adresem URL, oznaczeniem statusu, takim jak 301 Moved Permanently, informacją, czy był to meta refresh, oraz czasem, jaki zajął.

6

Aby sprawdzić kilka adresów, przełącz się na tryb zbiorczy (do 10 adresów URL) albo kliknij przycisk wariantów, by jednocześnie prześledzić wersje http, https, z www i bez www, a następnie wyeksportuj wyniki do CSV.

Porady Pro

  • Dąż do jednego przekierowania 301 prosto na końcowy adres URL. Każdy dodatkowy skok to pełny cykl żądanie–odpowiedź, skok z przejściem na HTTPS dokłada uzgadnianie TLS, a skok ze zmianą hosta – jeszcze zapytanie DNS; razem to zwykle 100–300 ms na łączu mobilnym, zanim cokolwiek się wyświetli.
  • Używaj 308 zamiast 301, gdy przekierowywane żądanie może być typu POST. Kody 301 i 302 pozwalają klientom zmienić metodę na GET; 307 i 308 muszą zachować metodę i treść żądania.
  • Testuj nie tylko wersję https://, ale też http:// i www; przycisk wariantów sprawdza wszystkie cztery naraz. Sporo witryn poprawnie przekierowuje w wersji HTTPS, a tymczasem stara reguła dla zwykłego HTTP wciąż wskazuje na wycofany z użytku host.
  • Sprawdzaj status ostatniego skoku, a nie tylko liczbę przekierowań. Łańcuch, który kończy się kodem 404 lub 405, jest zepsuty, nawet jeśli każde przekierowanie po drodze było czystym 301.
  • Po migracji przepuść swoje najpopularniejsze adresy URL z Search Console przez tryb zbiorczy, pobierz CSV i porównaj go z tą samą listą tydzień później, aby wyłapać reguły, które jakieś wdrożenie po cichu cofnęło.

Rozwiązywanie problemów

Problem:

Po wybraniu Googlebota sprawdzanie zwraca 403.

Rozwiązanie:

Wiele dużych witryn sprawdza, czy odwiedzający podający się za Googlebota naprawdę pochodzi z sieci Google, i odrzuca wszystkich pozostałych, łącznie z tym narzędziem. Porównaj wynik z agentem domyślnym lub Chrome; aby zobaczyć, co otrzymał sam Google, użyj narzędzia „Sprawdzanie adresu URL” w Search Console.

Problem:

Łańcuch kończy się kodem 403, 405 lub 503, ale w mojej przeglądarce strona się otwiera.

Rozwiązanie:

Witryna prawdopodobnie filtruje klientów: to ochrona przed botami lub weryfikacja CDN wymagająca plików cookie i JavaScriptu albo blokada serwerowych zakresów IP. Wypróbuj agenta Chrome lub iPhone; jeśli odpowiedź się nie zmieni, filtr działa na poziomie sieci albo zachowania i sprawdzanie po stronie serwera go nie ominie.

Problem:

Moja przeglądarka pokazuje ERR_TOO_MANY_REDIRECTS, a narzędzie normalny łańcuch.

Rozwiązanie:

Pętla prawdopodobnie zależy od czegoś, czego to narzędzie nie wysyła: pliku cookie, sesji zalogowanego użytkownika albo wpisu HSTS przechowywanego przez przeglądarkę. Wyczyść pliki cookie witryny lub otwórz okno prywatne, a potem porównaj wersje http:// i https:// przyciskiem wariantów, aby znaleźć regułę, która odsyła odwiedzających z powrotem.

Problem:

Skok kończy się błędem certyfikatu SSL zamiast kodem statusu.

Rozwiązanie:

Certyfikat na tym hoście wygasł, jest samopodpisany albo wystawiono go dla innej nazwy, więc połączenie zostaje odrzucone, zanim da się odczytać jakiekolwiek przekierowanie. Przeglądarki zatrzymują się w tym samym miejscu. Odnów lub popraw certyfikat albo skieruj poprzedni skok na host z ważnym certyfikatem.

Często zadawane pytania

Pokazuje, dokąd adres URL naprawdę kieruje odwiedzających i wyszukiwarki. Dostajesz każdy skok między wpisanym adresem a stroną, która ostatecznie odpowiada, wraz z kodem statusu i czasem każdego z nich. Dzięki temu od razu masz odpowiedź na trzy pytania: czy przekierowanie w ogóle się uruchamia, czy prowadzi we właściwe miejsce i ile skoków marnuje się po drodze. To także bezpieczny sposób, by sprawdzić, dokąd prowadzi skrócony lub afiliacyjny link, zanim go klikniesz.

Kod 301 oznacza trwałe przeniesienie: przeglądarki zapisują go w pamięci podręcznej, a Google konsoliduje sygnały rankingowe starego adresu URL w nowym adresie i zachowuje stary tylko jako nazwę alternatywną, więc ten zwykle przestaje pojawiać się w wynikach, choć nadal może się w nich pokazać, gdy zapytanie sugeruje, że użytkownicy mu ufają. Kod 302 oznacza przeniesienie tymczasowe, więc pierwotny adres URL zwykle pozostaje w indeksie, a odpowiedź nie trafia do pamięci podręcznej, chyba że pozwalają na to nagłówki. Używaj 301 przy migracjach i przejściu na HTTPS, a 302 tylko przy testach A/B i stronach przerwy technicznej.

Celem jest jedno przekierowanie, dwa są do przyjęcia, a trzy lub więcej należy scalić w jedno. Przeglądarki przerywają po około 20 skokach, a roboty Google wykonują najwyżej 10 skoków przekierowań, zanim potraktują adres URL jako błąd. Każdy dodatkowy skok to kolejny cykl żądanie–odpowiedź, skok ze zmianą protokołu dokłada uzgadnianie TLS, a skok ze zmianą hosta – jeszcze zapytanie DNS, więc łańcuch trzech przekierowań może na urządzeniach mobilnych dodać kilkaset milisekund, zanim dotrze pierwszy bajt właściwej treści.

Wpisz swoją domenę i kliknij przycisk wariantów. Narzędzie prześledzi w jednej partii http://, https://, http://www. i https://www. dla tej samej ścieżki. W prawidłowej konfiguracji wszystkie cztery kończą się na tym samym adresie docelowym z kodem 200: wersja kanoniczna nie ma żadnego przekierowania, a każda z pozostałych trzech – jedno przekierowanie 301 lub 308. Dwa przekierowania w wersji http://www. zwykle oznaczają, że protokół i host są poprawiane osobnymi regułami, które można połączyć w jedną.

Tak. Przed uruchomieniem sprawdzania wybierz user agenta: Chrome w systemie Windows, Safari na iPhonie, Googlebot na smartfony lub na komputery albo Bingbot. Witryny, które kierują użytkowników mobilnych na subdomenę m. albo inaczej traktują roboty, pokażą dla każdego z nich inny łańcuch. Jedno zastrzeżenie: wiele dużych witryn sprawdza, czy odwiedzający podający się za Googlebota naprawdę pochodzi z sieci Google, a w przeciwnym razie odpowiada kodem 403, więc 403 przy agencie Googlebot często oznacza właśnie to. Aby zobaczyć, co dokładnie otrzymał Google, użyj narzędzia „Sprawdzanie adresu URL” w Search Console.

Meta refresh – tak. Gdy skok zwraca 200 ze stroną HTML, narzędzie czyta jej pierwsze 64 KB, znajduje tag meta refresh zawierający adres URL i przechodzi pod ten adres w kolejnym skoku, oznaczonym jako meta refresh wraz z opóźnieniem w sekundach. Przekierowania JavaScript – nie: następują dopiero wtedy, gdy przeglądarka uruchomi skrypty strony, a to narzędzie nigdy niczego nie wykonuje. Jeśli ostatni skok zwraca 200, a Twoja przeglądarka trafia gdzie indziej, przyczyną jest najpewniej skrypt; karta Network w DevTools pokazuje to jako nawigację zainicjowaną przez skrypt.

Są cztery typowe przyczyny. Twoja przeglądarka ma witrynę w pamięci HSTS, więc zamienia http:// na https://, zanim jakiekolwiek żądanie opuści urządzenie. Witryna uzależnia odpowiedź od pliku cookie, nagłówka języka lub kraju, a nasz serwer wygląda dla niej inaczej niż Ty. Witryna kieruje telefony i komputery w różne miejsca – możesz to odtworzyć, zmieniając user agenta. Albo przekierowanie JavaScript kończy podróż już po wczytaniu strony, czego śledzenie po stronie serwera nigdy nie zobaczy.

Tak. Przełącz się na tryb zbiorczy i wklej do dziesięciu adresów URL, po jednym w wierszu. Każdy jest śledzony osobno, a wyniki trafiają do jednej tabeli z liczbą przekierowań, statusem końcowym, adresem docelowym i łącznym czasem. Pobierz tę tabelę jako CSV albo skopiuj ją jako tekst rozdzielany tabulatorami, który wkleja się gładko do Sheets, Excela czy zgłoszenia w Jirze, bez żadnego przeformatowywania. Przycisk wariantów wypełnia tę samą tabelę czterema wersjami jednego adresu: http/https oraz z www i bez www.

Otwórz DevTools klawiszem F12, przejdź do karty Network (Sieć), zaznacz Preserve log i wczytaj adres URL. Każdy skok pojawi się w osobnym wierszu ze statusem 301 lub 302; kliknij go i odczytaj nagłówek Location w sekcji Response Headers. Haczyk polega na tym, że DevTools pokazuje, co zrobiła Twoja przeglądarka – razem z Twoimi plikami cookie, pamięcią HSTS i rozszerzeniami – więc współpracownik na innym komputerze może zobaczyć inny łańcuch.

Pojedyncze przekierowanie 301 lub 308 przekazuje sygnały rankingowe i nie stanowi problemu. Łańcuchy już tak, z dwóch powodów: roboty Google wykonują najwyżej 10 skoków przekierowań i wszystko dłuższe zgłaszają jako błąd przekierowania, a do tego każdy skok opóźnia pierwszy bajt, co bezpośrednio przekłada się na wskaźniki Core Web Vitals. Pętle są jeszcze gorsze, bo strona nigdy nie jest osiągalna i całkowicie wypada z indeksu. Skracaj łańcuchy tak, by pierwszy adres URL wskazywał bezpośrednio ostatni.

Źródła i dalsza lektura

FreeWebTools AI
Powered by free AI models · Full chat →