Przejdź do treści

Nawigacja fasetowa i filtry WooCommerce — SEO bez duplikatów

· · 18 min czytania
Nawigacja fasetowa i filtry WooCommerce — SEO bez duplikatów

Filtry pomagają klientowi znaleźć produkt bez przeglądania kilkuset pozycji. Może wybrać markę, kolor, rozmiar, cenę albo konkretną właściwość i od razu zobaczyć dopasowaną ofertę.

Problem zaczyna się wtedy, gdy każda kombinacja filtrów tworzy osobny adres URL. Sklep mający kilka kategorii i kilkanaście filtrów może wygenerować tysiące stron z prawie taką samą zawartością. Google odwiedza wtedy sortowania, puste wyniki i przypadkowe połączenia parametrów zamiast skupiać się na ważnych kategoriach i produktach.

Rozwiązaniem nie jest wyłączenie wszystkich filtrów. Trzeba rozdzielić dwie funkcje: wygodne filtrowanie dla klientów oraz strony, które mają zdobywać ruch z Google. W tym poradniku pokażemy, jak ustawić nawigację fasetową w WooCommerce, które wyniki filtrów warto indeksować i czym różnią się noindex, canonical oraz blokada w robots.txt.

Odpowiedź wprost

Nawigacja fasetowa to system filtrów, który pozwala zawęzić listę produktów według kilku cech jednocześnie, na przykład kategorii, marki, rozmiaru, koloru i ceny. Bezpieczny model SEO wygląda zwykle tak:

  1. Główne kategorie i podkategorie są indeksowane.
  2. Zwykłe kombinacje filtrów służą klientom, ale nie trafiają do wyników Google.
  3. Wybrane, wartościowe połączenia otrzymują osobny landing page SEO.
  4. Sortowanie, sposób wyświetlania i parametry techniczne nie są indeksowane.
  5. Puste oraz nielogiczne kombinacje nie tworzą wartościowych stron.
  6. Linki, mapa strony i canonicale wskazują właściwe adresy.

Nie należy automatycznie indeksować każdego wyniku filtra. Jednocześnie nie warto blokować wszystkiego jedną regułą bez sprawdzenia, czy część adresów nie generuje ruchu albo nie powinna zostać rozwinięta.

W skrócie (TL;DR)

  • Nawigacja fasetowa pozwala łączyć filtry, ale może wygenerować ogromną liczbę adresów URL.
  • Nie każda kombinacja marki, ceny, koloru i rozmiaru zasługuje na osobną stronę w Google.
  • noindex, canonical i robots.txt pełnią różne funkcje i nie powinny być stosowane zamiennie.
  • Jeżeli adres jest zablokowany w robots.txt, Google może nie zobaczyć umieszczonego na nim noindex ani canonicala.
  • Wartościowe kombinacje lepiej rozwijać jako kontrolowane landing page z własnym adresem, treścią i linkowaniem.
  • Puste kombinacje powinny zwracać prawidłowy błąd 404 albo nie być możliwe do wygenerowania.
  • Przed wdrożeniem reguł trzeba sprawdzić sposób działania konkretnej wtyczki filtrującej.

Czym jest nawigacja fasetowa?

Nawigacja fasetowa to rozbudowane filtrowanie produktów według kilku niezależnych cech. Klient w sklepie z kosmetykami może wybrać jednocześnie kategorię (serum), składnik (witamina C), typ skóry (sucha), markę (Marka X), cenę (do 100 zł) i dostępność (produkt dostępny od ręki). Każda z tych cech jest fasetą, czyli jednym kryterium zawężania listy produktów.

W WooCommerce filtry są najczęściej oparte na globalnych atrybutach produktów, kategoriach, tagach, cenie, stanie magazynowym, ocenach, marce oraz własnych polach dodanych przez wtyczkę. Jeżeli chcesz najpierw uporządkować kategorie, podkategorie i atrybuty, zacznij od poradnika kategorie w sklepie WooCommerce — architektura pod SEO.

Zwykły filtr a nawigacja fasetowa. Prosty filtr może pozwalać na wybór jednej cechy, na przykład zakresu ceny. Nawigacja fasetowa umożliwia połączenie kilku kryteriów naraz — „czarne buty trekkingowe, rozmiar 43, wodoodporne, do 500 zł". To bardzo wygodne dla klienta, ale dla SEO każda kolejna kombinacja może oznaczać następny adres URL.

Kiedy filtry są potrzebne?

