E01 Węzeł linii E

Nawigacja fasetowa – jak optymalizować ją dla SEO?

nawigacja fasetowa

Nawigacja fasetowa (filtry kategorii: kolor, rozmiar, marka, cena) poprawia wygodę zakupów, ale może wygenerować tysiące niemal identycznych adresów URL. Dla sklepu oznacza to ryzyko marnowania crawl budgetu, duplikatów w indeksie i konkurowania stron ze sobą w wynikach wyszukiwania. Poniżej opisujemy, które kombinacje filtrów warto indeksować, a które zablokować, i jak to zrobić. Opieramy się na dokumentacji Google o nawigacji fasetowej.

Duplikacja treści w nawigacji fasetowej – wyzwania i strategie optymalizacyjne

Każda kombinacja filtrów tworzy nowy adres URL z listą produktów, często niemal identyczną jak w kategorii nadrzędnej. To zjawisko nazywa się „eksplozją adresów URL”. Robot Google spędza czas na skanowaniu setek wariantów filtrów, zamiast odwiedzać nowe produkty i ważne kategorie, a w indeksie pojawiają się zbędne strony (index bloat). Problem dotyczy głównie dużych sklepów, bo mały sklep z kilkuset adresami rzadko ma kłopot z budżetem indeksowania.

Matematyka duplikacji treści

Skalę problemu pokazuje prosty rachunek. Kategoria z pięcioma grupami filtrów po dziesięć opcji, gdzie w każdej grupie można wybrać jedną opcję albo żadnej, daje 115, czyli 161 051 możliwych adresów URL. A to bez sortowania i paginacji. Wiele z nich zwraca te same produkty w innej kolejności albo pustą listę. Google może nie wiedzieć, którą wersję pokazywać, a sygnały (linki, kliknięcia) rozpraszają się między wieloma adresami.

