Masz treści, masz ruch z reklam, a w Google kicha. Kategorie pokazują się bez fragmentów, produkty nie łapią się na frazy długiego ogona, a Search Console podpowiada Rzadko indeksowane lub Odkryte nie zindeksowane. Często winny nie leży w słowach kluczowych, tylko w tym jak witryna renderuje treści przez JavaScript.
Gdy kluczowa zawartość pojawia się dopiero po zadziałaniu skryptów, robot może nie doczekać końca albo w ogóle nie wywołać zdarzeń potrzebnych do złożenia strony. Dotyczy to nie tylko opisów i list produktów, ale też nawigacji, paginacji, filtrów, linków do kolejnych podstron, a nawet danych strukturalnych. Efekt to słaba indeksacja mimo porządnej merytoryki.
Kiedy JavaScript staje się problemem dla indeksacji
Jeśli główna treść pojawia się na stronie dopiero po pobraniu danych przez skrypt, wyszukiwarka musi poświęcić dodatkowe zasoby na uruchomienie kodu. Ma na to ograniczony budżet. Gdy skrypty są ciężkie, łańcuchy zależności długie albo pojawiają się błędy, część zawartości nie trafia do indeksu lub trafia z opóźnieniem.
W WordPressie najczęściej dzieje się tak, gdy builder lub wtyczka sklepu montuje listy produktów, recenzje czy sekcje bloga dopiero po stronie przeglądarki. Podobnie gdy paginacja i filtry działają wyłącznie w trybie AJAX i nie tworzą osobnych adresów z treścią gotową do pobrania przez robota.
Problem pogłębiają wyskakujące okna ukrywające stronę, nawigacja zbudowana wyłącznie z akcji klik bez prawdziwych adresów w linkach oraz meta dane wstrzykiwane przez skrypt. Robot nie klika, nie zamyka pop upów i nie zawsze czeka aż wszystko się dorysuje.
Jak rozpoznać że treść nie trafia do indeksu
Najprościej sprawdzić źródło strony i porównać je z widokiem po włączeniu narzędzi deweloperskich. Jeśli w źródle nie ma listy produktów, menu lub tekstu, a pojawiają się dopiero po działaniu skryptów, masz wskazówkę. W Search Console warto użyć sprawdzania adresu oraz testu na żywo i porównać wyrenderowany zrzut z tym co widzisz w przeglądarce.
Drugi sygnał to kategorie i tagi, które mają mało zaindeksowanych podstron mimo wielu produktów i wpisów. Jeśli filtry lub paginacja nie zmieniają adresu strony i nie tworzą osobnych wersji, robot nie ma czego dodać do indeksu.
Co w WordPressie najczęściej znika przez JS
Listy produktów w WooCommerce ładowane po stronie przeglądarki, nieserverowa paginacja oraz filtrowanie bez realnych adresów. Dla robota to jedna strona z ograniczoną treścią. Gdy nie ma odnośników do kolejnych stron, nie odkryje głębszych pozycji.
Nawigacja ukryta w przycisku, który działa wyłącznie na skrypcie. Link musi mieć atrybut href prowadzący do adresu. Jeśli wszystko opiera się na zdarzeniach klik, crawler nie przejdzie dalej. Dotyczy to też elementów jak karuzele, gdzie kolejne slajdy nie są linkami.
Meta robots, canonical i dane strukturalne generowane wyłącznie przez JavaScript. Wyszukiwarka potrafi przetwarzać skrypty, lecz nie zawsze i nie od razu. Bezpieczniej podać te informacje w HTML już na etapie serwera.
Zobacz więcej darmowej wiedzy na ProjektWordPress.pl
Szybkie testy które nie wymagają programisty
Wyłącz JavaScript w przeglądarce i zobacz czy na stronie wciąż widać menu, treść kategorii, paginację i linki do produktów. Sprawdź czy filtr po wyborze wartości tworzy nowy adres i czy da się go otworzyć w nowej karcie. Jeśli po wyłączeniu skryptów strona staje się pusta albo nie da się przejść dalej, indeksacja jest zagrożona.
Sprawdzone sposoby naprawy w praktyce
Najpierw zapewnij że kluczowa treść powstaje na serwerze. W praktyce oznacza to użycie pętli WordPress do list wpisów i produktów, a nie doładowywanie ich po stronie przeglądarki. Paginacja powinna mieć klasyczne linki z numerami stron. Filtry powinny generować adresy z parametrami, które serwer rozumie i zwraca gotowy HTML.
AJAX może zostać jako poprawa użyteczności, ale z podejściem progressive enhancement. Najpierw działające linki i adresy, dopiero potem wygładzenie ich przez skrypty. Dzięki temu robot zobaczy strukturę, a użytkownik szybkie przełączanie bez przeładowań.
Ogranicz i porządkuj skrypty. Usuń te które tylko upiększają, a blokują ładowanie. Atrybuty defer i async pomagają nie wstrzymywać renderowania, ale nie mogą dotyczyć kodu, który buduje główną treść. Włącz cache po stronie serwera aby podawać gotowy HTML i skrócić czas do pierwszego renderu.
Kiedy warto zmienić podejście do architektury
Gdy strona przypomina aplikację jednego widoku i wszystko żyje w skryptach, rozważ przeniesienie kluczowych szablonów na natywne mechanizmy WordPress. Alternatywą bywa pre rendering czyli generowanie statycznego HTML dla stron które nie muszą być budowane na żywo. Dla kategorii i stron informacyjnych to często wystarczające i stabilne rozwiązanie.
Zmiany wprowadzaj etapami zaczynając od kategorii i stron o największym potencjale. Po wdrożeniu obserwuj w Search Console wydajność indeksowania oraz liczbę zaindeksowanych adresów. Jeśli rośnie widoczność kategorii i przybywa zaindeksowanych paginacji, znaczy że struktura zaczęła pracować na Twoją korzyść.