Jeśli korzystasz z PrestaShop i masz aktywną nawigację fasetową (filtry produktów), możesz zauważyć, że Googlebot intensywnie indeksuje adresy URL z parametrem ?q=
, mimo że strony te mają już znacznik noindex
. To może prowadzić do kilku poważnych problemów:
Przykładowe żądanie od Googlebota:
66.249.76.41 - - [05/Jun/2025:11:50:01 +0200] "GET /en/1032-gastrer-gn?q=Kapazit%C3%A4t+%28in+Litern%29-2%2C25-3%2C6-5%2C9-11%2C5-14-18-3 HTTP/1.1" 200 3743 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.7103.113 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
?q=
1. Dodaj regułę do pliku robots.txt
User-agent:*
Disallow: /*?q=
Disallow: /*&q=
To poinformuje Googlebota, żeby nie odwiedzał tego typu adresów.
2. Zgłoś nowy robots.txt
w Google Search Console
Po wprowadzeniu zmian, wejdź do Google Search Console i poproś o ponowne zindeksowanie pliku robots.txt
. Z mojego doświadczenia wynika, że Google reaguje na zmianę w ciągu kilkunastu godzin.
.htaccess
lub inna konfiguracjaJeśli ruch od Googlebota na adresy z parametrem ?q=
jest bardzo intensywny i obciąża serwer, można zastosować dodatkowe ograniczenie bezpośrednio na poziomie serwera — np. przez plik .htaccess
(Apache) lub odpowiednią regułę w konfiguracji Nginx.
Uwaga: Ta metoda jest dla zaawansowanych użytkowników i niesie ze sobą ryzyko.
W zależności od rodzaju serwera oraz konkretnej konfiguracji, niewłaściwie zastosowana reguła może:
?q=
),Dlatego kluczowe jest, aby po wdrożeniu tej metody:
?q=
.Przykład reguły .htaccess
(dla Apache) może wyglądać tak:
<IfModule mod_rewrite.c>
RewriteEngine On
# Warunek 1: Sprawdź, czy w ciągu zapytania (query string) występuje "?q="
RewriteCond %{QUERY_STRING} (^|&)q= [NC]
# Warunek 2: Sprawdź, czy User-Agent to Googlebot
RewriteCond %{HTTP_USER_AGENT} Googlebot [NC]
# Jeśli oba warunki są spełnione, zablokuj dostęp (F - Forbidden, L - Last rule)
RewriteRule ^.* - [F,L]
</IfModule>
66.249.76.41 - - [06/Jun/2025:12:20:31 +0200] "GET /es/1022-gastrosr-gn?q=Kapazit%C3%A4t+%28in+Litern%29-2%2C25-3%2C6-5%2C9-11%2C5-14-18-3 HTTP/1.1" 403 3743 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.7103.113 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Powyższy log pokazuje natychmiastową blokadę Googlebota.
Bot otrzymuje odpowiedź 403 Forbidden, co oznacza, że:
To skuteczna i natychmiastowa metoda odciążenia serwera przy bardzo dużym ruchu botów na adresy z parametrem ?q=
.
PrestaShop wykorzystuje nawigację fasetową (filtry), która generuje adresy URL z parametrem ?q=. Nawet jeśli strony mają znacznik noindex, Googlebot może próbować je odwiedzać, jeśli nie są zablokowane w robots.txt lub na poziomie serwera.
Najpierw dodaj w robots.txt: Disallow: /*?q=
. Dodatkowo, możesz zablokować żądania po stronie serwera (np. w .htaccess), dzięki czemu Googlebot od razu otrzyma kod 403 i serwer nie przetworzy zapytania.
To skuteczna metoda, ale wymaga ostrożności. Zła konfiguracja może zablokować dostęp Googlebota do całej strony. Po wdrożeniu warto monitorować logi i sprawdzić, czy zwykłe strony mają status 200, a adresy z ?q= otrzymują 403.
Użyj narzędzi Google Search Console – Test pliku robots.txt lub funkcji Sprawdź URL. Dodatkowo analizuj logi serwera, by upewnić się, że odpowiednie strony mają kod 200, a te z ?q= są zablokowane (403).
Zbyt intensywne indeksowanie filtrów obciąża serwer, spowalnia sklep i wyczerpuje budżet indeksowania w Google. Strony z parametrem ?q=
zwykle nie mają wartości SEO, ponieważ prezentują zduplikowaną treść.
Co ważne — PrestaShop domyślnie dodaje do tych adresów tag <link rel="canonical">
, który wskazuje na główny adres URL bez parametru ?q=
.
Mimo to Googlebot nadal może próbować je odwiedzać, dlatego warto je świadomie zablokować.
Zajmujemy się kompleksową administracją, optymalizacją oraz opieką techniczną nad sklepami PrestaShop.
Pomagamy m.in. w:
Jeśli chcesz mieć sprawny, szybki i bezpieczny sklep — skontaktuj się z nami.