Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM

Z artykułu dowiesz się:
Sklep ma 4000 aktywnych produktów, mapa witryny zgłasza 4000 adresów, a Google Search Console pokazuje w indeksie 1100. Pozostałe prawie 3000 kart nie zbiera żadnego ruchu organicznego, choć są poprawnie opisane, mają zdjęcia i ceny. W PrestaShop taka sytuacja prawie nigdy nie wynika z jednej przyczyny. Dlatego zamiast listy ogólnych porad lepiej sprawdza się diagnoza od objawu: każdy status w Search Console wskazuje inny mechanizm, a każdy mechanizm ma w PrestaShop konkretne miejsce, w którym trzeba go naprawić.
W Search Console otwórz raport Strony w sekcji Indeksowanie i zamiast patrzeć na liczby dla całej domeny, przefiltruj go według mapy witryny. Jeśli moduł Google Sitemap generuje osobny plik dla produktów, możesz od razu zobaczyć, ile adresów produktowych zgłoszonych przez sklep faktycznie trafiło do indeksu. Liczby dla całej domeny są mylące, bo mieszają produkty z tysiącami adresów filtrów, paginacji i parametrów, których i tak nie chcesz w indeksie.
Każdy status w sekcji „Dlaczego strony nie są indeksowane” to osobna diagnoza. Kliknij status, wybierz kilka przykładowych adresów i sprawdź je narzędziem do sprawdzania adresów URL, najlepiej z testem wersji aktywnej. Test pokazuje, co Google widzi teraz, a nie przy ostatnim skanowaniu, które mogło odbyć się kilka tygodni temu.
Ten status oznacza, że Google zna adres, ale jeszcze go nie odwiedził. Najczęściej uznał, że skanowanie tej witryny jest zbyt kosztowne w stosunku do spodziewanej wartości. W PrestaShop głównym winowajcą bywa moduł ps_facetedsearch. Każda kombinacja filtrów tworzy nowy adres z parametrem q, na przykład /buty?q=Rozmiar-42/Kolor-Czarny, a przy kilku filtrach w kilkudziesięciu kategoriach liczba możliwych adresów idzie w miliony. W zgłoszeniu na GitHubie projektu PrestaShop opisano sklep, w którym liczba adresów oznaczonych jako kanoniczne wzrosła w dwa miesiące z kilku tysięcy do ponad 300 tysięcy, właśnie przez filtry.
Robot, który spędza czas na permutacjach filtrów, rzadziej dociera do kart produktów. Drugim hamulcem jest czas odpowiedzi serwera. Jeśli TTFB na karcie produktu przekracza sekundę albo zdarzają się błędy 5xx, Google automatycznie zmniejsza tempo skanowania, żeby nie przeciążać sklepu.
Trzecia przyczyna jest typowa dla PrestaShop i łatwo ją przeoczyć. Produkt z widocznością ustawioną na „Tylko wyszukiwanie” nie pojawia się na listach kategorii, więc prowadzą do niego wyłącznie wyniki wewnętrznej wyszukiwarki, których robot nie odwiedza. Taki produkt jest w mapie witryny, ale nie ma do niego żadnego linku wewnętrznego, a Google traktuje osierocone adresy jako mało istotne.
Tu Google odwiedził stronę i świadomie zrezygnował z jej zindeksowania. To problem jakości, nie dostępu. W sklepach PrestaShop najczęściej chodzi o opisy skopiowane od producenta albo z pliku hurtowni. Ten sam tekst występuje wtedy w kilkudziesięciu innych sklepach, a Google nie ma powodu indeksować kolejnej kopii.
Podobnie działa import wariantów jako osobnych produktów. Koszulka w dziesięciu kolorach zaimportowana jako dziesięć kart z identycznym opisem daje dziesięć niemal identycznych stron. Kombinacje w PrestaShop są przeznaczone właśnie do takich przypadków: jedna karta, jeden adres, wybór koloru i rozmiaru w obrębie strony. Osobne karty mają sens tylko wtedy, gdy wariant ma własny popyt w wyszukiwarce i realnie inny opis.
Poprawa jakości nie polega na dopisaniu 300 słów ogólników. Liczy się informacja, której nie ma u konkurencji: wymiary w praktycznym kontekście, zgodność z innymi produktami, skład, sposób montażu, odpowiedzi na pytania, które klienci zadają obsłudze. Karta z tabelą parametrów i dwoma akapitami konkretów wypada lepiej niż długi opis bez treści.
Domyślna trasa produktu w PrestaShop 8 zawiera kategorię, na przykład {category:/}{id}-{rewrite}{-:ean13}.html. Zmiana kategorii domyślnej zmienia więc adres produktu, a produkt jest często dostępny także pod starszym adresem i pod adresem technicznym index.php?id_product=. Rozwiązaniem jest ustawienie „Przekieruj do kanonicznego adresu URL” w zakładce Parametry sklepu > Ruch > SEO i URL. Dokumentacja PrestaShop zaleca opcję 301. Przy braku przekierowania każdy alternatywny adres zwraca kod 200 i konkuruje z adresem głównym.
Sprawdź też, czy adres kanoniczny jest spójny we wszystkich miejscach: w tagu rel=”canonical”, w mapie witryny, w menu, w okruszkach i w danych strukturalnych. Jeśli mapa witryny podaje adres z jedną kategorią, a link w menu prowadzi do adresu z inną, Google dostaje sprzeczne sygnały i sam wybiera wersję kanoniczną, nie zawsze tę, której oczekujesz.
Generator pliku robots.txt w panelu PrestaShop tworzy plik od nowa i nadpisuje wszystkie reguły dopisane ręcznie. Kto po aktualizacji sklepu kliknął „Generuj plik robots.txt”, mógł bezwiednie usunąć własne blokady albo przywrócić domyślne reguły blokujące katalogi, w których moduły trzymają pliki CSS i JavaScript. Przed każdą regeneracją zrób kopię pliku.
Osobna pułapka dotyczy filtrów. W wersjach 1.7.8 i 8.x domyślny plik nie blokował parametru q, a nowsze wydania łączą blokadę w robots.txt z tagiem noindex. To połączenie działa gorzej, niż wygląda. Robot, któremu robots.txt zabrania wejścia na adres, nie zobaczy na nim tagu noindex ani adresu kanonicznego. Jeśli filtry zdążyły już trafić do indeksu, blokada w robots.txt zamrozi je w statusie „Zindeksowana, mimo blokady w pliku robots.txt”. Kolejność musi być odwrotna: najpierw noindex, odczekanie, aż Google ponownie odwiedzi te adresy i usunie je z indeksu, dopiero potem blokada skanowania.
Warto też sprawdzić, czy motyw w ogóle wypisuje dynamiczny tag robots. Część motywów ma go wpisanego na sztywno w szablonie, więc ustawienia modułu nie mają żadnego efektu.
Po wyłączeniu produktu PrestaShop pozwala wybrać zachowanie adresu: przekierowanie 301 lub 302 do innego produktu, 301 lub 302 do kategorii albo domyślną odpowiedź 404. Do trwałego wycofania oferty wybieraj 301, bo 302 nie przenosi sygnałów na nowy adres. W wersji 9.1.4 zgłoszono błąd, w którym przekierowanie typu „301 do produktu” bez wskazanego produktu docelowego zwraca błąd 500 zamiast 404. Taka sytuacja zdarza się po imporcie z CSV albo po usunięciu produktu docelowego, więc po masowych zmianach warto sprawdzić kody odpowiedzi.
Masowe przekierowanie wycofanych produktów na stronę główną to najgorsze z możliwych rozwiązań. Google rozpoznaje takie przekierowania jako miękkie błędy 404 i nie przenosi na stronę główną żadnych sygnałów. Produkty sezonowe i chwilowo niedostępne lepiej zostawić aktywne, z informacją o braku w magazynie i wartością OutOfStock w danych strukturalnych. Adres zachowuje wtedy historię i wraca do sprzedaży bez ponownego indeksowania.
| Status w Search Console | Typowa przyczyna w PrestaShop | Pierwszy krok |
|---|---|---|
| Wykryta, niezindeksowana | Filtry q=, wolny serwer | Ogranicz adresy filtrów |
| Przeskanowana, niezindeksowana | Opisy producenta, klony wariantów | Unikalne opisy, kombinacje |
| Duplikat bez kanonicznej | Kategoria w adresie | Przekierowanie 301 do kanonicznego |
| Zablokowana przez robots.txt | Regeneracja pliku | Przywrócenie reguł z kopii |
| Zindeksowana mimo blokady | Blokada przed noindex | Najpierw noindex |
| Nie znaleziono (404) | Produkt wyłączony | Przekierowanie 301 |
| Błąd serwera (5xx) | Tryb konserwacji, przeciążenie | Logi serwera, cache |
Na rynku są moduły obiecujące natychmiastowe indeksowanie produktów przez Google Indexing API. Google oficjalnie dopuszcza to API wyłącznie dla ofert pracy i transmisji wideo na żywo. Wysyłanie do niego adresów produktów nie jest przewidzianym zastosowaniem i nie daje gwarancji efektu. Protokół IndexNow działa z Bingiem i kilkoma innymi wyszukiwarkami, ale Google go nie obsługuje. Przycisk „Poproś o zindeksowanie” w Search Console ma dzienny limit i sprawdza się przy kilku kluczowych produktach, nie przy tysiącach adresów.
Niezależnym kanałem jest Google Merchant Center. Produkty z poprawnego pliku produktowego mogą pojawiać się w bezpłatnych wynikach na karcie Zakupy, nawet jeśli ich karty nie zbierają jeszcze ruchu z wyników organicznych. Nie zastępuje to naprawy indeksowania, ale pozwala sprzedawać w czasie, gdy trwają poprawki.
Kolejność prac ma znaczenie. Najpierw usuń to, co marnuje czas robota, czyli adresy filtrów i duplikaty, potem napraw kody odpowiedzi, a dopiero na końcu poprawiaj treść kart, zaczynając od produktów o najwyższej marży. Pierwsze efekty w raporcie Strony widać zwykle po kilku tygodniach, bo Google musi ponownie odwiedzić adresy, które wcześniej odrzucił.
Nie ma stałego czasu. W sklepie z dobrym linkowaniem wewnętrznym i szybkim serwerem nowy produkt może trafić do indeksu w ciągu kilku dni, a w sklepie z tysiącami adresów filtrów nawet po kilku tygodniach albo wcale.
Tak, ale dopiero wtedy, gdy adresy filtrów nie są już w indeksie. Jeśli Google zdążył je zindeksować, najpierw dodaj noindex i poczekaj na ponowne skanowanie, bo blokada w robots.txt uniemożliwia robotowi zobaczenie tego tagu.
Jeśli wróci do sprzedaży, zostaw go aktywnego z informacją o braku w magazynie i wartością OutOfStock w danych strukturalnych. Jeśli został wycofany na stałe, ustaw przekierowanie 301 do następcy albo do kategorii.
Nie. Osobny adres ma sens tylko dla wariantu, którego ludzie szukają pod własną nazwą i który ma odmienny opis. Pozostałe warianty powinny działać jako kombinacje na jednej karcie produktu.
Filtry generują ogromną liczbę adresów podlinkowanych z każdej kategorii, więc robot trafia na nie częściej niż na karty produktów. Ogranicz ich indeksowanie i upewnij się, że motyw wypisuje dynamiczny tag robots.
Moduł może ułatwić ustawienie tagów, przekierowań i mapy witryny, ale nie naprawi słabych opisów ani wolnego serwera. Przed zakupem sprawdź w Search Console, który status dotyczy większości niezindeksowanych produktów.
PrestaShop 8 documentation – SEO and URLs
https://docs.prestashop-project.org/v.8-documentation/user-guide/configuring-shop/shop-parameters/traffic/seo-and-urls
GitHub PrestaShop – Issue #37689: robots.txt, brak Disallow /*?q=
https://github.com/PrestaShop/PrestaShop/issues/37689
GitHub PrestaShop – Discussion #40335: noindex/nofollow dla adresów ps_facetedsearch
https://github.com/PrestaShop/PrestaShop/discussions/40335
GitHub PrestaShop – Issue #42288: przekierowanie 301-product bez celu zwraca 500
https://github.com/PrestaShop/PrestaShop/issues/42288