Jak zoptymalizować crawl budget w sklepie internetowym?

Optymalizacja crawl budgetu w sklepie internetowym to ograniczenie adresów, które Googlebot pobiera bez korzyści: kombinacji filtrów, wersji posortowanych i linków „dodaj do koszyka”. Problem powstaje w nawigacji fasetowej, w której każdy zaznaczony filtr dopisuje parametr do adresu kategorii. Rozwiązanie składa się z trzech ruchów: filtry, których ludzie szukają w Google, zamieniasz na podkategorie, resztę parametrów blokujesz w pliku robots.txt, a w mapie witryny zostawiasz tylko adresy do indeksu.

Czym jest sam budżet indeksowania, z czego się składa i kiedy ma znaczenie, wyjaśnia wpis Co to jest crawl budget?. Ten poradnik rozwija jeden krok z tamtej listy: filtry i parametry w sklepie.

Dlaczego filtry marnują crawl budget sklepu?

Filtry oparte na parametrach adresu tworzą prawie nieograniczoną liczbę adresów, a robot nie wie, że są bezużyteczne, dopóki ich nie pobierze. Google w dokumencie o nawigacji fasetowej wymienia dwa skutki: zbyt częste pobieranie adresów z filtrami i wolniejsze wykrywanie nowych, przydatnych stron.

Nawigacja fasetowa to zestaw filtrów na liście produktów: kolor, rozmiar, marka, cena, sortowanie. Parametr adresu URL to część adresu po znaku ?, np. filter_kolor=czerwony; każda inna wartość parametru to dla Google osobny adres. W WooCommerce jedna kategoria generuje adresy typu:

/sukienki/?filter_kolor=czerwony
/sukienki/?filter_kolor=czerwony,niebieski&filter_rozmiar=m
/sukienki/?orderby=price&min_price=100&max_price=200

Każdy z nich pokazuje podzbiór produktów, które robot zna już z kategorii i kart produktów. Atrybut z pięcioma wartościami ma 32 stany (2⁵, od braku filtra do wszystkich wartości naraz), więc trzy takie atrybuty dają teoretycznie 32 768 zestawów zaznaczeń w jednej kategorii. Widżet WooCommerce ukrywa wartości bez produktów, ale dopisuje kolejny filtr na końcu adresu, więc te same dwa filtry kliknięte w odwrotnej kolejności dają dwa adresy tej samej listy.

Sklep z plikiem produktowym w Merchant Center ma dodatkowy powód. Według dokumentacji Google Zakupy Google mają większe zapotrzebowanie na produkty z plików danych sprzedawcy, a limit wydajności indeksowania jest wspólny dla wszystkich robotów Google. Duże zapotrzebowanie jednego robota, np. Googlebota na adresy filtrów, może więc zmniejszyć wydajność dostępną dla robota Zakupów.

Jak zoptymalizować crawl budget w sklepie krok po kroku?

Optymalizacja crawl budgetu w sklepie to sześć kroków, od pomiaru w Search Console do uporządkowania mapy witryny. Kolejność ma znaczenie: blokada w robots.txt założona przed usunięciem filtrów z indeksu może zostawić je w wynikach wyszukiwania bez opisu.

1

Zmierz

Adresy z parametrami w raportach Statystyki indeksowania, Strony i Skuteczność w Search Console.

2

Zdecyduj

Filtry z własnym zapytaniem w Google zamieniasz na podkategorie, resztę parametrów wpisujesz na listę do blokady.

3

Usuń z indeksu to, co już w nim jest

Zaindeksowane filtry dostają najpierw noindex albo tag kanoniczny na kategorię.

4

Zablokuj w robots.txt

Parametry filtrów, sortowania, ceny, wyszukiwarki i koszyka, w zapisie działającym na każdej pozycji w adresie.

5

Uporządkuj filtry, które zostają dostępne

Kombinacja bez produktów zwraca 404, kolejność filtrów w adresie jest stała.

6

Oczyść mapę witryny

Zostają produkty, kategorie i podkategorie z kodem 200, bez parametrów.

Jak sprawdzić, czy robot marnuje budżet na filtrach?

Adresy z parametrami widać w przykładach z raportów Google Search Console i w logach serwera. Szukasz w nich fragmentów filter_, orderby=, min_price= i add-to-cart=.

  • Statystyki indeksowania (Ustawienia → Statystyki indeksowania): po kliknięciu wiersza w karcie „Według odpowiedzi”, np. „OK (200)”, raport pokazuje przykładowe adresy pobrane przez Googlebota. Przewaga adresów z parametrami nad produktami i kategoriami oznacza, że robot spędza czas na filtrach.
  • Raport Strony (Indeksowanie → Strony): wiersz „Strona wykryta – obecnie niezindeksowana” pełen adresów filtrów to adresy, które robot zna, ale jeszcze nie pobrał. Duży udział adresów w tym stanie Google wymienia jako jeden z trzech typów witryn, do których kieruje przewodnik o budżecie indeksowania.
  • Skuteczność (Wyniki wyszukiwania, karta Strony): adresy z ?, które dostają kliknięcia z Google, to kandydaci na podkategorie; adresy z parametrami bez kliknięć idą do blokady.
  • Logi serwera: zapisują każdą wizytę Googlebota z adresem i kodem odpowiedzi, czyli pełną listę, a raporty Search Console tylko przykłady.

