Pętla przekierowań w WordPress – jak się jej pozbyć?

Obrazek dla Pętla przekierowań w WordPress – jak się jej pozbyć?

Jeśli korzystasz z WordPressa i nagle Twoja strona przestaje działać poprawnie, a przeglądarka wyświetla błąd o przekierowaniach, wiesz, jak frustrujące potrafi to być. Wchodzisz na swoją witrynę i zamiast normalnego widoku dostajesz komunikat, że strona nie może się załadować. Problem często wynika z błędnej konfiguracji przekierowań. To sygnał, że Twoja strona wpadła w tzw. pętlę przekierowań. To poważna przeszkoda, która wymaga szybkiej interwencji. W tym artykule pokażę Ci, czym jest pętla przekierowań, skąd się bierze i jak skutecznie sobie z nią poradzić.

Pętla przekierowań – co to?

Pętla przekierowań to sytuacja, w której Twoja przeglądarka nieustannie przekierowuje się pomiędzy różnymi adresami URL i nigdy nie dociera do finalnej wersji strony. Wpada w swoistą pętlę (ang. loop). W praktyce oznacza to, że po wpisaniu adresu www przeglądarka otrzymuje sygnał „przejdź pod inny adres”. Problem pojawia się wtedy, gdy ten drugi adres każe wrócić pod pierwszy, lub kolejne przekierowania prowadzą z powrotem do siebie nawzajem. I tak w kółko. Kończysz wtedy z zapętlonym procesem, z którego nie ma wyjścia, dopóki nie zlikwidujesz problemu.

pętla przekierowań
Tak przeglądarka Edge informuje o pętli przekierowań.

Najczęściej dowiadujesz się o pętli przekierowań, gdy przeglądarka informuje Cię o błędzie i odmawia dalszego ładowania strony. Tego rodzaju błędy wpływają negatywnie na doświadczenia użytkowników oraz na pozycjonowanie witryny w Google. Jeśli roboty wyszukiwarki natrafią na taką pętlę, mogą uznać stronę za niedostępną lub niepoprawnie skonfigurowaną.

Przeglądarka zwykle uznaje, że występuje pętla po około 20 przekierowaniach, choć dokładna liczba może się różnić w zależności od przeglądarki.

Dlaczego pętla przekierowań powstaje?

Jedną z najczęstszych przyczyn powstawania pętli przekierowań w WordPressie jest błędna konfiguracja adresów URL. Problem pojawia się, gdy w ustawieniach WordPressa wskażesz jeden adres strony, a w plikach konfiguracyjnych serwera lub wtyczkach wymusisz przekierowanie na inną stronę. Dla przykładu – WordPress może być ustawiony na działanie pod adresem z „www”, ale w pliku .htaccess wymuszasz przekierowanie na adres bez „www”. W rezultacie powstaje sytuacja, w której WordPress przekierowuje na inną stronę i serwer przekierowuje z powrotem, co tworzy zamkniętą pętlę.

Pętla przekierowań może też wynikać z nieprawidłowego działania wtyczek. Popularne narzędzia do zarządzania przekierowaniami, takie jak Redirection czy Yoast SEO, przy nieprawidłowej konfiguracji mogą powodować zapętlenie adresów. Podobny efekt dają konflikty między wtyczkami lub błędnie ustawione reguły w pliku .htaccess.

Czasami winna jest zmiana protokołu. Jeśli wymuszasz przejście na HTTPS, ale WordPress nadal próbuje ładować stronę przez HTTP, przekierowania mogą zacząć się zapętlać. Problem może się również pojawić po migracji strony na inny serwer lub zmianie domeny, gdy nie zadbasz o poprawne ustawienia wszystkich przekierowań.

Co to znaczy, że strona ma zbyt wiele przekierowań?

Komunikat „strona spowodowała zbyt wiele przekierowań” oznacza, że przeglądarka próbowała kilkukrotnie załadować stronę, ale za każdym razem została przekierowana gdzieś indziej. Po kilku próbach przeglądarka rezygnuje i wyświetla komunikat o błędzie. W praktyce oznacza to, że wystąpiła pętla przekierowań i system nie jest w stanie jej rozwiązać.

Zbyt wiele przekierowań to nie tylko problem z samym dostępem do strony, ale również z jej reputacją w oczach Google. Wyszukiwarki nie lubią, gdy strona wprowadza użytkowników w błąd lub powoduje błędy ładowania. Jeśli Twoja strona spowodowała zbyt wiele przekierowań, algorytmy Google mogą obniżyć jej pozycję w wynikach wyszukiwania.

Często ten problem sygnalizowany jest kodem błędu HTTP 310 lub ERR_TOO_MANY_REDIRECTS. To jasny sygnał, że musisz przyjrzeć się ustawieniom witryny oraz konfiguracji serwera.

Jak wykryć pętlę przekierowań?

Żeby sprawdzić, czy problemem jest pętla przekierowań, możesz skorzystać z kilku prostych metod. Najłatwiej jest otworzyć stronę w przeglądarce i zobaczyć, czy pojawia się komunikat o błędzie. Jednak to tylko wierzchołek góry lodowej.

Żeby precyzyjnie zdiagnozować pętlę przekierowań, możesz użyć narzędzi online, takich jak Redirect Checker lub HTTP Status Checker. Po wpisaniu adresu URL narzędzie pokaże Ci pełną ścieżkę przekierowań, krok po kroku. Jeśli zobaczysz, że przekierowania tworzą zamkniętą pętlę, masz potwierdzenie problemu.

https status checker
Jedno z narzędzi online: HTTP Status Checker ( httpstatus.io ). Wklejasz adres strony i klikasz 'Check status’