Filtry mają sens wtedy, gdy bez nich klient musi przeglądać długą i zróżnicowaną listę produktów.

Przykład: kategoria zawiera 12 podobnych produktów — rozbudowany panel z 15 filtrami prawdopodobnie nie jest potrzebny. Inna kategoria ma 800 produktów różniących się marką, rozmiarem, materiałem i zastosowaniem — brak filtrów zmusza klienta do ręcznego przeglądania wielu stron. Nawigację fasetową warto rozważyć, gdy kategorie zawierają dużo produktów, klienci wybierają według konkretnych parametrów, oferta ma wiele marek i wariantów, produkty techniczne wymagają porównania, użytkownicy często korzystają z wyszukiwarki wewnętrznej albo asortyment wygląda podobnie, ale różni się właściwościami. Nie ma jednej liczby produktów, od której filtry stają się obowiązkowe — ważniejsze jest to, czy klient może wygodnie znaleźć właściwą ofertę.

Dlaczego filtry mogą tworzyć problemy SEO?

Każda kombinacja może mieć własny adres. Załóżmy, że sklep ma sześć filtrów, a każdy z nich po dziesięć wartości. Już wybór jednej wartości z każdego filtra może teoretycznie stworzyć do miliona kombinacji. W praktyce część połączeń nie wystąpi, ale nawet niewielki procent tej liczby może oznaczać tysiące adresów:

/serum/?marka=x
/serum/?skladnik=witamina-c
/serum/?typ-skory=suche
/serum/?marka=x&skladnik=witamina-c
/serum/?skladnik=witamina-c&marka=x
/serum/?marka=x&skladnik=witamina-c&cena=50-100

Dwa adresy mogą pokazywać tę samą listę produktów, ale różnić się kolejnością parametrów.

Powstają bardzo podobne strony. Wyniki filtrów często dziedziczą z kategorii H1, meta title, meta description, opis, breadcrumbs i większość produktów. Zmienia się tylko kilka pozycji na liście. Dla użytkownika może to być przydatne, ale nie oznacza, że każda wersja stanowi osobną wartościową stronę dla Google. Nie chodzi o automatyczną „karę za duplicate content" — problem polega głównie na tym, że wyszukiwarka musi odwiedzić wiele podobnych URL-i, ustalić relacje między nimi, wybrać główną wersję i zdecydować, które strony warto indeksować.

Google odwiedza zbędne adresy. Crawling oznacza odwiedzanie adresów przez roboty wyszukiwarki. Jeżeli robot trafia na tysiące sortowań, parametrów i pustych kombinacji, może wolniej odkrywać nowe produkty, nowe kategorie, zmiany cen, aktualizacje dostępności i ważne poradniki. W małym sklepie problem może być słabo widoczny; w serwisie z tysiącami produktów i wieloma filtrami liczba zbędnych URL-i szybko rośnie.

Filtry mogą obciążać serwer. Każde filtrowanie może wymagać wykonania zapytania do bazy, przeliczenia dostępnych wartości, pobrania produktów, wygenerowania strony, uruchomienia kodu wtyczek i przetworzenia skryptów JavaScript. Jeżeli roboty masowo odwiedzają kombinacje parametrów, problem nie dotyczy wyłącznie indeksacji — sklep może wykonywać wiele niepotrzebnych operacji.

Podobne strony zaczynają ze sobą konkurować. Cztery różne adresy mogą pokazywać podobne produkty i odpowiadać na tę samą frazę:

/serum-z-witamina-c/
/serum/?skladnik=witamina-c
/serum/?filter_skladnik=witamina-c
/product-tag/witamina-c/

Sklep tworzy wtedy kilka konkurujących URL-i zamiast jednej mocnej strony.

Powstają strony bez produktów. Nie każda kombinacja filtrów daje wyniki. Przykład: „Marka X + produkt wegański + SPF 50 + pojemność 200 ml + cena do 30 zł". Jeżeli sklep nie ma takiego produktu, strona może nadal zwrócić kod 200 i komunikat „Nie znaleziono produktów". Dla serwera i robota jest to technicznie istniejąca strona, choć nie zawiera użytecznej oferty.

Filtr użytkowy czy landing page SEO?

To najważniejsze rozróżnienie w całym procesie.

Filtr użytkowy ma pomóc osobie, która już znajduje się w sklepie: produkty w cenie 80–120 zł, tylko dostępne od ręki, sortowanie od najtańszych, rozmiar 43 i 44 jednocześnie, dwie wybrane marki, ocena co najmniej cztery gwiazdki. Taki wynik nie musi być osobną stroną w Google.

