TrueURL

Darmowe narzędzie do przekierowań

Sprawdzanie łańcucha przekierowań

Prześledź każdy przeskok między adresem URL a jego ostatecznym celem. Znajdź zbędne przekierowania, kody tymczasowe i wolne przeskoki, a potem skróć łańcuch do jednego przekierowania.

Czym jest łańcuch przekierowań?

Łańcuch przekierowań to sekwencja przekierowań, przez które przeglądarka lub robot musi przejść, zanim dotrze do strony z treścią. Jeden przeskok, np. z /old-page na /new-page, to nic niezwykłego. Łańcuchy rosną, gdy przez lata nawarstwiają się reguły: najpierw reguła z HTTP na HTTPS, potem reguła www, potem reguła ukośnika na końcu adresu, a na koniec reguła z ostatniej przebudowy witryny. Ten łańcuch ma cztery przekierowania, choć wystarczyłoby jedno:

http://example.com/shop          301
https://example.com/shop         301
https://www.example.com/shop     301
https://www.example.com/shop/    302
https://www.example.com/store/   200

Dlaczego długie łańcuchy przekierowań szkodzą

  • Szybkość: każdy przeskok to osobne żądanie, często z własnym zapytaniem DNS i negocjacją TLS (TLS handshake). W sieciach komórkowych każdy przeskok może dodać setki milisekund, zanim strona w ogóle zacznie się ładować.
  • Skanowanie przez roboty: Googlebot podąża za maksymalnie 10 przeskokami, a potem zgłasza błąd przekierowania. W dużych witrynach każdy dodatkowy przeskok zużywa też część budżetu indeksowania (crawl budget), która mogłaby przypaść prawdziwym stronom.
  • Niezawodność: każdy przeskok to kolejny serwer, reguła lub certyfikat, które mogą zawieść, zapętlić się lub wygasnąć.
  • Sygnały: wystarczy jeden kod tymczasowy w dowolnym miejscu łańcucha, aby osłabić sygnał stałego przeniesienia, który chcesz przekazać wyszukiwarkom.

Jak czytać łańcuch przekierowań

Każdy wiersz to jeden przeskok. Kod pokazuje rodzaj przekierowania: 301 i 308 są stałe, a 302, 303 i 307 – tymczasowe. Metoda pokazuje, w którym miejscu żądanie POST zmieniło się w GET, tak jak robią to przeglądarki po 301, 302 lub 303. Surowa wartość Location pokazuje dokładnie to, co wysłał serwer, dzięki czemu łatwo wychwycić ścieżki względne, brakujące ukośniki lub przypadkowe parametry zapytania. Przeskoki oznaczone jako meta refresh lub JavaScript to przekierowania po stronie klienta znalezione w kodzie HTML strony (lub w nagłówku Refresh), a nie w nagłówku Location.

Łańcuch kończy się na jeden z czterech sposobów: zwykłą odpowiedzią pod docelowym adresem URL, pętlą przekierowań, osiągnięciem maksymalnej liczby przeskoków albo błędem na konkretnym przeskoku, np. błędem DNS, przekroczeniem limitu czasu lub problemem z certyfikatem.

Jak skrócić łańcuch przekierowań

  1. Ustal docelowy adres URL, na którym łańcuch powinien się kończyć.
  2. Zmień pierwszą regułę przekierowania tak, aby prowadziła prosto na ten adres jednym przekierowaniem 301 lub 308.
  3. Połącz reguły dotyczące protokołu, hosta i ukośnika w jedną regułę na serwerze lub w CDN, tak aby http://example.com/page przekierowywał bezpośrednio na https://www.example.com/page/.
  4. Zaktualizuj linki wewnętrzne, tagi canonical i mapę witryny, tak aby wskazywały docelowy adres URL – wtedy użytkownicy i roboty w ogóle nie trafią na przekierowanie.
  5. Ponownie sprawdź tutaj stary adres URL i upewnij się, że łańcuch ma już tylko jeden przeskok.

Poradniki

Najczęściej zadawane pytania

Ile przekierowań w łańcuchu to za dużo?

Dąż do tego, aby każdy stary adres URL prowadził do docelowego adresu jednym przekierowaniem. Dwa mogą być do przyjęcia, gdy nie da się ich uniknąć, np. przejście z HTTP na HTTPS, a potem zmiana hosta. TrueURL oznacza łańcuchy z więcej niż trzema przekierowaniami. Googlebot rezygnuje po 10 przeskokach, a przeglądarki zatrzymują się po około 20 z błędem „zbyt wiele przekierowań”.

Czy łańcuchy przekierowań osłabiają moc linków?

Według Google przekierowania 3xx nie powodują utraty PageRanku, więc sam łańcuch nie rozmywa bezpośrednio sygnałów rankingowych. Praktyczne problemy to wolniejsze strony, zmarnowane żądania robotów i większe ryzyko, że któryś przeskok w łańcuchu nie działa lub jest tymczasowy. Traktuj łańcuchy jak dług techniczny i skracaj je.

Czym różni się łańcuch przekierowań od pętli przekierowań?

Łańcuch w końcu się kończy – na docelowym adresie URL. Pętla nie kończy się nigdy, bo prowadzi z powrotem do adresu URL, który został już odwiedzony, a przeglądarki zamiast strony wyświetlają błąd. TrueURL wykrywa jedno i drugie. Na stronie Wykrywanie pętli przekierowań znajdziesz typowe przyczyny pętli i sposoby ich naprawy.

Czy mogę sprawdzić łańcuch przekierowań, który zaczyna się od żądania POST?

Tak. W ustawieniach zaawansowanych ustaw metodę HTTP na POST i dodaj treść żądania. Łańcuch przebiega wtedy według reguł przeglądarek: po żądaniu POST odpowiedź 301, 302 lub 303 prowadzi dalej metodą GET bez treści, a 307 lub 308 powtarza żądanie POST z tą samą treścią.

Co oznacza „cross-domain” (inna domena) w wynikach?

Nazwa hosta docelowego adresu URL różni się od tej, którą wpisano (początkowe www. jest pomijane). To normalne w przypadku skróconych linków i migracji domen. Jeśli jednak strona z Twojej witryny niespodziewanie trafia do innej domeny, przyjrzyj się temu bliżej: może to wskazywać na źle skonfigurowaną regułę, zhakowaną witrynę lub otwarte przekierowanie (open redirect).

Czy łańcuch obejmuje przekierowania meta refresh i JavaScript?

Tak, domyślnie. TrueURL przeszukuje odpowiedzi HTML pod kątem tagów meta refresh i prostych przekierowań JavaScript, kontynuuje od nich łańcuch i oznacza te przeskoki, aby można było odróżnić je od przekierowań HTTP. Możesz wyłączyć tę opcję, aby zobaczyć tylko przekierowania po stronie serwera, albo skorzystać z narzędzia Sprawdzanie meta refresh, aby poznać szczegóły.

Dlaczego przy przeskoku widać błąd zamiast kodu odpowiedzi?

Żądanie dla tego przeskoku nie powiodło się, zanim nadeszła jakakolwiek odpowiedź HTTP: nie udało się rozwiązać nazwy hosta, połączenie zostało odrzucone lub przekroczyło limit czasu, certyfikat TLS był nieprawidłowy albo przekierowanie wskazywało na nieprawidłowy lub zablokowany adres. Komunikat błędu przy przeskoku mówi, która z tych sytuacji wystąpiła. Wcześniejsze przeskoki nadal są widoczne, więc dokładnie widać, w którym miejscu łańcuch się przerwał.