Dostęp do raportów nadaje właściciel usługi w Search Console; instrukcja: jak dodać użytkownika do Google Search Console.

Które filtry indeksować, a które blokować?

Do indeksu trafiają tylko filtry, które odpowiadają osobnemu zapytaniu z popytem, np. „sukienki lniane” albo „buty do biegania męskie”. Pozostałe parametry blokujesz. Google w dokumencie o nawigacji fasetowej pisze, że często nie ma powodu udostępniać robotowi produktów z filtrami, bo zużywa to zasoby serwera bez korzyści lub z niewielką korzyścią, i zaleca zostawić do pobrania strony produktów oraz listę produktów bez filtrów.

✅ Kiedy filtr zostaje w indeksie (jako podkategoria)

  • ✓Nazwa filtra razem z kategorią to zapytanie, które ludzie wpisują w Google: materiał, typ, marka, przeznaczenie.
  • ✓Adres z tym filtrem już dostaje kliknięcia w raporcie Skuteczność.
  • ✓Lista ma produkty i da się jej napisać własny tytuł, nagłówek i opis.

🚫 Kiedy filtr blokujesz

  • ✕Sortowanie: cena, popularność, ocena, nowość.
  • ✕Zakres ceny, ocena, dostępność w magazynie.
  • ✕Kilka wartości jednego atrybutu naraz i kombinacje kilku filtrów, na które nikt nie ma zapytania.
  • ✕Wyniki wyszukiwarki wewnętrznej i linki „dodaj do koszyka”.

Filtr z popytem nie zostaje parametrem. Zamieniasz filtr z popytem na podkategorię SEO ze stałym adresem (/sukienki/lniane/), linkiem z kategorii nadrzędnej, własnym tytułem i opisem oraz miejscem w mapie witryny. Wtedy blokada parametrów filter_ w robots.txt tej listy nie dotyczy, a Google dostaje jeden adres na jedno zapytanie.

Filtry, które zostają dostępne dla robota (w parametrach albo w ścieżce adresu, np. /sukienki/kolor-czerwony/rozmiar-m/), podlegają trzem zasadom z dokumentacji Google: filtry zawsze w tej samej kolejności, bez zduplikowanych filtrów, a kombinacja bez produktów zwraca kod 404 pod tym samym adresem, bez przekierowania na ogólną stronę błędu. Kod sprawdzisz poleceniem curl -I z adresem pustej kombinacji. Odpowiedź 200 z komunikatem o braku produktów to soft 404, czyli pusta strona z kodem sukcesu, którą Google pobiera jak zwykłą stronę.

Kiedy tag kanoniczny, kiedy noindex, a kiedy robots.txt?

Blokadę w robots.txt stosujesz, gdy robot ma w ogóle nie pobierać adresu. Tag noindex, gdy adres ma zniknąć z indeksu, a robot ma go jeszcze odwiedzić. Tag kanoniczny, gdy wariant ma działać dla klientów, a w indeksie ma zostać wersja główna.

Plik robots.txt to plik w głównym katalogu domeny z regułami, których adresów robot ma nie pobierać. Tag noindex to znacznik w kodzie strony albo nagłówek HTTP, który każe usunąć stronę z indeksu. Tag kanoniczny (rel="canonical") wskazuje wersję główną spośród kilku adresów z tą samą treścią.