Możesz też użyć przeglądarki w trybie developerskim. W Google Chrome wystarczy włączyć narzędzia programistyczne (klawisz F12), przejść do zakładki „Network” i załadować stronę. W tabeli zobaczysz wszystkie przekierowania oraz nagłówki HTTP. Jeśli adresy zaczynają się zapętlać, znajdziesz tam źródło problemu.

TOO MANY REDIRECTS
Przeglądarka Edge, narzędzia programistyczne. Widać jak dokument jest ciągle przekierowywany.

Jak usunąć pętlę przekierowań?

Jeśli zastanawiasz się nad pytaniem „pętla przekierowań jak naprawić”, musisz zacząć od sprawdzenia ustawień swojej strony. Na początek. Jeśli masz dostęp do kokpitu WordPressa, przejdź do zakładki „Ustawienia → Ogólne” i upewnij się, że adres WordPressa (URL) i adres witryny (URL) są spójne i zgodne z tym, co wymuszasz na poziomie serwera.

Jeśli jednak pętla przekierowań blokuje dostęp do panelu logowania WordPressa, musisz zmienić te adresy ręcznie. Możesz to zrobić, edytując plik wp-config.php, który znajduje się w katalogu głównym Twojej instalacji WordPressa. Możesz to zrobić za pomocą menadżera plików w panelu hostingowym lub za pomocą połączenia FTP.

Dodaj w nim poniższe linie. Zmian dokonuj zanim napotkasz linię /* That's all, stop editing! Happy publishing. */:

define('WP_HOME', 'https://twoja-domena.pl');
define('WP_SITEURL', 'https://twoja-domena.pl');

Zamień https://twoja-domena.pl na poprawny adres swojej strony. Jeśli chcesz wymusić wersję bez „www”, wpisz ją bez przedrostka. Jeśli chcesz odwrotnie — wpisz z „www”. To pozwala WordPressowi działać w zgodzie z tym, co wymusza serwer, i przerwać pętlę.

Po zapisaniu zmian odśwież stronę i sprawdź, czy problem z przekierowaniami nadal występuje. Jeśli tak, przejdź do analizy pliku .htaccess, wtyczek i ustawień SSL, które również mogą być źródłem problemu.

Pętla przekierowań i plik htaccess w WordPress

Kolejny krok to sprawdzenie pliku .htaccess. Jeśli znajdziesz w nim reguły przekierowań, które mogą wchodzić w konflikt z ustawieniami WordPressa lub innymi wtyczkami, warto je tymczasowo wyłączyć. Możesz to zrobić, komentując linie, które chcesz zablokować. W .htaccess komentarz dodajesz przez # na początku linii:

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

na

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

W razie potrzeby przywróć domyślny .htaccess dla WordPressa, który wygląda tak:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Następnie przeanalizuj wtyczki. Wyłącz wszystkie narzędzia odpowiedzialne za przekierowania i sprawdź, czy strona się załaduje. Jeśli tak, przywracaj je pojedynczo i testuj za każdym razem. Możesz to robić zmieniając nazwę folderu wtyczki za pomocą FTP lub menadżera plików. W ten sposób znajdziesz winowajcę.

Przykład: Masz aktywną wtyczkę o nazwie redirection (czyli folder: wp-content/plugins/redirection).

Jeśli zmienisz nazwę tego folderu na redirection-old albo redirection-off, WordPress nie znajdzie go i automatycznie ją wyłączy — bez błędów i bez konieczności logowania do kokpitu.

Pamiętaj także o konfiguracji SSL. Jeśli Twój serwer wymusza przejście na HTTPS, a WordPress ładuje się przez HTTP, musisz zsynchronizować oba ustawienia. Upewnij się, że wtyczki SSL oraz reguły .htaccess nie wprowadzają dodatkowych przekierowań.

Czasem problem leży po stronie pamięci podręcznej. Warto więc wyczyścić cache przeglądarki i wtyczek typu cache, aby mieć pewność, że nie patrzysz na przestarzałe dane.

Na koniec sprawdź, czy problem nie wynika z błędów w konfiguracji CDN, jeśli korzystasz z sieci dostarczania treści. Czasem reguły przekierowań ustawione po stronie CDN mogą dublować się z tymi z serwera i wywoływać pętlę przekierowań.

Rozwiązanie problemu zależy od źródła błędu, ale działając krok po kroku, szybko znajdziesz przyczynę i przywrócisz swoją stronę do działania.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przegląd prywatności
hitme logo

Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne.

Ściśle niezbędne ciasteczka

Niezbędne ciasteczka powinny być zawsze włączone, abyśmy mogli zapisać twoje preferencje dotyczące ustawień ciasteczek.

Facebook Pixel

Używamy narzędzia Facebook Pixel, aby śledzić działania użytkowników na naszej stronie internetowej. Facebook Pixel umożliwia nam analizowanie skuteczności reklam oraz tworzenie spersonalizowanych treści marketingowych. Dzięki temu możemy lepiej dostosować naszą ofertę do Twoich potrzeb. Zbierane dane mogą obejmować m.in. informacje o odwiedzonych stronach, kliknięciach oraz konwersjach.

Bezpieczna analityka

W celu lepszej analizy ruchu na naszej stronie internetowej korzystamy z narzędzia Matomo Analytics. Matomo jest hostowane w naszej infrastrukturze, a zbierane dane nie są udostępniane żadnym podmiotom zewnętrznym. Informacje o Twojej aktywności na stronie służą jedynie do analizy statystycznej oraz poprawy jakości naszych usług, zgodnie z przepisami RODO/GDPR.

Dane są w pełni anonimowe i nie są przekazywane poza naszą firmę.