Typ struktury URL Przykład zapisu Ryzyko duplikacji Wpływ na indeksowanie
Parametry zapytania /sklep?kolor=czerwony Bardzo wysokie Widoczne dla botów, wymaga kontroli
Ścieżki statyczne /sklep/czerwone/ Średnie Traktowane jako unikalne foldery
Fragmenty URL (#) /sklep#kolor=czerwony Zerowe Ignorowane przez roboty (treść niewidoczna)

Strategie optymalizacji i kontroli robotów

Podstawą jest selektywne podejście: indeksuj tylko te kombinacje filtrów, na które klienci rzeczywiście wpisują zapytania w Google (np. marka plus kategoria), a resztę wyłącz z indeksowania lub skanowania. Dostępne metody:

  • Własne strony dla popularnych kombinacji – dla filtrów, które mają realny wolumen wyszukiwań (np. „sukienki wieczorowe czarne”), utwórz osobną stronę z czytelnym adresem, własnym tytułem, nagłówkiem H1 i opisem. Dane o wolumenie sprawdzisz w Senuto, Ahrefs lub Planerze słów kluczowych.
  • Blokada w robots.txt – dla filtrów, które nie mają sensu w wynikach (sortowanie, cena, liczba produktów na stronę). Reguła Disallow: /*?price= blokuje skanowanie takich adresów i oszczędza zasoby. Google nie zobaczy wtedy żadnych znaczników na zablokowanych stronach, więc nie łącz tej metody z noindex ani canonical na tych samych adresach.
  • Tag kanoniczny (rel="canonical") – wskazuje stronę nadrzędną (kategorię) jako wersję preferowaną. Google traktuje go jako wskazówkę, a roboty nadal skanują te adresy, więc przy dużych sklepach canonical nie rozwiązuje problemu budżetu indeksowania. Więcej o canonical w artykule o linkach kanonicznych.
  • Noindex – usuwa stronę z indeksu, ale robot musi ją najpierw odwiedzić, żeby przeczytać dyrektywę. Strona nie może więc być zablokowana w robots.txt. Z czasem Google skanuje strony noindex rzadziej, ale nie przestaje.
  • Fragmenty adresu (#) zamiast parametrów – jeśli filtr zmienia adres w postaci /sklep#kolor=czerwony, Google traktuje go jako ten sam adres co /sklep, więc nie powstają nowe URL-e. To najprostszy sposób dla filtrów, które nie mają trafiać do indeksu.
  • Atrybut rel="nofollow" na linkach do filtrów – ogranicza skanowanie odnośników, ale Google traktuje go jako wskazówkę. Działa tylko jako uzupełnienie, bo linki do tych adresów mogą pochodzić też z innych miejsc.

Własne strony dla filtrów z potencjałem

Dobrze przygotowana strona filtra potrafi zdobyć ruch z fraz o średnim i niskim wolumenie, np. „buty trekkingowe męskie Salomon”. Zamiast pozwalać, by każda kombinacja filtrów żyła własnym życiem, wybierz kilka z największym potencjałem i zadbaj o nie jak o zwykłe kategorie.

Jak przygotować taką stronę

Strona filtra powinna mieć stały, czytelny adres (np. /buty/salomon/), a nie adres z parametrami, oraz własny tytuł strony, nagłówek H1 i opis meta z frazą, którą chcesz pozycjonować. Powinna ładować się równie szybko jak zwykła kategoria i być linkowana z menu lub z kategorii nadrzędnej. W sklepach opartych na nowoczesnych frameworkach (Next.js, Gatsby) takie strony można generować statycznie, w WooCommerce, PrestaShop czy Shoper służą do tego wtyczki lub moduły filtrów z funkcją stron SEO.

Unikalne treści i strukturyzacja danych

Dodaj do strony kilka zdań unikalnego opisu (nie powielaj opisu kategorii nadrzędnej) i dane strukturalne produktów. Indeksuj tylko kombinacje, które mają realne zapytania w wyszukiwarce, a parametry techniczne (sortowanie, liczba produktów na stronę, widok listy lub siatki) wyłącz z indeksu. Pusta kombinacja, w której nie ma żadnych produktów, powinna zwracać kod 404, a nie pustą stronę z kodem 200.

Dlaczego filtry są ważne mimo ryzyka

W dużych sklepach (np. Amazon, Zalando) filtry są niezbędne, bo przy tysiącach produktów w kategorii klient musi szybko zawęzić wybór. Dlatego rozwiązaniem nie jest usuwanie filtrów, tylko decyzja, które kombinacje mają być widoczne dla Google. Stronę z filtrami trzeba testować na urządzeniach mobilnych, bo tam wybór opcji jest najbardziej uciążliwy.

Skuteczność filtrów w Twoim sklepie sprawdzisz w Google Analytics 4: porównaj konwersję i współczynnik odrzuceń sesji, w których użytkownik użył filtrów, z pozostałymi. Zdarza się, że filtry nie są używane, bo są źle opisane lub niewidoczne na telefonie.

Z perspektywy SEO ważne jest rozdzielenie dwóch warstw: filtry w interfejsie dla klienta oraz adresy dostępne dla robota. Ta druga warstwa wymaga świadomych decyzji, opisanych wyżej.

Wdrożenie na popularnych platformach

Dostępne narzędzia zależą od platformy sklepowej. Poniżej najczęstsze przypadki.

Magento (Adobe Commerce) ma funkcję Layered Navigation, która generuje adresy z parametrami. Kontrolę nad indeksowaniem uzyskasz konfiguracją canonical, noindex i robots.txt, a często także dodatkowymi rozszerzeniami do filtrów z AJAX.

Shopify tworzy adresy filtrów jako parametry w kolekcji (np. ?filter.v.option.color=...) oraz adresy tagów (/collections/kategoria/tag). Robots.txt możesz zmienić przez szablon robots.txt.liquid, a canonical jest ustawiany domyślnie na adres kolekcji bez parametrów. Sprawdź w kodzie, czy tak jest w Twoim motywie.

WooCommerce korzysta z wtyczek filtrów, np. FacetWP lub filtrów z Yoast WooCommerce SEO, które pozwalają sterować, jakie kombinacje są indeksowane. Reguły noindex i canonical ustawiasz we wtyczce SEO (Yoast, Rank Math).

Adresy URL filtrów

Adres filtra powinien być czytelny i spójny. Google zaleca stosowanie standardowego zapisu parametrów (?kolor=niebieski&rozmiar=l, z użyciem znaków = i &) lub ścieżek, a nie niestandardowych separatorów, które utrudniają robotom rozpoznanie parametrów.

Zasady budowy adresów

Dla stron filtrów przeznaczonych do indeksowania stosuj ścieżki, np. /odziez/kolor-niebieski/. Dla filtrów technicznych zostaw parametry, które łatwo zablokować w robots.txt (?sort=, ?price=). Zachowaj stałą kolejność filtrów w adresie, żeby ?kolor=niebieski&rozmiar=l i ?rozmiar=l&kolor=niebieski nie tworzyły dwóch adresów dla tego samego wyniku.

Ważne strony filtrów linkuj z menu lub kategorii, tak by były osiągalne w niewielu kliknięciach od strony głównej. Do indeksowanych stron filtrów prowadź zwykłe linki <a href>, bo Google nie wykonuje kliknięć w elementy bez adresu.

Mapa witryny i monitoring

W mapie witryny umieszczaj tylko adresy, które mają być w indeksie (kategorie i wybrane strony filtrów), a nie wszystkie kombinacje. Regularnie sprawdzaj, na jakie adresy roboty Google tracą czas: w Search Console zajrzyj do raportu „Statystyki indeksowania” (Ustawienia, Statystyki indeksowania), a w większych sklepach analizuj logi serwera. Jeśli większość żądań robota dotyczy adresów z parametrami filtrów lub sortowania, trzeba je zablokować.

W Google Search Console w raporcie „Strony” sprawdź grupy „Zindeksowano, ale nie ma jej w mapie witryny” oraz „Strona zduplikowana, Google wybrało inną stronę kanoniczną”. Często to właśnie tam „wyciekają” niechciane adresy filtrów.

Okruszki (breadcrumbs)

Okruszki (nawigacja ścieżkowa) pokazują użytkownikowi, gdzie jest w serwisie, np. Strona główna > Odzież > Sukienki. Dla stron filtrów, które mają być indeksowane, stosuj osobny poziom w ścieżce (Odzież > Sukienki > Czarne). Dla zwykłych kombinacji filtrów nie rozbudowuj okruszków o każdy wybrany atrybut, bo ścieżka powinna odzwierciedlać strukturę serwisu, a nie historię kliknięć.

Dodaj znacznik BreadcrumbList (schema.org), który pomaga Google zrozumieć położenie strony w serwisie i może zastąpić adres w wynikach wyszukiwania ścieżką. Zadbaj o to, by okruszki były klikalne i odpowiadały hierarchii kategorii.

Zaawansowane techniki: AJAX i ukrywanie linków

AJAX z History API (pushState) pozwala odświeżać listę produktów bez przeładowania strony. Jeśli filtr zmienia adres na nowy URL, musisz zdecydować, czy ma być widoczny dla robotów. Jeśli filtr w ogóle nie zmienia adresu i nie jest linkiem <a href>, robot go nie odwiedzi, ale też nie będzie można go zindeksować. Treść ładowana po kliknięciu nie trafi do indeksu.

Ukrywanie linków do filtrów (obfuskacja) polega na tym, że zamiast <a href> używa się elementów <span> lub <button>, a adres dołącza skrypt po kliknięciu. Robot nie widzi wtedy odnośników. Jest to rozwiązanie niestandardowe i wymaga ostrożności: komplikuje kod, utrudnia dostępność, a Google w dokumentacji rekomenduje prostsze metody (robots.txt, fragmenty #, canonical, noindex). Stosuj je tylko, gdy te metody nie wystarczają, i testuj efekt w Search Console.

Nawigacja fasetowa – jak optymalizować ją dla SEO? – najczęściej zadawane pytania

Czym jest nawigacja fasetowa w sklepie internetowym?

To filtry kategorii, które pozwalają zawężać listę produktów według wielu atrybutów jednocześnie, takich jak rozmiar, kolor, cena czy marka.

Jak uniknąć duplikacji treści przy filtrowaniu produktów?

Wskaż kategorię nadrzędną tagiem canonical, zablokuj zbędne parametry (sortowanie, cena) w robots.txt albo użyj noindex dla mało istotnych filtrów. Nie łącz robots.txt z noindex na tych samych adresach, bo zablokowanej strony Google nie odczyta.

Kiedy warto indeksować strony filtrów w Google?

Gdy odpowiadają na zapytania, które klienci faktycznie wpisują, np. „czerwone buty sportowe Nike”. Takie strony potrzebują stałego, czytelnego adresu, własnego tytułu, opisu i linku z kategorii.

Jak zablokować robotom dostęp do zbędnych parametrów nawigacji?

Dyrektywą „Disallow” w pliku robots.txt, np. Disallow: /*?sort=. Alternatywą jest użycie fragmentów adresu (#) dla filtrów, które nie mają być widoczne dla robotów.

Jakie błędy w nawigacji fasetowej szkodzą pozycjonowaniu?

Indeksowanie wszystkich kombinacji filtrów (index bloat), puste strony filtrów zwracające kod 200, mapa witryny z adresami parametrów oraz marnowanie budżetu indeksowania na sortowanie i liczbę produktów na stronę.

Strategie SEO dla produktów wycofanych z oferty lub chwilowo niedostępnych E02następna stacja