12 min czytania
Jak sprawdzić przekierowania i odczytać łańcuch przekierowań
Sprawdź przekierowania krok po kroku w TrueURL, curl i DevTools, odczytaj każdy przeskok łańcucha i napraw pętle, długie łańcuchy oraz mieszanie 301 z 302.
Czytaj artykułDarmowe narzędzie do przekierowań
Nie każde przekierowanie to kod odpowiedzi HTTP. TrueURL odczytuje kod HTML każdej strony w łańcuchu i znajduje tagi meta refresh oraz przekierowania JavaScript wraz z ich docelowym adresem URL i opóźnieniem.
Naciśnij Enter , aby sprawdzić
Sieć brzegowa Cloudflare zawsze weryfikuje certyfikaty, więc ta opcja nie pozwala pominąć weryfikacji. Problemy z certyfikatem są zgłaszane w wyniku.
Wysyłana z pierwszym żądaniem, maksymalnie 16 KB. Treść w formacie JSON jest wysyłana jako application/json, a pozostała jako formularz, chyba że ustawisz nagłówek Content-Type.
Od 1 do 50. Przeglądarki zatrzymują się po 20.
Witryny mogą inaczej przekierowywać telefony, roboty indeksujące i boty generujące podgląd linków.
Wysyłane z każdym żądaniem w łańcuchu.
Brak własnych nagłówków.
Wpisz wartość, aby wysłać ten nagłówek. Wartości nagłówków nigdy nie są zapisywane.
Uwzględniaj w łańcuchu tagi <meta http-equiv="refresh"> i nagłówki Refresh znalezione na stronach HTML.
Uwzględniaj w łańcuchu proste, bezwarunkowe przekierowania ze skryptów strony, takie jak location.href = "…".
Ustawienia są zapamiętywane w tej przeglądarce. Pliki cookie, wartości nagłówków i treść żądania POST nigdy nie są zapisywane.
Meta refresh to tag HTML, który nakazuje przeglądarce załadować inny adres URL po upływie określonej liczby sekund:
<meta http-equiv="refresh" content="0; url=https://example.com/new-page">
Przy opóźnieniu 0 działa jak zwykłe przekierowanie. Przy dłuższym opóźnieniu użytkownik najpierw widzi stronę, jak na dawnych stronach z komunikatem „za chwilę nastąpi przekierowanie”. Przekierowania JavaScript robią to samo za pomocą kodu, np. location.href = '...' lub location.replace('...'). W obu przypadkach są to przekierowania po stronie klienta: serwer odpowiada kodem 200 OK, a przekierowanie wykonuje przeglądarka.
W każdej odpowiedzi HTML z kodem 2xx TrueURL przeszukuje pierwsze 256 KB strony w poszukiwaniu tagu meta refresh oraz prostych, bezwarunkowych przekierowań JavaScript. Wykrywany jest też nagłówek HTTP Refresh, który działa jak meta refresh. Po znalezieniu przekierowania TrueURL pokazuje fragment tagu lub skryptu, ustalony docelowy adres URL i opóźnienie, oznacza przeskok jako meta refresh lub JavaScript i kontynuuje łańcuch od adresu docelowego. Odświeżenie, które tylko ponownie ładuje tę samą stronę, nie jest przekierowaniem i zostaje pominięte.
W ustawieniach zaawansowanych możesz wyłączyć podążanie za każdym z tych typów, aby obejrzeć samą stronę. TrueURL nie wykonuje JavaScriptu: odczytuje skrypty na stronie i rozpoznaje przekierowania na stały adres URL, które zawsze uruchamiają się podczas ładowania strony – od razu lub w setTimeout na najwyższym poziomie skryptu. Przekierowania zależne od warunku, np. kliknięcia, wyboru w sprawie zgody lub rozmiaru ekranu, albo takie, które budują docelowy adres URL w kodzie, nie są wykrywane. Używaj metody GET zamiast HEAD, bo odpowiedzi na HEAD nie mają treści, którą można by przeszukać.
Google zaleca przekierowania po stronie serwera wszędzie tam, gdzie da się je skonfigurować, a meta refresh jako rozwiązanie zastępcze, np. na hostingu statycznym, który nie może wysłać kodu 301.
Przekierowania z opóźnieniem to problem z dostępnością: osoby korzystające z czytników ekranu lub po prostu wolniej czytające tracą orientację, gdy strona nieoczekiwanie się zmienia. WCAG uznaje meta refresh z opóźnieniem za błąd (F40), a natychmiastowe przekierowanie z opóźnieniem 0 za akceptowaną technikę (H76).
Jeśli musisz przekierowywać w HTML, użyj opóźnienia 0, dodaj tag canonical wskazujący nowy adres URL i umieść na stronie widoczny link do niego dla użytkowników, których przeglądarka nie wykona odświeżenia.
12 min czytania
Sprawdź przekierowania krok po kroku w TrueURL, curl i DevTools, odczytaj każdy przeskok łańcucha i napraw pętle, długie łańcuchy oraz mieszanie 301 z 302.
Czytaj artykuł13 min czytania
Co oznaczają kody 3xx? Porównujemy 301, 302, 303, 307 i 308: trwałość, obsługę metody, pamięć podręczną i SEO. Do tego przykłady dla nginx, Apache i PHP.
Czytaj artykułGoogle traktuje natychmiastowy meta refresh (opóźnienie 0) jak przekierowanie stałe, więc w praktyce działa on podobnie do 301. Odświeżenie z opóźnieniem liczy się jako tymczasowe. Inne roboty mogą obsługiwać meta refresh mniej niezawodnie, dlatego zawsze, gdy hosting na to pozwala, używaj przekierowania 301 po stronie serwera.
Przekierowanie odbywa się w kodzie HTML lub JavaScripcie strony, a nie w odpowiedzi HTTP. Narzędzia, które podążają tylko za kodami odpowiedzi, np. curl -L, zatrzymują się na stronie z kodem 200. TrueURL przeszukuje treść strony i pokazuje przekierowanie po stronie klienta jako osobny przeskok.
0, jeśli celem jest przekierowanie. Każde opóźnienie sprawia, że Google traktuje je jako przekierowanie tymczasowe, każe użytkownikom czekać i powoduje problemy z dostępnością. Opóźnienie ma sens tylko na stronie, która najpierw musi wyświetlić komunikat, a taka strona powinna też mieć wyraźny link, by przejść dalej.
Nie, tylko proste, bezwarunkowe przekierowania ze stałym docelowym adresem URL w kodzie HTML strony, np. location.href = '...', window.location = '...' lub location.replace('...'), również wewnątrz setTimeout na najwyższym poziomie skryptu. Przekierowania w zewnętrznych plikach skryptów, zależne od warunków, wywoływane działaniami użytkownika lub z wyliczanym adresem URL wymagają uruchomienia w prawdziwej przeglądarce. Jeśli łańcuch zatrzymuje się na stronie, o której wiesz, że przekierowuje, to prawdopodobnie właśnie dlatego.
Zwykle dlatego, że nie może wysyłać przekierowań HTTP: działa na hostingu statycznym bez reguł przekierowań, w kreatorze stron lub na starym CMS-ie. Niektóre skracacze linków i systemy śledzenia kliknięć również używają przekierowań HTML, aby najpierw uruchomić skrypty analityczne lub kontrolować, jaki adres strony odsyłającej (referrer) zobaczy strona docelowa.
Nie. Odpowiedź na HEAD ma nagłówki, ale nie ma treści, więc nie ma kodu HTML do przeszukania. TrueURL ostrzega, gdy sprawdzasz metodą HEAD – w tym narzędziu używaj GET.