Długość łańcucha przekierowań
ważność średniamierzonysposób redirect
Liczba przeskoków zanim żądanie trafi na właściwy adres. Więcej niż 2 to spowolnienie i ryzyko pętli.
Ten sam test co przekierowanie HTTP → HTTPS. Długi łańcuch to znacznik ostrzeżenia w wyniku, bez osobnego ustalenia i bez zmiany statusu.
WIKI
artykuł z 16.09.2026 · źródeł 10Długość łańcucha przekierowań to parametr monitoringu stron internetowych, który liczy przeskoki, czyli kolejne odpowiedzi przekierowujące, zanim żądanie dotrze do adresu, pod którym serwer zwraca właściwą odpowiedź. Wynikiem jest liczba przeskoków porównana z progiem. Łańcuch, który nie kończy się w granicach limitu klienta, jest nieodróżnialny od pętli. Każdy przeskok to osobna odpowiedź z klasy 3xx z nagłówkiem Location, pod który klient wysyła kolejne żądanie [1].
Jak działa
Przeglądarka, która dostaje przekierowanie, od razu wczytuje adres z nagłówka Location. Poza niewielkim kosztem dodatkowej wymiany z serwerem użytkownik zwykle tego nie zauważa [3]. Jeśli nowy adres także przekierowuje, powstaje łańcuch. Pętla to sytuacja, w której po wykonanym przekierowaniu następują kolejne i żadna strona nigdy nie zostaje znaleziona [3].
Każdy przeskok dodaje pełną wymianę żądanie–odpowiedź. Dokumentacja Lighthouse podaje, że taka dodatkowa podróż przez sieć może opóźnić wczytanie zasobu o setki milisekund [7]. Łańcuch nie jest więc błędem sam w sobie, ale jego koszt rośnie z każdym przeskokiem.
Typowy łańcuch powstaje z warstw reguł, z których każda robi jedną normalizację. Dokumentacja Apache opisuje osobno wymuszanie jednej nazwy hosta przez Redirect w hoście wirtualnym dla nazw niekanonicznych [8] i ujednolicanie ukośnika końcowego przekierowaniem 301 [8]. Dla prawdziwych katalogów ukośnik dopisuje już moduł mod_dir, gdy włączona jest domyślna dyrektywa DirectorySlash [8]. WordPress ma własną funkcję redirect_canonical(), która przekierowuje przychodzące linki na właściwy adres wynikający z ustawień witryny, w tym na wybraną formę z www albo bez [9]. Jej przekierowania mają kod 301 [9]. Jeśli reguła serwera, aplikacja i jej dodatki albo pośrednik przed serwerem normalizują adres niezależnie od siebie, przeskoki się sumują.
Standardy i specyfikacje
- RFC 9110 mówi, że klient powinien wykrywać cykliczne przekierowania i przerywać je [1]. Wcześniejsza wersja specyfikacji zalecała najwyżej pięć przekierowań, a autorzy treści powinni pamiętać, że część klientów może mieć taki stały limit [1].
- Fetch Standard (WHATWG), który opisuje pobieranie zasobów w przeglądarkach, każe zwrócić błąd sieci, gdy przychodzi kolejne przekierowanie, a licznik przekierowań żądania wynosi już 20 [2].
- Chromium przy wyczerpanym limicie przekierowań odmawia wykonania kolejnego i zwraca błąd
ERR_TOO_MANY_REDIRECTS[4]. - Roboty Google domyślnie wykonują do 10 przeskoków przekierowań. Poszczególne produkty mogą mieć inne limity, a narzędzia inspekcji Google w ogóle nie podążają za przekierowaniami [5]. Treść otrzymana z adresu przekierowującego jest ignorowana, przetwarzana jest treść adresu docelowego [5].
- Lighthouse oznaczał jako niezaliczony audyt strony z dwoma lub więcej przekierowaniami. Od wersji 13 audyt jest częścią analizy opóźnienia żądania dokumentu [7].
Zagrożenia i skutki
Pętla przekierowań. Najczęściej jest to problem serwera. Jeśli serwer ją wykryje, zwraca błąd 500 [3]. Pętla rozłożona na kilka serwerów, z których żaden nie widzi całości, zostaje wykryta dopiero przez przeglądarkę, która wyświetla komunikat o błędzie, a użytkownik niewiele może zrobić [3].
Proxy z TLS. Jeśli WordPress działa za reverse proxy obsługującym SSL, a sam nie ma SSL, wymuszanie HTTPS w panelu administracyjnym (FORCE_SSL_ADMIN) początkowo wpędza żądania w nieskończoną pętlę przekierowań. Rozwiązaniem jest odczyt nagłówka HTTP_X_FORWARDED_PROTO [10]. Podobnie w Apache zmienna %{HTTPS} za takim pośrednikiem zawsze ma wartość off [8].
Indeksowanie. Raport indeksowania stron w Search Console zgłasza błąd przekierowania, gdy łańcuch był zbyt długi, wystąpiła pętla, adres po przekierowaniach przekroczył maksymalną długość albo w łańcuchu był pusty lub błędny adres [6].
Wydajność. Opóźnienie dotyczy każdego wejścia z adresu, który nie jest docelowy. Lighthouse zaleca kierowanie linków od razu na aktualne adresy zasobów i unikanie przekierowań w zasobach krytycznej ścieżki renderowania [7].
Przykłady
| Łańcuch | Przeskoki | Skutek |
|---|---|---|
http://domena/ → https://www.domena/ | 1 | jedno przekierowanie, próg Lighthouse nie jest przekroczony [7] |
http:// → https:// → www | 2 | dwa lub więcej przekierowań — audyt Lighthouse niezaliczony [7] |
http:// → https:// → www → ukośnik | 3 | trzy dodatkowe wymiany, każda może kosztować setki milisekund [7] |
| powyżej 10 przeskoków | 11+ | ponad domyślny limit robotów Google [5]; w raporcie indeksowania błąd przekierowania [6] |
| ponad 20 przekierowań | 21+ | przeglądarka zgodna z Fetch zwraca błąd sieci [2], Chromium ERR_TOO_MANY_REDIRECTS [4] |
| adres A → B → A | bez końca | serwer może zwrócić 500, inaczej komunikat pętli w przeglądarce [3] |
- [1] RFC 9110 — HTTP Semantics · IETF
- [2] Fetch Standard — HTTP-redirect fetch · WHATWG
- [3] Redirections in HTTP · MDN Web Docs
- [4] net/url_request/url_request_job.cc · The Chromium Project
- [5] HTTP status codes, network and DNS errors — Google crawlers · Google for Developers
- [6] Page indexing report · Search Console Help
- [7] Avoid multiple page redirects — Lighthouse · Chrome for Developers
- [8] Redirecting and Remapping with mod_rewrite — Apache HTTP Server 2.4 · Apache Software Foundation
- [9] redirect_canonical() — WordPress Code Reference · WordPress.org
- [10] HTTPS — Advanced Administration Handbook · WordPress.org
STATS
wyniki z systemu · tylko liczby zbiorcze- Stron zmierzonych
- 204w ostatnim dniu pomiaru
- OK
- 291odczytów
- Fail
- 47odczytów
- Nie dało się sprawdzić
- 6timeout, blokada, limit zapytań
- Udział fail
- 13,9%bez „nie dało się”
- Stron łącznie
- 206choć jeden odczyt
- OK
- 1690odczytów
- Fail
- 246odczytów
- Nie dało się sprawdzić
- 30timeout, blokada, limit zapytań
- Udział fail
- 12,7%bez „nie dało się”
| Dzień | fail | nie dało się sprawdzić | ok |
|---|---|---|---|
| 23.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 24.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 25.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 26.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 27.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 28.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 29.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 30.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 31.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 01.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 02.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 03.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 04.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 05.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 06.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 07.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 08.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 09.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 10.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 11.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 12.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 13.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 14.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 15.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 16.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 17.09.2026 | 39 odczytów | 1 odczyt | 166 odczytów |
| 18.09.2026 | 36 odczytów | 4 odczyty | 166 odczytów |
| 19.09.2026 | 85 odczytów | 13 odczytów | 532 odczyty |
| 20.09.2026 | 39 odczytów | 6 odczytów | 535 odczytów |
| 21.09.2026 | 47 odczytów | 6 odczytów | 291 odczytów |
- Przebiegów
- 60sposób redirect
- W 30 dni
- 60przebiegów
- Ostatni
- 19.09.2026start przebiegu
- Stron w przebiegach
- 20461 przebiegów bez liczby stron
CARD
karta z kodu CREATO_PING, odczyt 16.09.2026| Obszar i ważność | Dostępność · średnia (D07) |
|---|---|
| Workflow i częstotliwość | creato_ping_avail_v2 działa na LAB247cron co 24 h, osobno T1–T4 · Strony w stanie DOWN i WARNING dostają dodatkowy odczyt co 6 h (timer availability_recheck poza n8n). Od 2026-09-16 sposób ssl daje odczyt ssl_expiry (dni do wygaśnięcia certyfikatu); od 2026-09-17 odczyty trafiają do check_results. |
| Sonda i helper | sposób redirect · CREATO_PING/helpers/redirect_check.py |
| Testy |
|
| Typ wyniku | flaga długiego łańcucha i liczba przeskoków w wyniku sprawdzenia redirect — bez własnego odczytu i ustalenia |
| Jednostka | liczba przeskoków od http://domena do adresu końcowego |
| Próg i reguła | Przeskoki > 2 = znacznik (CREATO_PING_REDIRECT_MAX_HOPS, domyślnie 2, minimum 1). Powyżej 5 przekierowań znacznika nie ma — jest fail parametru Przekierowanie HTTP → HTTPS. |
| Gdzie leżą pokrętła | CREATO_PING/helpers/redirect_check.py → CREATO_PING_REDIRECT_MAX_HOPS (domyślnie 2)CREATO_PING/helpers/redirect_check.py → _MAX_REDIRECTS (5) |
| Retencja odczytów | Odczyt sprawdzenia redirect w tabeli check_results bazy LAB247, ale znacznik przeżywa tylko jako tekst w polu błędu; liczby przeskoków nie zapisujemy. |
| Znane rozbieżności |
|
| Karta przepisana z | CREATO_PING/helpers/redirect_check.py · CREATO_PING/tools/avail_writer_input.py · CREATO_PING/helpers/pro_scoring.py · CREATO_PING/helpers/check_health.py · odczyt 16.09.2026 |
Brak skutku: wynik zostaje ok, nie powstaje ustalenie, status strony się nie zmienia. Znacznik nie dociera do zapisu jako pole — zostaje tylko tekst w polu błędu odczytu ok.
Parametr nie otwiera osobnego ustalenia — wynik zostaje znacznikiem w odczycie.
LOOP
bez pętliTrafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.
Ten parametr nie przeszedł jeszcze żadnej pętli. Kolejność po pierwszych pięciu grupach ustali miara trafności.