MetodaCo robiCzy oszczędza crawl budgetZastosowanie w sklepie
Blokada w robots.txt (Disallow)robot nie pobiera adresu; adres może zostać w indeksie bez opisu, jeśli prowadzą do niego linkitaksortowanie, zakres ceny, kombinacje filtrów bez popytu, wyszukiwarka wewnętrzna, add-to-cart
Tag noindexrobot pobiera stronę i usuwa ją z indeksunie, każde pobranie zużywa żądaniekoszyk, zamówienie, konto (WooCommerce ustawia sam); etap przejściowy dla zaindeksowanych filtrów
Tag kanonicznywskazuje wersję główną spośród duplikatówczęściowo, robot z czasem rzadziej pobiera wersje niekanonicznefiltry, których nie blokujesz, np. w małym sklepie z kilkoma filtrami
rel=”nofollow” na linkachprosi robota, żeby nie podążał za linkiemczęściowo, tylko gdy każdy link do adresu ma nofollowlinki w widżecie filtrów (WooCommerce ustawia sam)
Fragment # zamiast parametruczęść adresu po # Google w zasadzie pomija, więc filtr nie tworzy nowego adresutakfiltry działające w JavaScripcie, wymaga programisty
Kod 404informuje, że adres nie istniejetak, 404 to wyraźny sygnał, żeby nie pobierać adresu ponowniekombinacje filtrów bez produktów, nieistniejące strony paginacji
  • Robots.txt wyklucza noindex i tag kanoniczny na tym samym adresie. Robot, który nie pobiera strony, nie widzi tagów w jej kodzie.
  • Tag noindex nie oszczędza pobrań. Przewodnik Google o budżecie indeksowania: „Nie używaj tagu noindex, bo Google nadal będzie wysyłać żądanie dotyczące strony”.
  • Tag kanoniczny i nofollow są słabsze od blokady. Według Google te metody są „na dłuższą metę mniej skuteczne” niż robots.txt i fragment adresu.
  • Robots.txt nie przesuwa budżetu chwilowo. Zwolnione pobrania trafią na inne strony tylko wtedy, gdy serwis już osiąga limit wydajności indeksowania, więc blokada obejmuje adresy, których robot nie ma pobierać nigdy.

Co zrobić z filtrami, które już są w indeksie?

Zaindeksowane adresy z filtrami dostają najpierw tag noindex albo tag kanoniczny na kategorię, a blokada w robots.txt wchodzi dopiero wtedy, gdy znikną z indeksu. Odwrotna kolejność zatrzymuje robota przed stroną: Google nie zobaczy noindex, a adres może zostać w wynikach bez opisu, jeśli prowadzą do niego linki.

Postęp widać w raporcie Strony: adresy filtrów przechodzą do wierszy ze stronami wykluczonymi tagiem noindex albo ze stronami alternatywnymi z tagiem kanonicznym. Dopiero wtedy dopisujesz reguły do robots.txt.

Sklep ma tysiące adresów z filtrami, a nowe produkty długo czekają na Google?

Sprawdzimy Statystyki indeksowania i robots.txt Twojego sklepu i wskażemy parametry do blokady w ramach pozycjonowania sklepów internetowych.

Napisz do nas

Jakie adresy z parametrami tworzy WooCommerce?

Rdzeń WooCommerce tworzy adresy z parametrami w pięciu miejscach: w filtrach atrybutów, filtrze ceny, sortowaniu, przycisku „Dodaj do koszyka” i wyszukiwarce produktów. Nazwy parametrów poniżej pochodzą z kodu WooCommerce 11.1.0 (wrzesień 2026) i dotyczą widżetów oraz bloków filtrów z rdzenia.

  • Filtry atrybutów: filter_<atrybut>=<wartość>, np. filter_kolor=czerwony. Kilka wartości jednego atrybutu idzie po przecinku (filter_kolor=czerwony,niebieski), a przy logice „lub” dochodzi query_type_kolor=or.
  • Dostępność i ocena: filter_stock_status= i rating_filter=.
  • Filtr ceny: min_price= i max_price=.
  • Sortowanie: orderby= z wartościami popularity, rating, date, price i price-desc. Formularz sortowania dopisuje do adresu także paged=1.
  • Dodaj do koszyka: ?add-to-cart=<id produktu> jako zwykły link przy produktach prostych dostępnych w magazynie.
  • Wyszukiwarka produktów: ?s=<fraza>&post_type=product.

