Jak zidentyfikować i naprawić pętle przekierowań na swojej stronie?

blog-banner-bee

Pętle przekierowań potrafią całkowicie sparaliżować witrynę lub przynajmniej jej część. Na stronę, która wpadła w błędne koło, nie dostaną się ani użytkownicy, ani roboty Google. Wtedy trzeba reagować szybko. Nie jest to na szczęście tak trudne, jak mogłoby się wydawać. Wyjaśniamy, skąd biorą się pętle przekierowań, jak je znaleźć i skutecznie naprawić.

Błąd przekierowań na stronie

Czym dokładnie jest pętla przekierowań i dlaczego jest krytycznym błędem?

Pętla przekierowań (ang. redirect loop) to sytuacja, w której strona przekierowuje użytkownika na inny URL, który z powrotem odsyła go pod pierwszy adres. W efekcie powstaje zamknięty krąg przekierowań, z którego nie da się dostać pod właściwy URL i załadować strony docelowej.

Krok po kroku wygląda to tak:

  1. Użytkownik klika link lub wpisuje adres strony (nazwijmy go A), a przeglądarka wysyła żądanie HTTPS do serwera, na którym witryna powinna się znajdować.
  2. W odpowiedzi otrzymuje przekierowanie pod inny adres URL (B) niż pierwotny.
  3. Przeglądarka kieruje się więc pod adres B… i tym razem otrzymuje odpowiedź od serwera, aby udać się pod adres A – cykl się powtarza.
  4. Przeglądarka nie jest w stanie zrealizować żądania i wyświetla ekran błędu z komunikatem ERR_TOO_MANY_REDIRECTS.

Pętla przekierowań może obejmować dwa adresy, ale równie dobrze kilkanaście – efekt jest ten sam.

Rodzaje łańcucha przekierowań

Jak pętla przekierowań wpływa na doświadczenie użytkownika (UX)?

Z punktu widzenia użytkownika strona z pętlą przekierowań po prostu nie działa. Nie ma do niej dostępu, dopóki pętla nie zostanie „rozwiązana” przez administratora strony. Zdarza się co prawda, że problem leży po stronie przeglądarki, wtedy z reguły wystarczy usunąć cookies i wyczyścić pamięć podręczną. Jednak komunikaty o błędach nie dla każdego są jasne – ktoś może na przykład stwierdzić, że strona została usunięta.

Część użytkowników w takiej sytuacji po prostu opuści witrynę. Inni może spróbują wejść na nią za jakiś czas, choć już z pewną dozą frustracji.

Jaki jest negatywny wpływ pętli przekierowań na SEO?

Pętle przekierowań nie są tylko problemem UXowym; mogą też uderzyć w widoczność strony w Google.

  • Pętle przekierowań blokują crawlerom wyszukiwarek dostęp do treści strony – przez co nie da się jej zaindeksować.
  • Jeśli strona została już przeskanowana przez roboty Google, ale od dłuższego czasu wyświetla się na niej komunikat o błędzie, adres może zostać usunięty z indeksu (pamiętaj, crawlery co jakiś czas wracają na Twoją witrynę!).
  • Pętle przekierowań marnują też crawl budget. Google przeznacza ograniczone zasoby na przeglądanie każdej strony. Jeśli roboty poświęcają je na analizę błędnych przekierowań, niektóre podstrony mogą w ogóle nie zostać zaindeksowane.
  • I wreszcie – strona, która jest niedostępna, nie daje żadnej wartości użytkownikowi. A skoro tak, istnieje duże prawdopodobieństwo, że Google nie będzie jej promować w wynikach wyszukiwania.

Pętle przekierowań można więc zaliczyć do błędów krytycznych, na które trzeba reagować jak najszybciej. Blokując dostęp do strony, uderzają i w użytkowników, i w roboty Google.

Jakie są najczęstsze przyczyny powstawania pętli przekierowań?

