ERROR LOOPS – co to jest i jak wpływa na SEO?

W SEO istnieje wiele czynników, które mogą wpłynąć na widoczność strony i jednym z takich problemów jest zjawisko error loops, które może być wynikiem błędów w pliku robots.txt. Prawdopodobnie nie słyszałeś o tym, bo temat jest dość niszowy. Dlatego w tym artykule dowiesz się m.in. czym jest error loops, jakie mogą być konsekwencje dla SEO oraz jak unikać tego problemu, a wszystko to aby jak najlepiej przygotować stronę dla crawlerów.
Error loops – co to jest?
Error loops pojawiają się, gdy crawler (robot wyszukiwarki) napotyka na blokadę dostępu do kluczowych plików strony, takich jak pliki JavaScript (*.js) lub arkusze styli (*.css). Gdy te zasoby są zablokowane w pliku robots.txt, to robot wyszukiwarki (googlebot, bingbot oraz inne) nie może ich zeskanować i poprawnie renderować strony. Brak dostępu do tych plików sprawia, że robot próbuje wielokrotnie uzyskać do nich dostęp, co tworzy swoistą pętlę błędów. W efekcie robot może nie zrozumieć w pełni wyglądu, funkcjonalności ani zawartości, co przekłada się na obniżoną ogólną ocenę jakości strony.
Jaki wpływ na SEO mają error loops?
Kiedy robot wielokrotnie napotyka na blokadę dostępu do zasobów, następuje zmarnowanie budżetu crawlowania. Crawl budget odnosi się do liczby stron, które roboty wyszukiwarek mogą przeszukiwać na witrynie w danym czasie, co obejmuje zarówno ograniczenia techniczne (crawl rate limit), jak i zapotrzebowanie na crawlowanie (crawl demand), jednak do tego zestawu osobiście zaliczam budżet renderowania (render budget), który jest bardzo istotny pod kątem pozycjonowania stron z dużą ilością JavaScript. W praktyce oznacza to, że crawl budget nie tylko wyznacza limit, ale także zależy od popularności witryny oraz jej struktury. Jeśli większość tego budżetu zostanie poświęcona na bezowocne próby uzyskania dostępu do zablokowanych zasobów (arkusze styli, skrypty), reszta strony może nie zostać w pełni zeskanowana i „zrozumiana” przez roboty. Skutkiem tego jest zmniejszona widoczność strony i przyczynia się bezpośrednio do obniżenia ruchu organicznego (ruch z wyszukiwarki).
Niedokładne renderowanie strony
Gdy kluczowe zasoby są zablokowane w pliku robots.txt, to crawlery nie są w stanie odwzorować wyglądu i funkcjonalności strony tak, jak użytkownik w przeglądarce, bo korzystają z headless browser (przeglądarka bez interfejsu graficznego). Obecnie strony mogą opierać się w dużej części na dynamicznym renderowaniu treści (np. sklepy internetowe), a w 99,9% posiadają również kaskadowe arkusze styli (CSS), które definiują wygląd i układ strony. W takim razie gdy crawlery nie mają dostępu do tych plików, napotykają na problemy:
- Niepełna struktura strony: Bez plików CSS robot nie widzi stylów strony, przez co nie jest w stanie prawidłowo zrozumieć układu i hierarchii elementów. Strona może wydawać się chaotyczna i niezorganizowana.
- Brak interaktywnych elementów: Gdy pliki JavaScript są blokowane, robot nie ma dostępu do elementów, które działają dynamicznie, takich jak formularze, wyskakujące okienka, rozwijane menu czy elementy ładujące się na żądanie. Tego typu elementy są kluczowe dla zrozumienia, jak działa interakcja użytkownika ze stroną.
Przykład: Strona e-commerce, której blokowane są skrypty JavaScript odpowiedzialne za ładowanie dynamiczne produktów, może wyglądać na stronę bez treści, co znacznie obniży ocenę jej jakości w oczach wyszukiwarki.
Czy blokowanie zasobów jest zawsze złe?
Odpowiedź brzmi NIE! 🙂 Blokowanie JavaScript i / lub CSS nie zawsze musi prowadzić do negatywnych konsekwencji ale blokując trzeba być zawsze ostrożnym. W niektórych przypadkach może być uzasadnione ograniczenie dostępu. Wszystko zależy od kontekstu i specyfiki strony, bo nie wszystkie style i skrypty mają znaczenie dla procesu skanowania przez crawlery. Generalnie jeśli jakiś skrypt jest zbędny dla zrozumienia strony przez robota, to można go zablokować.
- Na wielu stronach można znaleźć pliki JS, które obsługują reklamy, analitykę, śledzenie użytkowników czy inne funkcje, które nie są istotne dla robotów. Blokowanie dostępu do tych plików może ograniczyć nadmierne crawlowanie.
- Jeśli strona korzysta ze skryptów zewnętrznych takich jak Google Tag Manager, Google Analytics czy innych narzędzi, to ich blokowanie nie wpłynie negatywnie na renderowanie i ogólną ocenę zawartości strony, ponieważ roboty nie potrzebują tych skryptów by prawidłowo zrozumieć zawartość strony. Oczywiście skrypty muszą być hostowane lokalnie, żeby użycie disallow miało sens. W przypadku korzystania ze skryptów zewnętrznych alternatywnym podejściem może być użycie tagów <noscript>
Kiedy zatem blokować? Standardowo – TO ZALEŻY – praktycznie do każdej strony powinno podejść się indywidualnie, nie ma konkretnego schematu. Najpierw analiza, później blokowanie ale od tej reguły można zrobić wyjątek dla stron z WordPress.
W pliku robots.txt folder motywu, powinien być dostępny dla googlebota. Może nawet folder wtyczek / wtyczki (i właśnie to zależy ale o tym niżej) powinien mieć allow.
Zasoby motywu
Pliki CSS i JavaScript motywu są kluczowe dla prawidłowego renderowania strony przez crawlery. Jeśli googlebot nie ma dostępu do tych plików, strona może być źle renderowana, co negatywnie wpływa na sposób w jaki googlebot oceni jej wygląd i funkcjonalności. Jest to bardzo ryzykowne w czasach, gdy Google coraz bardziej uwzględnia doświadczenie użytkownika (UX) w ocenie jakości stron.
Z tego powodu proponuję nie blokować całego folderu /wp-content/themes/. Jeśli jednak chcesz bardziej kontrolować roboty, to w miarę możliwości zablokuj zasoby, które nie są potrzebne na front-end.
Niepoprawna dyrektywa: Disallow: /wp-content/themes/
Prawidłowa dyrektywa: Allow: /wp-content/themes/
Zasoby wtyczek
Googlebot, bingbot i cała reszta, nie muszą mieć dostępu do wszystkich plików wtyczek. Jeśli mają do nich dostęp, to oczywiście nic złego. Istnieją jednak takie wtyczki, że robotom (prawdopodobnie) chcesz zablokować dostęp. Takimi wtyczkami mogą być te do importu plików (np. WP All Import czy WP Import Export Lite). Pliki XML, CSV, TXT i inne, które importujesz za pomocą tych wtyczek, są zapisywane na serwerze. W takim razie – o ile nie masz, a korzystasz z tych wtyczek – proponuję do robots.txt dopisać dyrektywy:
Allow: /wp-content/uploads/
Disallow: /wp-content/uploads/wpallimport/
Disallow: /wp-content/uploads/wp-import-export-lite/Jeżeli korzystasz z innej, to niestety trzeba sprawdzić na serwerze lub poszukać w dokumentacji gdzie robi upload, a następnie zablokować dostęp. Alternatywnym podejściem jest ustawienie X-Robots-Tag „noindex” w celu nie indeksowania tych plików.
Jak monitorować error loops?
Aby zapobiec problemowi error loops na stronie, warto regularnie monitorować stronę przy użyciu narzędzi do analizy technicznej SEO. Nie ma tu nic odkrywczego dla specjalisty SEO:
- Google Search Console i Bing Webmaster Tools – podstawa każdej strony
- Screaming Frog – program naśladujący zachowanie crawlerów
Te narzędzia pomogą wykryć, które zasoby są blokowane – tylko tyle i aż tyle.
Google Search Console
Google Search Console (GSC), to jedno z najważniejszych narzędzi, które pozwala na bieżąco monitorować problemy techniczne na stronie. GSC oferuje szereg funkcji, dzięki którym można zidentyfikować wiele problemów na stronie!
Uwaga: Polskojęzyczny GSC tłumaczy indexing i crawling jako „indeksowanie”. W pewnym sensie jest to mylące ale nie wpływa na komfort użytkowania.
Bing Webmaster Tools
Bing Webmaster Tools (BWT), to drugie najważniejsze narzędzie do analizy strony zaraz po GSC. Oferuje też kilka innych udogodnień jak analizę profilu backlinków (z wyszukiwarki bing). Jednak takiego modułu w GSC nie uświadczymy. Połączenie uzyskanych danych z GSC i BWT daje kompleksowy wgląd w sytuację techniczną na stronie. Bardzo polecam zacząć korzystać z obydwu narzędzi!
Screaming Frog
Screaming Frog (SF), to zaawansowane narzędzie naśladujące zachowania crawlerów. Pozwala na szczegółową analizę czynników on-site wybranej witryny. Ma ogromną bazę możliwości mocno wykraczającą za podstawowe rzeczy. Jest dostępny na platformy Windows, MacOS oraz Ubuntu. SF ma też darmowe wersję, która umożliwia skanowanie do 500 urli i płatną subskrypcję, która nie nakłada żadnych ograniczeń.
Jak sprawdzić blokowanie skryptów w Screaming Frog?
Żeby nie utrudniać pracy robotom to warto upewnić się, że JavaScript, CSS, a nawet obrazy nie są blokowane przez plik robots.txt i tutaj z pomocą przychodzi Screaming Frog!
Wystarczy włączyć tryb renderowania JavaScript:
- Z menu wybierz „Configuration → Spider → Rendering”
- Naciśnij na rozwijaną listę i wybierz „JavaScript„
- Ustaw AJAX timeout (secs) na minimum 10 sekund
- Z takimi ustawieniami można puścić crawl strony
W zakładce „JavaScript” pojawią się adresy z zasobami, które nie zostały poprawnie załadowane z powodu blokad w pliku robots.txt. Takie informacje możesz wyeksportować do pliku CSV, co jest bardzo przydatne na większych witrynach.
Error loops – podsumowanie
Error loops mogą być poważnym problemem dla SEO, jeśli nie zostaną odpowiednio rozwiązane. Blokowanie kluczowych zasobów, takich jak pliki JavaScript i CSS, a nawet obrazów może spowodować, że roboty wyszukiwarek nie będą w stanie prawidłowo zrozumieć i przeskanować zawartości strony, co w konsekwencji obniży jej widoczność w wynikach wyszukiwania. Dlatego ważne jest, aby chociaż raz na jakiś czas monitorować plik robots.txt i sprawdzać, czy crawlery nie mają problemów z renderowaniem strony. Reasumując, pomagajmy robotom zrozumieć stronę zamiast niepotrzebnie szkodzić.
Prosta zasada: jeśli nie wiesz, czy warto stosować disallow, to najlepiej tego nie robić 🙂