Landing page SEO jest przygotowany pod określoną potrzebę i może zdobywać ruch z wyszukiwarki: serum z witaminą C, buty trekkingowe męskie, materace 160 × 200 cm, biurka gamingowe narożne, szafy przesuwne z lustrem. Taka strona powinna mieć stały adres, własny H1, własny meta title, opis dopasowany do tematu, odpowiednią ofertę, linki wewnętrzne, canonical wskazujący na samą siebie i obecność w mapie strony. Nie oznacza to, że każdy landing musi być ręcznie budowany od podstaw — może automatycznie wyświetlać produkty z danego atrybutu, ale jego zachowanie SEO powinno być kontrolowane.

Które wyniki filtrów warto indeksować?

Pomocna jest prosta macierz decyzyjna.

Rodzaj stronyPrzykładTypowa decyzja
Główna kategoria/serum/Indeksować
Podkategoria/serum-do-twarzy/Indeksować, jeśli ma odrębny temat
Ważna cecha z popytem/serum-z-witamina-c/Rozważyć osobny landing
Strona marki/marka/x/Indeksować, jeśli marka ma ofertę i znaczenie
Sortowanie?orderby=priceNie indeksować
Widok siatki lub listy?view=gridNie indeksować
Liczba produktów na stronie?per_page=96Nie indeksować
Zakres cenowy?price=50-100Zwykle nie indeksować
Kilka marek naraz?marka=x,y,zZwykle nie indeksować
Wielokrotna kombinacjamarka + cena + kolor + rozmiarZwykle nie indeksować
Brak produktówpusta kombinacja404 lub brak możliwości utworzenia
Paginacja/page/2/Powinna być dostępna dla robota
Parametry śledzące?utm_source=...Nie traktować jako osobnej strony

„Zwykle" jest tutaj ważnym słowem. Decyzja zależy od asortymentu, popytu, struktury sklepu i sposobu działania wtyczki.

Jak wybrać kombinacje filtrów na landing page?

Zanim utworzysz indeksowalną stronę z filtra, sprawdź popyt, ofertę, trwałość tematu i to, czy podobna strona już nie istnieje.

Czy klienci szukają takiej grupy? „Serum z witaminą C" opisuje konkretną potrzebę i grupę produktów. „Serum w cenie od 84 do 117 zł" jest raczej ustawieniem użytkownika niż trwałym tematem.

Czy oferta jest wystarczająca? Nie ma jednej wymaganej liczby produktów. Sprawdź jednak, czy klient ma co porównać, czy produkty są regularnie dostępne, czy oferta będzie rozwijana i czy strona nie stanie się za miesiąc pusta.

Czy temat jest trwały? Strona „buty trekkingowe męskie" może działać przez lata. Landing „produkty w promocji do niedzieli" ma krótką użyteczność i wymaga innego sposobu obsługi.

Czy nie istnieje już podobna strona? Nie twórz jednocześnie kategorii „Serum z witaminą C", archiwum atrybutu „Witamina C", indeksowalnego wyniku filtra i tagu „Serum witamina C". Wybierz jeden główny adres.

Czy temat ma znaczenie biznesowe? Weź pod uwagę marżę, dostępność, sezonowość, udział w sprzedaży, konkurencyjność i możliwość rozwoju oferty.

Czy możesz podlinkować stronę? Indeksowalny landing nie powinien być ukryty wyłącznie za formularzem filtrów. Powinien otrzymać zwykłe linki z kategorii nadrzędnej, menu lub megamenu, opisów kategorii, poradników, sekcji popularnych wyborów i powiązanych landing page.

noindex, canonical i robots.txt — czym się różnią?

Te trzy elementy rozwiązują różne problemy. Nie powinny być stosowane zamiennie.

noindex — nie pokazuj strony w wynikach. Znacznik informuje wyszukiwarkę, że dana strona nie powinna znajdować się w indeksie:

<meta name="robots" content="noindex,follow">

Aby Google zobaczył ten znacznik, musi móc odwiedzić stronę. noindex może mieć sens, gdy liczba adresów jest ograniczona, Google może je odwiedzać, chcesz usunąć istniejące URL-e z indeksu albo strona ma pozostać dostępna dla klientów. Sam noindex nie zatrzymuje odwiedzania strony — Google może nadal pobierać URL, aby sprawdzić, czy dyrektywa się nie zmieniła. Przy ogromnej liczbie kombinacji ogranicza to indeksację, ale nie zawsze zmniejsza obciążenie związane z odwiedzaniem adresów.