Problem z pętlami przekierowań polega na tym, że mogą mieć różne źródła, więc nie ma jednej metody, która zawsze je naprawi. Do najczęstszych przyczyn należą:

  • błędna konfiguracja przekierowań w plikach serwera (.htaccess, nginx.conf);
  • nadpisane reguły przekierowań w CMSie;
  • konflikty między kilkoma aktywnymi wtyczkami zarządzającymi adresami URL;
  • źle skonfigurowany certyfikat SSL.

Czy przyczyną jest błędna konfiguracja serwera (pliki .htaccess lub nginx.conf)?

Źródło problemu najczęściej znajdziesz w plikach serwera – .htaccess (na serwerach Apache) oraz nginx.conf (na Nginx). To właśnie tam ustala się reguły przekierowań, np. z HTTP na HTTPS, z wersji bez „www” na wersję z „www” i odwrotnie. Gdy te reguły się dublują, powstaje pętla. Im więcej podstron ma witryna, tym większa szansa, że przy konfiguracji strony (albo przy migracji) zdarzy się błąd. I, na przykład, w jednym pliku .htaccess pojawią się takie dwie reguły:

RewriteCond %{HTTP_HOST} ^domena\.pl [NC]
RewriteRule ^(.*)$ https://www.domena.pl/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www\.domena\.pl [NC]
RewriteRule ^(.*)$ http://domena.pl/$1 [L,R=301]

Taki kod przekierowuje przeglądarkę w kółko – z domena.pl do www.domena.pl i z powrotem.

Czy problem leży w ustawieniach systemu CMS?

Kolejnym „podejrzanym” może być sam CMS, na którym stoi Twoja strona. Wiele popularnych systemów zarządzania treścią (np. WordPress czy Drupal) ma własne mechanizmy do tworzenia przekierowań – albo przez wbudowane narzędzia, albo poprzez dodatkowe wtyczki. Może się więc zdarzyć, że CMS automatycznie nadpisze ustawienia z poziomu serwera. Na przykład WordPress wymusi przekierowanie do adresu z HTTPS, mimo że .htaccess już to robi – i tak wywoła pętlę. Problem pojawi się też, jeśli:

  • ręcznie zmienisz adres strony w CMS-ie na inny niż ustawiony w regułach serwera;
  • CMS automatycznie doda przekierowania przy zmianie struktury adresów (np. permalinków);
  • któraś z aktualizacji CMSa zresetuje lub nadpisze pliki konfiguracyjne.

Czy winne mogą być konflikty wtyczek?

Gdy optymalizujesz stronę, bardzo łatwo z rozpędu dodać do niej kilka różnych wtyczek do SEO, generowania redirectów czy zarządzania certyfikatami SSL.

Jeśli dwa pluginy będą wykonywały te same zadania, łatwo o konflikt. Przykład? Wiele SEOwych wtyczek ma już wbudowane narzędzia do automatyzacji przekierowań. Może to wyglądać tak, że jedna wtyczka przekieruje URL ze ścieżką /produkt do /produkt-nowy, druga – z powrotem z /produkt-nowy do /produkt.

Jak ustawienia certyfikatu SSL mogą prowadzić do pętli HTTP/HTTPS?

SSL i przekierowania adresów z HTTP na HTTPS to standard, ale przy tej okazji też całkiem często tworzą się pętle.

Jeśli na serwerze masz już wdrożony odpowiedni redirect, a CMS lub wtyczka do obsługi certyfikatu ponownie wykona to samo przekierowanie, może powstać pętla. Inny, klasyczny przypadek: błędnie skonfigurowany Cloudflare (albo dowolne zewnętrzne proxy), ustawiony tak, aby wymuszać HTTPS nad obecnymi już regułami.

Jak krok po kroku zidentyfikować pętlę przekierowań na stronie?

Dobra wiadomość jest taka, że pętle przekierowań należą do tych błędów, które można dość łatwo wykryć – o ile wiesz, gdzie szukać. :) Nie potrzebujesz do tego nawet szczególnie specjalistycznych narzędzi.

Jeśli podejrzewasz, że Twoja strona (lub konkretny adres URL) wpada w pętlę przekierowań – przygotowaliśmy krótką checklistę.