Część pracy WooCommerce wykonuje sam:

  • linki w widżecie filtrów mają atrybut rel="nofollow", podobnie przycisk „Dodaj do koszyka” na liście produktów, gdy prowadzi do adresu z add-to-cart;
  • koszyk, zamówienie i Moje konto mają tag noindex, a strony typu potwierdzenie zamówienia nagłówek X-Robots-Tag: noindex;
  • od wersji 10.3 (październik 2025) WooCommerce dopisuje do pliku robots.txt generowanego przez WordPressa reguły Disallow: /*?add-to-cart= i Disallow: /*?*add-to-cart=.

Adresów z filter_, orderby i min_price WooCommerce nie blokuje. Atrybut nofollow w widżecie nie wystarcza, bo według Google działa tylko wtedy, gdy każdy link do danego adresu go ma, a link do adresu z filtrem może pojawić się także poza widżetem, np. w newsletterze albo na forum.

Jak zablokować filtry WooCommerce w robots.txt?

Filtry WooCommerce blokujesz regułami Disallow z gwiazdką przed znakiem zapytania i przed nazwą parametru. Zapis /*?*parametr= działa bez względu na to, na którym miejscu w adresie stoi parametr; w tej samej formie zapisuje reguły Google w przykładzie z dokumentacji nawigacji fasetowej.

User-agent: *
Disallow: /*?*filter_
Disallow: /*?*query_type_
Disallow: /*?*rating_filter=
Disallow: /*?*min_price=
Disallow: /*?*max_price=
Disallow: /*?*orderby=
Disallow: /*?*add-to-cart=
Disallow: /*?s=

Sitemap: https://twojsklep.pl/sitemap_index.xml
  • Jedna grupa dla wszystkich robotów. Reguły dopisujesz do istniejącej grupy User-agent: *, a nie jako drugą grupę z tym samym robotem. WooCommerce w komentarzu w kodzie zaznacza, że część robotów może czytać tylko pierwszą grupę dla danego robota.
  • Pułapka Disallow: /*?filter. Taka reguła blokuje adres tylko wtedy, gdy parametr filtra stoi zaraz po znaku zapytania. Widżet WooCommerce buduje adres w kolejności: cena, sortowanie, ocena, dopiero potem filtry atrybutów, więc adres /sukienki/?orderby=price&filter_kolor=czerwony przejdzie przez taką blokadę.
  • Wszystkie filtry naraz. Reguła Disallow: /*?*filter_ obejmuje każdy filtr atrybutu, dlatego filtr z popytem przenosisz wcześniej do podkategorii.
  • Kontrola na żywo. Po zapisaniu otwórz https://twojsklep.pl/robots.txt i sprawdź, czy są w nim nowe reguły oraz linie z add-to-cart. Brak tych drugich to sygnał, że działa wersja WooCommerce starsza niż 10.3 albo plik robots.txt pochodzi z innego źródła, np. z serwera lub z edytora wtyczki SEO; wtedy dopisujesz je ręcznie.
  • Tag kanoniczny na adresach, których nie blokujesz. W kodzie strony z filtrem (Ctrl+U w Chrome) znacznik <link rel="canonical"> ma wskazywać kategorię bez parametrów.

Co powinna zawierać mapa witryny sklepu?

Mapa witryny sklepu zawiera tylko adresy, które mają być w indeksie i zwracają kod 200: produkty, kategorie i podkategorie oraz strony informacyjne. Mapa witryny XML to plik z listą adresów, który podpowiada robotowi, co pobrać. Google odczytuje ją regularnie i zaleca tag <lastmod> przy stronach ze zmienioną treścią.

W mapie witryny sklepu nie ma:

  • adresów z parametrami filtrów, sortowania i ceny;
  • stron z tagiem noindex i adresów, które przekierowują;
  • produktów usuniętych na stałe. Taki adres zwraca kod 404 lub 410, a według Google kod 404 to wyraźny sygnał, żeby nie pobierać adresu ponownie. Szczegóły we wpisie Co to jest błąd 404?.

Rank Math w sklepie WooCommerce tworzy indeks map sitemap_index.xml z osobnymi plikami dla produktów (product-sitemap.xml) i kategorii produktów (product_cat-sitemap.xml). Podkategoria utworzona z filtra trafia do pliku kategorii produktów; po jej dodaniu sprawdź, czy jest na liście. Adres indeksu map wpisujesz w robots.txt linią Sitemap: i zgłaszasz w Search Console.

Nie wiesz, które filtry zamienić na podkategorie, a które zablokować?

Przejrzymy dane z Search Console Twojego sklepu i przygotujemy listę.

Napisz do nas

FAQ

Zwykle nie. Google kieruje przewodnik o budżecie indeksowania do witryn z ponad 10 tys. stron zmienianych codziennie, z ponad milionem stron zmienianych co tydzień albo z dużą częścią adresów w stanie „Strona wykryta – obecnie niezindeksowana”; pozostałym wystarcza aktualna mapa witryny i przegląd raportu Strony. Progi opisuje wpis Co to jest crawl budget?

Nie. Strony /page/2/ i /page/3/ prowadzą do produktów, których nie ma na pierwszej stronie kategorii, więc blokada odcina robotowi drogę do nich. Kod 404 mają zwracać tylko nieistniejące strony paginacji, np. /page/999/ w kategorii z trzema stronami. Pełne ustawienie paginacji kategorii (canonical, indeksowanie, kod 404) opisujemy osobno.

Nie zawsze. Wtyczki filtrów mogą zapisywać wybór we własnych parametrach, w ścieżce adresu albo we fragmencie po #. Przed napisaniem reguł kliknij kilka filtrów i sortowanie, skopiuj adresy z paska przeglądarki i dopasuj reguły do nazw parametrów, które w nich widać.

Nie. Przekierowanie 301 oznacza stałą zmianę adresu i zabrałoby klientowi przefiltrowaną listę, a filtr ma działać w sklepie. Warianty, które mają istnieć, zostają dostępne, a robota ogranicza blokada w robots.txt albo tag kanoniczny; różnice opisuje wpis Co to jest przekierowanie 301?

Źródła

Przewijanie do góry