Canonical — wskaż główną wersję. Canonical podpowiada Google, który adres jest główną wersją podobnych stron:

<link rel="canonical" href="https://sklep.pl/serum/">

Adres /serum/?orderby=price może wskazywać canonical na /serum/. Canonical jest pomocny, gdy różne adresy pokazują praktycznie tę samą treść, parametr zmienia tylko kolejność, istnieje kilka technicznych wersji tego samego widoku albo chcesz skonsolidować sygnały wokół głównego URL-a. Canonical jest jednak sygnałem, a nie bezwzględnym poleceniem. Jeżeli przefiltrowana strona znacznie różni się od kategorii, Google może uznać, że wskazany canonical nie pasuje do zawartości. Nie należy wskazywać wszystkich kombinacji na kategorię wyłącznie dlatego, że nie chcesz ich indeksować — najpierw trzeba określić, które adresy są duplikatami, a które odrębnymi zestawami produktów.

robots.txt — nie odwiedzaj adresu. Plik może zablokować robotom dostęp do określonych parametrów:

User-agent: *
Disallow: /*?filter_color=
Disallow: /*?filter_size=
Disallow: /*?orderby=

To tylko przykład. Nazwy parametrów zależą od sklepu i używanej wtyczki — takich reguł nie należy kopiować bez sprawdzenia rzeczywistych adresów. Blokada może ograniczyć odwiedzanie zbędnych kombinacji, zmniejszyć liczbę niepotrzebnych zapytań, odciążyć duży sklep i skierować roboty na ważniejsze URL-e.

robots.txt nie usuwa strony z indeksu

robots.txt nie jest pewnym narzędziem do usuwania już zaindeksowanego adresu. Jeżeli zablokujesz URL, Google nie wejdzie na stronę i nie zobaczy umieszczonego na niej noindex, canonicala ani zmian w treści. To najczęstszy błąd przy porządkowaniu filtrów — blokada nakładana zbyt wcześnie zamraża adresy w indeksie zamiast je z niego usunąć.

Dlaczego kolejność wdrożenia ma znaczenie?

Załóżmy, że tysiące wyników filtrów są już w Google. Jeżeli od razu zablokujesz je w robots.txt, robot nie będzie mógł wejść na strony i zobaczyć znacznika noindex. Bezpieczniejszy proces może wyglądać tak:

  1. Zidentyfikuj adresy, które mają zniknąć.
  2. Ustaw na nich odpowiedni noindex.
  3. Pozwól Google ponownie je odwiedzić.
  4. Sprawdź, czy adresy znikają z indeksu.
  5. Dopiero później rozważ blokadę ich dalszego odwiedzania.

Kolejność powinna być dopasowana do konkretnego sklepu. Masowe zmiany bez kontroli mogą wykluczyć również wartościowe strony.

Czy warto używać nofollow na linkach filtrów?

nofollow informuje, że wyszukiwarka nie powinna podążać za konkretnym linkiem w standardowy sposób — nie jest to jednak wystarczająca metoda zarządzania dużą nawigacją fasetową.

Ten sam URL może zostać znaleziony przez inny link bez nofollow, sitemapę, link zewnętrzny, wcześniejsze odwiedziny robota albo inny wariant adresu. nofollow może być elementem strategii, ale nie powinien być jedynym zabezpieczeniem.

Filtry oparte na fragmencie #

Niektóre filtry zapisują wybór po znaku #, na przykład /serum/#marka=x&skladnik=witamina-c.

Google zazwyczaj nie traktuje fragmentu po # jako osobnej strony do indeksowania. Może to ograniczyć powstawanie indeksowalnych URL-i, ale ma również konsekwencję: takiego wyniku filtra nie rozwiniesz bezpośrednio jako strony SEO. Jeżeli kombinacja ma zdobywać ruch, powinna otrzymać osobny, normalny adres.

Puste wyniki i nielogiczne kombinacje

Strona bez produktów nie powinna udawać prawidłowej kategorii.

Możliwe rozwiązania: nie pokazywać opcji prowadzących do zera wyników, wyłączać niedostępne wartości filtra, zwracać kod 404 dla nieistniejącej kombinacji albo pokazać klientowi możliwość usunięcia jednego z warunków. Kod 404 informuje, że pod danym adresem nie ma prawidłowej strony. Nie przekierowuj wszystkich pustych wyników na główną kategorię — użytkownik wybierający konkretną kombinację nie powinien nagle zobaczyć całej oferty bez informacji, co się stało.

Powtarzająca się kolejność parametrów

Ten sam wynik może występować jako kilka adresów różniących się tylko kolejnością parametrów:

/serum/?marka=x&kolor=bezbarwny
/serum/?kolor=bezbarwny&marka=x

System powinien ustalać jedną kolejność parametrów albo przekierowywać alternatywne wersje. Należy też unikać powtarzania tego samego parametru, pustych wartości, parametrów w kilku formatach, wielkich i małych liter oznaczających to samo oraz kilku nazw dla jednej cechy:

?color=black
?kolor=czarny
?filter_color=black
?pa_color=black

Jeżeli wszystkie wersje pokazują ten sam wynik, sklep niepotrzebnie tworzy kolejne URL-e.

Czy strony filtrów powinny znajdować się w sitemapie?

Zwykłe, nieindeksowalne wyniki filtrów nie powinny znajdować się w mapie strony.

Sitemapa powinna zawierać głównie adresy, które mogą być indeksowane, wskazują canonical na siebie, zwracają kod 200, mają znaczenie dla użytkownika i są częścią docelowej struktury sklepu. Jeżeli strona ma noindex, a jednocześnie znajduje się w sitemapie, wysyłasz sprzeczne sygnały: mapa strony mówi „to ważny URL", a noindex mówi „nie pokazuj go w wynikach".

Czy Google powinien przechodzić przez filtry?

To zależy od roli danego wyniku.

Indeksowalne landing page powinny być dostępne przez zwykłe linki HTML:

<a href="/serum-z-witamina-c/">Serum z witaminą C</a>

Taki link może znaleźć się w kategorii, opisie, menu, poradniku albo sekcji popularnych filtrów. Zwykłe filtry użytkowe mogą działać dynamicznie i nie muszą tworzyć linków przeznaczonych do indeksowania. Należy jednak zachować dostępność dla użytkowników, obsługę klawiaturą, czytelne przyciski, możliwość usunięcia filtra i możliwość powrotu do wcześniejszego widoku.

Jak ustawić filtry w WooCommerce?

Dokładne zachowanie adresów zależy od wersji WooCommerce, używanego motywu, bloków sklepowych, wtyczki filtrującej, sposobu ładowania AJAX i własnych modyfikacji. Dlatego nie istnieje jedna reguła pasująca do każdego sklepu.

Krok 1. Uporządkuj globalne atrybuty. Przejdź do Produkty → Atrybuty i twórz globalne, spójne atrybuty, na przykład kolor, rozmiar, materiał, marka, pojemność, składnik, typ skóry, zastosowanie. Unikaj kilku nazw oznaczających to samo (Czarny, czarny, black, kolor czarny, czerń) — taki bałagan utrudnia filtrowanie, import produktów, integracje i tworzenie landing page.

Krok 2. Dobierz filtry do kategorii. Nie każdy filtr powinien pojawiać się wszędzie. W kategorii „Serum do twarzy" przydatne mogą być typ skóry, składnik, działanie, marka, pojemność i cena; filtr „rozmiar ubrania" nie ma tam sensu. Dopasowanie filtrów do kategorii skraca listę opcji, ułatwia wybór, zmniejsza liczbę niemożliwych kombinacji i ogranicza niepotrzebne zapytania.

Krok 3. Sprawdź, jakie adresy tworzy wtyczka. Wybierz po kolei kilka filtrów i obserwuj pasek adresu. Zapisz nazwę parametru, kolejność parametrów, zachowanie przy kilku wartościach, adres po odświeżeniu, adres po zmianie sortowania, adres pustego wyniku i zachowanie przycisku „Wstecz".

DziałanieUtworzony adresDecyzja
Wybór marki?marka=xFiltr użytkowy
Wybór składnika?skladnik=retinolKandydat na landing
Sortowanie ceną?orderby=priceNie indeksować
Widok 96 produktów?per_page=96Nie indeksować
Brak produktówKombinacja parametrów404 lub blokada utworzenia

Krok 4. Przygotuj macierz indeksacji. Nie konfiguruj każdego parametru osobno bez wspólnego planu.

Typ adresuOdwiedzanie przez robotyIndeksacjaCanonicalSitemapa
KategoriaTakTakNa siebieTak
Landing SEOTakTakNa siebieTak
SortowanieOgraniczyćNieKategoriaNie
Zwykły filtrWedług strategiiNieZależnie od treściNie
Pusty wynikNiepotrzebneNieBrakNie
PaginacjaTakWedług projektuNa siebieZwykle nie
Parametr śledzącyOgraniczyćNieCzysty URLNie

Nie kopiuj tej tabeli bez analizy. Jest punktem wyjścia, a nie gotową konfiguracją.

Krok 5. Wydziel wartościowe landing page. Jeżeli filtr ma potencjał SEO, utwórz dla niego kontrolowaną stronę. Zamiast /serum/?filter_skladnik=witamina-c lepiej przygotować /serum-z-witamina-c/. Strona powinna mieć własny tytuł, H1, opis, listę właściwych produktów, logiczne breadcrumbs, linki wewnętrzne, stabilną ofertę, canonical wskazujący na samą siebie i obecność w sitemapie. Produkty mogą być pobierane automatycznie na podstawie atrybutu, ale strona powinna zachowywać się jak normalna część struktury sklepu.

Krok 6. Usuń duplikujące archiwa. Sprawdź, czy ta sama grupa nie istnieje jednocześnie jako kategoria, tag, archiwum atrybutu, wynik filtra, strona marki i ręczny landing. Dla każdego tematu wybierz jeden główny adres. Pozostałe wersje mogą wymagać przekierowania 301, canonicala, noindex, wyłączenia archiwum albo usunięcia linków. Przed zmianą adresów sprawdź poradnik przekierowania 301 i błędy 404 w sklepie WooCommerce.

Krok 7. Sprawdź sitemapę i linkowanie. Indeksowalne strony powinny być dostępne przez zwykłe linki, logicznie umieszczone w strukturze, uwzględnione w sitemapie i podlinkowane z kategorii nadrzędnych. Zwykłe filtry użytkowe nie powinny być masowo dodawane do mapy XML, menu, stopki, automatycznych list linków ani opisów kategorii.

Krok 8. Przetestuj wydajność. Sprawdź czas reakcji po wybraniu filtra, szybkość działania na telefonie, liczbę zapytań do bazy, zachowanie przy kilku filtrach, działanie cache, obciążenie serwera i błędy JavaScript. Filtr, który potrzebuje kilku sekund na każdą zmianę, nie pomaga klientowi nawet wtedy, gdy jego konfiguracja SEO jest poprawna.

Sklep wygenerował tysiące adresów z filtrów i parametrów?

W ramach SEO technicznego możemy sprawdzić sposób działania wtyczki, indeksację, canonicale, sitemapę i reguły odwiedzania adresów przez roboty. Efektem jest mapa URL-i: co zostawić, co rozwijać, co wykluczyć i w jakiej kolejności wdrożyć zmiany.

Jak zaprojektować filtry wygodne dla klienta?

SEO nie powinno pogarszać użyteczności sklepu.

Pokazuj filtry ważne dla danej kategorii. W kategorii mebli mogą to być szerokość, wysokość, materiał, kolor, styl, funkcja i cena; w kategorii kosmetyków — typ skóry, działanie, składnik, marka, pojemność i certyfikat.

Pokazuj liczbę produktów przy każdej wartości filtra, aby klient od razu widział, czy wybór ma sens:

Witamina C (24)
Retinol (17)
Ceramidy (9)

Nie prowadź do zera wyników. Jeżeli po wyborze jednego filtra część pozostałych opcji staje się niemożliwa, warto je ukryć albo oznaczyć jako niedostępne.

Pokaż aktywne filtry. Klient powinien widzieć, co wybrał, jak usunąć pojedynczy warunek i jak wyczyścić wszystkie filtry:

Serum
Składnik: witamina C ×
Typ skóry: sucha ×
Wyczyść wszystkie

Zadbaj o telefon. Na małym ekranie filtry zwykle lepiej pokazać w wysuwanym panelu. Ważne są widoczny przycisk „Filtruj", liczba aktywnych filtrów, czytelny przycisk zastosowania, możliwość wyczyszczenia wyboru i zachowanie pozycji na liście produktów.

Zachowaj wybór przy powrocie. Klient otwiera produkt, wraca do listy i nie powinien tracić wszystkich ustawionych filtrów. Nie przesadzaj z liczbą opcji — panel z dziesiątkami rzadko używanych cech może utrudnić wybór. Najważniejsze filtry pokaż od razu, a dodatkowe ukryj pod rozwijaną sekcją.

Nawigacja fasetowa a paginacja

Paginacja nie jest filtrem, ale często występuje razem z nim:

/serum/page/2/
/serum/?marka=x&page=2

Robot powinien móc znaleźć produkty znajdujące się na dalszych stronach kategorii. Problemy mogą pojawić się, gdy produkty są ładowane wyłącznie przyciskiem „Załaduj więcej", nieskończone przewijanie nie tworzy kolejnych URL-i, filtr resetuje paginację w nieprzewidywalny sposób, strona 20 istnieje mimo braku tylu produktów albo każda paginacja filtrów jest indeksowana. Kategoria powinna mieć normalną ścieżkę do produktów także wtedy, gdy interfejs wykorzystuje AJAX albo nieskończone przewijanie.

Nawigacja fasetowa w sklepie wielojęzycznym

Wersje językowe zwiększają liczbę możliwych adresów.

Jeżeli sklep ma 10 000 produktów, trzy języki, wiele walut, filtry, sortowania i warianty, chaos może szybko się powielić. Sprawdź wtedy, czy parametry mają spójne odpowiedniki, czy canonical prowadzi do tej samej wersji językowej, czy hreflang (oznaczenie odpowiadających sobie wersji językowych) wskazuje właściwe strony, czy landing page istnieje we wszystkich potrzebnych językach, czy waluta nie tworzy indeksowalnych duplikatów i czy filtry nie mieszają wersji językowych.

Szybka lista najczęstszych błędów

Poniższą listę potraktuj jako podsumowanie do szybkiego sprawdzenia:

  • kilka adresów prowadzi do tej samej kombinacji filtrów,
  • sortowanie i liczba produktów na stronie są indeksowane,
  • puste wyniki zwracają kod 200,
  • landing page nie ma żadnych linków wewnętrznych,
  • ta sama cecha istnieje jako kategoria, tag, atrybut i filtr,
  • wtyczka została uruchomiona bez sprawdzenia generowanych URL-i.

Co możesz sprawdzić samodzielnie?

Większość problemów z filtrami można wstępnie zdiagnozować bez specjalistycznych narzędzi.

1. Kliknij kilka filtrów i obserwuj URL. Sprawdź, czy adres się zmienia, jakie parametry powstają, czy kolejność ma znaczenie i co dzieje się po odświeżeniu.

2. Zmień kolejność wyboru. Najpierw wybierz markę, później kolor. Następnie wyczyść filtry, wybierz najpierw kolor, później markę i sprawdź, czy otrzymujesz ten sam URL.

3. Sprawdź sortowanie. Zmień kolejność cen, popularność, liczbę produktów na stronie i sposób wyświetlania. Zobacz, czy każda opcja tworzy nowy adres.

4. Sprawdź kod źródłowy. Poszukaj <meta name="robots" oraz <link rel="canonical". Zobacz, na jaki adres wskazuje canonical i czy strona ma index, czy noindex.

5. Sprawdź sitemapę. Zobacz, czy znajdują się w niej adresy z ?, sortowaniem, filtrami, parametrami albo stronami noindex.

6. Wykonaj wyszukiwanie site:. Operator nie pokaże pełnej liczby stron, ale może ujawnić nieoczekiwane adresy w wynikach:

site:twojsklep.pl inurl:filter
site:twojsklep.pl inurl:orderby
site:twojsklep.pl inurl:?

7. Sprawdź Google Search Console. W raporcie indeksowania zobacz strony zduplikowane, adresy wykluczone przez noindex, adresy z innym canonicalem, strony zablokowane w robots.txt, strony wykryte ale niezaindeksowane oraz błędy 404.

8. Sprawdź puste kombinacje. Wybierz kilka wzajemnie wykluczających się cech i sprawdź, jaki kod zwraca strona, czy adres można indeksować i czy użytkownik może łatwo zmienić wybór.

9. Sprawdź szybkość filtrów. Przetestuj sklep na komputerze, na telefonie, po zalogowaniu, w trybie prywatnym i przy kilku aktywnych filtrach.

10. Przygotuj listę ważnych kombinacji. Spisz tematy, które mogą zasługiwać na osobne landing page, a dla każdego sprawdź popyt, ofertę, marżę, stabilność, istniejące podobne strony i możliwość podlinkowania.

Kiedy warto zlecić to specjaliście?

Pomoc techniczna jest wskazana, gdy sklep generuje tysiące adresów z parametrami, filtry zostały już zaindeksowane albo problem obejmuje wiele wersji językowych i wtyczek.

Rozważ wsparcie, gdy sklep generuje tysiące adresów z parametrami, filtry zostały już zaindeksowane, Google odwiedza wiele sortowań i pustych wyników, nie wiadomo które kombinacje generują ruch, wtyczka tworzy kilka URL-i dla tego samego wyniku, sklep ma wiele wersji językowych, filtry działają przez AJAX lub JavaScript, canonicale zmieniają się nieprawidłowo, strony noindex znajdują się w sitemapie, blokada w robots.txt obejmuje wartościowe strony, sklep działa wolniej po włączeniu filtrów, planowana jest zmiana wtyczki, kategorie/atrybuty/tagi dublują te same tematy albo potrzebne są landing page tworzone na podstawie filtrów.

W takim przypadku trzeba połączyć crawl całego sklepu, dane z Google Search Console, analizę logów serwera, konfigurację wtyczki, strukturę kategorii, mapę parametrów oraz dane o ruchu i sprzedaży. Samo dodanie jednej reguły Disallow albo noindex może przesunąć problem w inne miejsce.

Najczęściej zadawane pytania

Co to jest nawigacja fasetowa?

To system filtrów pozwalający łączyć kilka cech produktów jednocześnie, na przykład markę, rozmiar, kolor, cenę i materiał.

Czy filtry WooCommerce szkodzą SEO?

Nie same filtry, lecz ich niekontrolowane adresy. Problem pojawia się, gdy kombinacje tworzą tysiące podobnych, pustych albo niepotrzebnych stron.

Czy każdy filtr powinien mieć noindex?

Nie. Decyzja zależy od typu filtra i jego znaczenia. Sortowania zwykle nie powinny być indeksowane, ale wybrana kombinacja może zostać rozwinięta jako wartościowy landing page.

Czy robots.txt usuwa stronę z Google?

Nie jest to pewne narzędzie do usuwania adresu z indeksu. Plik blokuje odwiedzanie strony, przez co Google może nie zobaczyć znajdującego się na niej znacznika noindex.

Czy canonical blokuje indeksowanie filtrów?

Nie. Canonical wskazuje preferowaną wersję podobnej strony, ale jest sygnałem, który Google może zinterpretować inaczej. Nie zastępuje pełnej strategii indeksacji.

Czy warto indeksować strony marek?

Tak, jeżeli marka ma wystarczającą ofertę, jest szukana przez klientów, a strona ma własną treść oraz linkowanie. Puste archiwum marki nie wniesie wartości.

Co zrobić z filtrem, który ma potencjał SEO?

Najlepiej przygotować kontrolowany landing page ze stałym adresem, własnym H1, treścią, canonicalem wskazującym na samą stronę i linkami wewnętrznymi.

Czy puste wyniki filtrów powinny zwracać 404?

Jeżeli kombinacja nie ma produktów i nie stanowi użytecznej strony, prawidłowy kod 404 jest dobrym rozwiązaniem. Jeszcze lepiej ograniczyć możliwość tworzenia niemożliwych połączeń.


Najpierw mapa URL-i, dopiero potem reguły

Nawigacja fasetowa powinna pomagać klientom, ale nie może samodzielnie decydować o strukturze SEO sklepu. Najbezpieczniejszy model rozdziela:

  1. Kategorie i landing page przeznaczone do indeksowania.
  2. Filtry służące wyłącznie do wygodnego przeglądania oferty.
  3. Parametry techniczne, które nie powinny tworzyć osobnych stron.
  4. Puste kombinacje, które należy ograniczyć albo obsługiwać kodem 404.

Nie istnieje jedna reguła, którą można wkleić do każdego WooCommerce. Inaczej zachowują się filtry w blokach WooCommerce, inaczej wtyczki AJAX, a jeszcze inaczej rozwiązania wykorzystujące własne adresy. Najpierw sprawdź, jakie URL-e generuje sklep i które z nich są już widoczne w Google, a następnie przygotuj macierz: co indeksować, co pozostawić wyłącznie użytkownikom, co ograniczyć i które kombinacje rozwinąć jako landing page.

Jeżeli chcesz uporządkować filtry bez ryzyka wyłączenia ważnych stron, w ramach SEO technicznego możemy przeanalizować parametry, canonicale, indeksację i działanie wtyczki WooCommerce. Otrzymasz konkretną mapę URL-i oraz kolejność bezpiecznego wdrożenia zmian.