Dla pojedynczych adresów URL:

  • Sprawdź konkretny link w narzędziu do śledzenia przekierowań – skorzystaj z darmowych narzędzi online (np. Redirect Checker, httpstatus.io), aby sprawdzić całą ścieżkę przekierowań dla danego adresu.
  • Ewentualnie, przeanalizuj ścieżkę w narzędziach deweloperskich przeglądarki (DevTools) – jeżeli adres przekierowuje kilkukrotnie, a końcowy status nie jest kodem 200 (OK), tylko kolejnym 301/302 lub błędem, masz przed sobą redirect loop.

Dla większej liczby podstron lub dla całej strony:

  • Przeskanuj witrynę crawlerem (np. Screaming Frog, Sitebulb, Ahrefs) – jeśli ustawisz skanowanie domeny z opcją śledzenia redirectów, w raporcie zobaczysz wypisane adresy, których ścieżki kończą się błędami.
  • Sprawdź raporty indeksowania w Google Search Console – w zakładce „Stan” oraz „Strony” znajdziesz informacje o błędach przekierowań na stronie, które uniemożliwiają jej zaindeksowanie. Szukaj komunikatów typu: „Strona przekierowuje zbyt wiele razy” lub „Strona z przekierowaniem – nie zaindeksowano”.
  • Zajrzyj do logów serwera – i przeszukaj je pod kątem adresów, które wielokrotnie zwracają statusy 301/302 bez ostatecznego 200. W logach takie pętle często widać po serii bardzo podobnych wpisów wykonywanych w milisekundowych odstępach.

Jakie darmowe narzędzia online pomogą Ci wykryć pętlę przekierowań?

NarzędziaCo warto o nim wiedzieć?
httpstatus.ioProste, ale niezawodne narzędzie, które błyskawicznie sprawdza ścieżki przekierowań, kody HTTP i końcowy status – dla jednego adresu lub dla kilkudziesięciu. Możesz również sprawdzić status HTTP dla różnych przeglądarek, robotów wyszukiwarek, a nawet… crawlerów najpopularniejszych modeli AI.
Screaming FrogBardzo zaawansowany crawler, podobny do robotów wyszukiwarek – skanuje całą stronę i wykrywa pętle, łańcuchy przekierowań, błędy 3xx i 4xx. Pełnię możliwości pokazuje dopiero w wersji płatnej, ale przekierowania można sprawdzić za darmo.
Rank Math (wtyczka WordPress)Umożliwia zarządzanie przekierowaniami w CMS-ie – wykrywa kolizje reguł i potencjalne pętle. Bardzo przydatna przy migracjach i na rozbudowanych stronach z setkami/tysiącami URLi.
Ayima Redirect Path (plugin do Chrome’a)Ciekawy plugin, który pokazuje wszystkie przekierowania 301, 302 czy meta refresh bezpośrednio w pasku przeglądarki.

Jak skorzystać z narzędzi deweloperskich w przeglądarce?

Identyfikowanie pętli przekierowań przy pomocy gotowych narzędzi jest najprostszą opcją, ale możesz też to zrobić w DevTools (oczywiście tylko dla pojedynczego adresu).

To też nie jest trudne; pokażemy, jak to wygląda w Google Chrome, ale w innych przeglądarkach narzędzia deweloperskie działają praktycznie tak samo.

  1. Otwórz stronę, którą chcesz przetestować (jeśli pojawi się ekran błędu – ta metoda dalej działa).
  2. Kliknij prawym przyciskiem myszy w dowolnym miejscu strony i wybierz Zbadaj (Inspect).
  3. Przejdź do zakładki Sieć (Network).
  4. Odśwież stronę (Ctrl + R lub Cmd + R).
  5. Wyszukaj w liście żądań swój adres URL.
  6. Sprawdź kolumnę Stan (Status) – jeśli widzisz wielokrotne 301 lub 302 pod rząd, prawdopodobnie jest to pętla.
  7. Kliknij na którykolwiek wpis – wyświetli się zakładka Nagłówki (Headers), gdzie możesz sprawdzić dokładny adres przekierowania.

