Nefungují filtry v PrestaShopu: index, vlastnosti a duplicitní hodnoty
Když nefungují filtry v PrestaShopu, jde obvykle o tři příčiny: index modulu filtrů se po změnách v katalogu nepřestavěl, produktům chybí vlastnosti, na které filtr spoléhá, nebo stejné hodnoty existují v několika zápisech. První opravíte jedním tlačítkem. Další dvě vyžadují trochu úklidu v datech produktů.
Autor: Tým TellMyShop. Průvodce pro majitele obchodů na PrestaShopu: příčina, ruční oprava a stejná práce v rozhovoru v chatu.
Naposledy aktualizováno: · 4 min čtení
Jak funguje filtrace produktů v PrestaShopu?
Filtry v kategoriích obsluhuje modul filtrace (ps_facetedsearch), který je součástí PrestaShopu. Modul nečte katalog při každém kliknutí zákazníka. Staví si vlastní index: seznam produktů s jejich cenami, vlastnostmi, atributy, značkami a dostupností.
Nad tím je šablona filtrů. V konfiguraci modulu rozhodnete, které filtry se ukazují ve kterých kategoriích a v jaké podobě, například jako zaškrtávací políčka nebo posuvník ceny. Dokumentace PrestaShopu ukazuje, jak přidat vlastnosti a jejich hodnoty. Pokud produkt nemá vlastnost vyplněnou, filtr této vlastnosti ho nezahrne. Zákazník zaškrtne „Materiál: bavlna“ a produkty s prázdným polem materiálu ze seznamu zmizí.
Který ze tří problémů máte?
Příčinu obvykle poznáte podle příznaku, aniž byste otevírali nastavení.
| Co zákazník vidí | Příčina | Oprava |
|---|---|---|
| Panel filtrů vůbec není | modul vypnutý, žádná šablona pro kategorii, nebo šablona e-shopu bez místa pro filtry | konfigurace modulu a pozice modulů |
| Filtr nabízí hodnotu, po kliknutí nic | zastaralý index | přestavět index v modulu |
| Po zaškrtnutí filtru zmizí část produktů | prázdné vlastnosti u těchto produktů | doplnit vlastnosti |
| „Černá“, „černá“ a „Černá “ vedle sebe | duplicitní hodnoty vlastností | sloučit je do jedné hodnoty |
| Počty u hodnot nesedí | index nebo mezipaměť | přestavět index a vymazat mezipaměť |
Přehled typických scénářů dává návod helpguru k filtrům. Pokud je příznakem jeden produkt, který se v kategorii neukazuje ani bez filtrů, přejděte na článek produkt se nezobrazuje v e-shopu.
Jak přestavět index filtrů
Přestavba zabere pár kliknutí a vyplatí se ji znát, protože stejná potřeba se vrací po každém importu.
- V administraci otevřete Moduly > Správce modulů a najděte modul filtrace.
- Přejděte do konfigurace. Nahoře jsou tlačítka indexace: přidat chybějící produkty a úplná přestavba indexu cen a atributů.
- U velkého katalogu začněte chybějícími produkty. Úplnou přestavbu udělejte mimo špičku.
- Zkopírujte URL pro cron uvedené v konfiguraci a předejte je tomu, kdo se stará o váš server, pokud import běží automaticky každou noc.
- Zkontrolujte kategorii v anonymním okně prohlížeče a zaškrtněte dva nebo tři filtry.
Pokud počty po přestavbě pořád nesedí, zkontrolujte mezipaměť. Popisujeme ji v článku změny se v PrestaShopu neprojevují.
Proč jsou po importu ve filtru duplicitní hodnoty?
Protože import vytvoří novou hodnotu vlastnosti pokaždé, když se zápis liší třeba jen o jeden znak. Dodavatel A píše „Černá“, dodavatel B „černá“ a někdo v administraci přidal „černá “ s mezerou na konci. Pro PrestaShop jsou to tři hodnoty. Filtr je ukazuje zvlášť a zákazník, který zaškrtne jednu, neuvidí produkty zařazené pod zbylými dvěma.
Ruční úklid vypadá takto: najdete všechny produkty s každou verzí, přesunete je na jednu hodnotu a zbytek smažete. U několika vlastností a pár set produktů je to práce na dlouhý večer. Čtvrtek, 22:50, seznam „Barva“ má 41 položek a polovina z nich je stejná barva jinak napsaná. Skoro žádný návod tento problém nezmiňuje, a přitom se stává téměř v každém e-shopu s více než jedním dodavatelem.
Jak uklidit vlastnosti v rozhovoru s chatem
Požádáte o kontrolu jedné vlastnosti. Váš chat (Claude nebo ChatGPT) ukáže hodnoty s počty produktů a označí pravděpodobné duplicity. Navrhne, na kterou hodnotu produkty přesunout, a náhled ukáže každou změnu dřív, než se cokoli dostane do e-shopu. Když přidáte novou hodnotu, která už v jiném zápisu existuje, zápis se odmítne a chat dostane existující hodnotu k použití.
Vy: Filtr Barva je nepořádek. Zkontroluj, které hodnoty jsou zdvojené, a navrhni úklid.
Váš chat: Vlastnost Barva má 41 hodnot. Je tu 6 skupin pravděpodobných duplicit. Největší:
Navrhuji přesunout 15 produktů na hodnotu „Černá“. Prázdné hodnoty pak můžete smazat v administraci, protože pod nimi nezůstane žádný produkt.
Vy: Ukaž mi náhled pro černou.
Váš chat: Náhled: 15 produktů, změna jen ve vlastnosti Barva, ostatní vlastnosti beze změny. Uložím po vašem souhlasu a celou operaci můžete vrátit zpět jedním pokynem.
stará verze: Černá (38 produktů), černá (12), černá s mezerou na konci (3)
nová verze: Černá (53 produktů)
Doplňování chybějících vlastností funguje stejně: chat přečte názvy a popisy produktů, navrhne hodnoty a vy je schvalujete po dávkách až 100 produktů. Ráno u kávy projdete náhled a schválíte ho v jednom rozhovoru, místo abyste klikali produkt po produktu. Ukázkové požadavky najdete v případech použití úklid duplicitních hodnot vlastností a doplnění vlastností pro filtry. Jde o funkce TellMyShop Pro, popsané v ceníku.
Škodí filtry v kategoriích viditelnosti v Google?
V malém nebo středním e-shopu obvykle ne. Ve velkém katalogu je třeba dávat pozor. Každá kombinace zaškrtnutých filtrů je jiná URL stránky. Návod Googlu k fasetové navigaci radí zajistit, aby takové URL nespotřebovaly čas robota, který by mohl věnovat produktům.
Modul filtrů PrestaShopu přidá výběr do URL kategorie a stránka ukazuje na URL kategorie jako kanonickou. To obvykle stačí. Pokud Google Search Console ukazuje tisíce URL s parametry filtrů, je to signál podívat se na jejich blokování v robots.txt spolu s tím, kdo se stará o vaše SEO.
Otázky a odpovědi
Proč filtry po importu produktů ukazují prázdné výsledky?
Modul filtrů používá vlastní index, který importy obvykle přeskočí. Filtr vidí stará data a nabízí hodnoty, za kterými už žádné produkty nejsou, nebo nové nezná. Pomůže přestavět index v konfiguraci modulu filtrace. Pokud importujete často, nastavte jeho automatické obnovování přes cron.
Proč filtr ukazuje stejnou hodnotu dvakrát, například „Černá“ a „černá“?
Pochází to z vlastností zadaných jako vlastní hodnoty, nebo z importu, který vytvoří novou hodnotu pokaždé, když se zápis liší velikostí písmen nebo mezerou. Pro PrestaShop jsou to dvě různé hodnoty, takže filtr ukáže obě. Produkty je třeba přesunout na jednu hodnotu a ostatní smazat.
Jaký je v PrestaShopu rozdíl mezi vlastností a atributem?
Vlastnost popisuje produkt a je stejná pro všechny jeho varianty, například materiál. Atribut vytváří varianty, které zákazník volí při nákupu, například velikost nebo barvu. Filtry můžou používat obojí. Úklid vlastností pro filtry nevyžaduje sahat do kombinací.
Škodí filtry v kategoriích SEO?
Můžou, pokud každá kombinace filtrů vytvoří novou URL, kterou se Google snaží indexovat. Google popisuje, jak procházení takových URL omezit. V typickém e-shopu na PrestaShopu modul filtrů přidá k URL kategorie parametr a stránka má jako kanonickou URL kategorii, takže problém se týká hlavně velkých katalogů.
Umí chat sám vytvořit nové filtry?
Chat doplňuje a uklízí vlastnosti produktů, které filtry používají, s náhledem před uložením. Šablonu filtrů, tedy které vlastnosti se ukazují ve kterých kategoriích, nastavíte v konfiguraci modulu filtrace v administraci. Je to jednorázová práce.
PrestaShop je registrovaná ochranná známka společnosti PrestaShop SA. Claude je ochranná známka společnosti Anthropic PBC. ChatGPT a OpenAI jsou ochranné známky společnosti OpenAI. TellMyShop s těmito společnostmi není propojen.