Jak skutecznie naprawić pętlę przekierowań? Konkretne rozwiązania

Załóżmy, że wiesz już, które adresy wpadły w pętlę przekierowań. Pozostaje znaleźć, co oraz gdzie wywołuje pętlę i błędne przekierowania.

  1. Poprawa konfiguracji przekierowań w pliku .htaccess

    Jeśli nie korzystasz z CMSa – lub korzystasz, ale i tak konfigurujesz przekierowania przez .htaccess – problem najprawdopodobniej leży po stronie serwera. My skupimy się na Apache (wciąż najpopularniejszym serwerze w Polsce), ale w przypadku Nginx rozwiązanie jest bardzo podobne – z tą różnicą, że przekierowania znajdziesz w nginx.conf.

    Jak zlokalizować plik .htaccess?

    1. Zaloguj się na serwer przez FTP (np. FileZilla) lub użyj menedżera plików na swoim hostingu.
    2. Przejdź do głównego katalogu domeny (zwykle public_html lub htdocs).
    3. Jeśli nie widzisz .htaccess, upewnij się, że masz włączone wyświetlanie plików ukrytych (dotfiles).
    4. Pobierz plik na dysk i wykonaj jego kopię zapasową (zanim cokolwiek zmienisz!).

    Co sprawdzić w środku?

    • Czy te same adresy są modyfikowane przez więcej niż jedną regułę – np. jedna dodaje „www”, a druga wymusza HTTPS? Taka kombinacja często wywołuje pętlę.
    • Czy logika warunków jest spójna? Przykład: jedna reguła przekierowuje na https://, inna przekierowuje wszystko z https:// na http:// – pętla gotowa.
    • Czy wszystkie przekierowania są domknięte – mają flagę [L] przy adresie docelowym?
    • Czy przy przekierowaniach nie pojawiają się zduplikowane warunki (RewriteCond) lub reguły (RewriteRule)?
    • Czy przekierowania uwzględniają trailing slash (/) i wersje z parametrami (?id=123)?

    Jak powinien wyglądać dobrze skonfigurowany .htaccess?

    Po pierwsze – ustal jedną, kanoniczną wersję domeny i trzymaj się jej przy wszystkich przekierowaniach. Po drugie, jeśli możesz, łącz reguły dot. tego samego przekierowania w jedną, logiczną sekwencję. Przykład:

    RewriteEngine On
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^(.*)$ https://www.domena.pl/$1 [L,R=301]
    

    Taka reguła obsługuje jednocześnie przekierowanie z HTTP na HTTPS oraz z non-www na www. Po trzecie, pamiętaj, aby wszystkie reguły kończyć flagą [L,R=301]. I wreszcie: jeśli testujesz przekierowania ręcznie, nie wprowadzaj wielu zmian naraz. Zmieniaj i testuj pojedyncze reguły – łatwiej będzie Ci namierzyć pętlę (a potem jej uniknąć).

  2. Sprawdzenie wtyczek

    Jeśli zaś korzystasz z CMSa – sprawdź, czy przypadkiem nie używasz jednocześnie kilku wtyczek, które niezależnie od siebie dodają przekierowania. A robi to wiele pluginów: Rank Math, Redirection, Really Simple SSL, Yoast, a nawet niektóre wtyczki cache (WP Rocket czy LiteSpeed Cache).

    Dla pewności przejrzyj ustawienia wtyczek stricte do generowania przekierowań, ale też tych od SEO, od obsługi certyfikatów SSL i od cache’owania. Jeśli któraś z nich dodaje własne przekierowania, możesz ją wyłączyć i sprawdzić, czy problem zniknie. Najlepiej używać tylko jednej wtyczki do przekierowań, a w pozostałych pluginach zablokować wszystkie opcje tworzenia redirectów.

  3. Zarządzanie ustawieniami SSL

    W trzecim scenariuszu pętla wynika z tego, że kilka różnych źródeł jednocześnie wymusza protokół HTTPS. Tak jak wyżej – wystarczy zrobić to raz; każda kolejna próba przekierowania z http:// na https:// może kończyć się pętlą.

    A zatem sprawdź, gdzie dokładnie pojawia się przekierowanie na HTTPS:

    • zajrzyj do pliku .htaccess – czy są tam reguły typu RewriteCond %{HTTPS} off;
    • sprawdź ustawienia wtyczek typu Really Simple SSL, Rank Math, Yoast – czy mają własne opcje „force SSL” lub „redirect to HTTPS”;
    • jeżeli używasz Cloudflare lub innego proxy/CDN – czy jest tam włączona opcja „Always Use HTTPS” lub „Automatic HTTPS Rewrites”;

    i zdecyduj, która warstwa ma odpowiadać za przekierowanie. Najprościej byłoby to zrobić w .htaccess, ustawiając regułę:

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    Zadziała ona od razu dla wszystkich adresów w obrębie Twojej domeny. Przekierowania w pozostałych narzędziach możesz wtedy wyłączyć.

Jak zapobiegać pętlom przekierowań w przyszłości?

Naprawić pętle przekierowań jest dosyć łatwo, ale lepiej byłoby po prostu do nich nie dopuszczać. A do tego wystarczy kilka dobrych praktyk.

  1. Ustal jedną wersję kanonicznego adresu strony – z góry zdecyduj, czy witryna ma działać z „www”, czy bez, oraz czy ma używać HTTPS (powinna!). Dopasuj do tego wszystkie przekierowania – w .htaccess, CMSie i CDN.
  2. Ogranicz liczbę reguł przekierowań do niezbędnego minimum – im mniej przekierowań, tym mniejsze ryzyko błędu.
  3. Używaj tylko jednej wtyczki do zarządzania przekierowaniami – nie instaluj kilku narzędzi obsługujących przekierowania (np. Rank Math + Redirection + Really Simple SSL). Wybierz jedno i tylko w nim twórz reguły.
  4. Unikaj podwójnego wymuszania HTTPS (serwer + CMS + CDN) – upewnij się, że tylko jedno źródło wymusza HTTPS.
  5. Dokumentuj każdą zmianę w pliku .htaccess lub nginx.conf – dodawaj komentarze z datą i celem wprowadzanych reguł; ułatwi to później pracę przy audycie i rozwiązywanie ewentualnych problemów z przekierowaniami.
  6. Regularnie sprawdzaj łańcuchy przekierowań – co kilka miesięcy przeskanuj stronę crawlerem (np. Sitebulb, Screming Frog), by wykryć zbyt długie łańcuchy 301 lub niepotrzebne przekierowania, które mogą poskutkować pętlami.

Najczęściej zadawane pytania

Jak szybko Google zauważa naprawioną pętlę przekierowań?

Zwykle w ciągu kilku dni do tygodnia – pod warunkiem, że ponownie ją przeskanuje.

Możesz sam zgłosić naprawione URLe w Google Search Console (narzędzie „Sprawdzenie adresu URL” → „Poproś o zindeksowanie”); w przypadku wielu adresów najprościej będzie przesłać mapę witryny z tagiem przy zaktualizowanych URLach. Googlebot co prawda wraca regularnie na każdą stronę, ale jeśli zgłosisz ją sam – powinien zareagować szybciej.

Czy pętla przekierowań na jednej podstronie może zaszkodzić całej domenie?

Źródła:

https://blog.hubspot.com/website/too-many-redirects

https://www.urllo.com/resources/learn/what-is-a-redirect-loop

Treść

Zapisz się do darmowego newslettera

Zyskaj dodatkową wiedzę o SEO, marketingu i technologiach.

Formularz
CAPTCHA
To pytanie ma na celu sprawdzenie, czy użytkownik jest człowiekiem i zapobieganie automatycznemu przesyłaniu spamu
Udostępnij artykuł:
Nie wiesz, jak naprawić pętlę przekierowań?
Odezwij się do nas!
Oceń artykuł:
0