PrestaShop filters werken niet: index, kenmerken en dubbele waarden
Werken de productfilters in PrestaShop niet, dan komt het meestal neer op drie oorzaken: de index van de filtermodule is na wijzigingen in de catalogus niet opnieuw opgebouwd, producten missen de kenmerken waarop het filter steunt, of dezelfde waarden bestaan in meerdere schrijfwijzen. De eerste los je op met één knop. De andere twee vragen wat opruimwerk in je productgegevens.
Auteur: Het TellMyShop-team. Een gids voor eigenaren van PrestaShop-winkels: de oorzaak, de oplossing met de hand en hetzelfde werk in een gesprek met de chat.
Laatst bijgewerkt: · 5 min lezen
Hoe werken productfilters in PrestaShop?
Filters in categorieën worden geregeld door de module voor facetzoeken (ps_facetedsearch), die met PrestaShop wordt meegeleverd. De module leest niet bij elke klik van een klant de catalogus. Ze bouwt een eigen index op: een lijst met producten met hun prijzen, kenmerken, attributen, merken en beschikbaarheid.
Daarbovenop zit het filtertemplate. In de configuratie van de module bepaal je welke filters in welke categorieën verschijnen en in welke vorm, bijvoorbeeld als vinkjes of als prijsschuif. De PrestaShop-documentatie laat zien hoe je kenmerken en hun waarden toevoegt. Heeft een product een kenmerk niet ingevuld, dan neemt het filter van dat kenmerk het niet mee. Een klant vinkt “Materiaal: katoen” aan, en producten met een leeg materiaalveld verdwijnen uit de lijst.
Welk van de drie problemen heb jij?
Meestal herken je de oorzaak aan het symptoom, zonder instellingen te openen.
| Wat de klant ziet | Oorzaak | Oplossing |
|---|---|---|
| Helemaal geen filterpaneel | module uitgeschakeld, geen template voor de categorie, of een thema zonder plek voor filters | configuratie van de module en posities van modules |
| Een filter biedt een waarde aan, klikken toont niets | verouderde index | de index in de module opnieuw opbouwen |
| Sommige producten verdwijnen als een filter is aangevinkt | lege kenmerken bij die producten | de kenmerken invullen |
| “Zwart”, “zwart” en “Zwart ” naast elkaar | dubbele kenmerkwaarden | samenvoegen tot één waarde |
| Aantallen naast waarden kloppen niet | index of cache | de index opnieuw opbouwen en de cache legen |
De handleiding van helpguru over filters geeft een overzicht van de typische scenario’s. Is het symptoom één product dat ook zonder filters niet in een categorie verschijnt, ga dan naar het bericht product niet zichtbaar in de webshop.
Zo bouw je de filterindex opnieuw op
Opnieuw opbouwen kost een paar klikken en is goed om te kennen, want dezelfde behoefte komt na elke import terug.
- Open in de backoffice Modules > Modulebeheer en zoek facetzoeken.
- Ga naar de configuratie. Bovenaan staan de knoppen voor indexeren: ontbrekende producten toevoegen, en een volledige herbouw van de index van prijzen en attributen.
- Begin bij een grote catalogus met de ontbrekende producten. Doe de volledige herbouw buiten de drukke uren.
- Kopieer de URL’s voor de cronjob die in de configuratie staan en geef ze aan wie je server beheert, als er elke nacht automatisch een import draait.
- Controleer de categorie in een privévenster van de browser door twee of drie filters aan te vinken.
Kloppen de aantallen na het opnieuw opbouwen nog steeds niet, controleer dan de cache. Die beschrijven we in het bericht PrestaShop wijzigingen niet zichtbaar.
Waarom staan er na een import dubbele waarden in het filter?
Omdat een import elke keer een nieuwe kenmerkwaarde maakt als de schrijfwijze ook maar één teken verschilt. Leverancier A schrijft “Zwart”, leverancier B “zwart”, en iemand in de backoffice voegde “zwart ” met een spatie aan het eind toe. Voor PrestaShop zijn dat drie waarden. Het filter toont ze apart, en een klant die er een aanvinkt, ziet de producten onder de andere twee niet.
Met de hand opruimen gaat zo: je zoekt alle producten met elke versie, verplaatst ze naar één waarde en verwijdert de rest. Met meerdere kenmerken en een paar honderd producten is dat een lange avond werk. Donderdag, 22:50, de lijst “Kleur” heeft 41 regels, de helft daarvan dezelfde kleur anders gespeld. Bijna geen handleiding noemt dit probleem, terwijl het voorkomt in bijna elke webshop met meer dan één leverancier.
Zo ruim je kenmerken op in een gesprek met de chat
Je vraagt om een controle van één kenmerk. Je chat (Claude of ChatGPT) toont de waarden met hun aantallen producten en markeert waarschijnlijke dubbele waarden. Hij stelt voor naar welke waarde de producten moeten, en het voorbeeld toont elke wijziging voordat er iets in de webshop komt. Voeg je een nieuwe waarde toe die al in een andere schrijfwijze bestaat, dan wordt de opslag geweigerd en krijgt de chat de bestaande waarde om te gebruiken.
Jij: Het filter Kleur is een rommeltje. Kijk welke waarden dubbel zijn en stel een opruiming voor.
Je chat: Het kenmerk Kleur heeft 41 waarden. Er zijn 6 groepen waarschijnlijke dubbele waarden. De grootste:
Ik stel voor 15 producten naar de waarde “Zwart” te verplaatsen. De lege waarden kun je daarna in de backoffice verwijderen, want er blijft geen product onder staan.
Jij: Laat het voorbeeld voor zwart zien.
Je chat: Voorbeeld: 15 producten, wijziging alleen in het kenmerk Kleur, andere kenmerken ongewijzigd. Ik sla het op na jouw akkoord, en de hele bewerking kun je met één opdracht ongedaan maken.
oude versie: Zwart (38 producten), zwart (12), zwart met een spatie aan het eind (3)
nieuwe versie: Zwart (53 producten)
Ontbrekende kenmerken invullen werkt op dezelfde manier: de chat leest productnamen en beschrijvingen, stelt waarden voor, en jij keurt ze goed in batches van maximaal 100 producten. ’s Ochtends bekijk je het voorbeeld bij de koffie en keur je het goed in één gesprek, in plaats van product voor product te klikken. Voorbeeldverzoeken staan in de use cases dubbele kenmerkwaarden opruimen en kenmerken invullen voor filters. Dit zijn functies van TellMyShop Pro, beschreven op de pagina prijzen.
Schaden filters in categorieën je zichtbaarheid in Google?
In een kleine of middelgrote webshop meestal niet. In een grote catalogus moet je opletten. Elke combinatie van aangevinkte filters is een andere URL. De handleiding van Google over facetnavigatie raadt aan ervoor te zorgen dat zulke URL’s geen crawltijd opeten die aan producten besteed had kunnen worden.
De filtermodule van PrestaShop voegt de keuze toe aan de URL van de categorie, en de pagina wijst de URL van de categorie aan als canonieke URL. Dat is meestal genoeg. Toont Google Search Console duizenden URL’s met filterparameters, dan is dat een teken om samen met wie je SEO doet te kijken naar het blokkeren ervan in robots.txt.
Vragen en antwoorden
Waarom tonen filters na een productimport lege resultaten?
De filtermodule gebruikt een eigen index, die imports meestal overslaan. Het filter ziet oude gegevens en biedt waarden aan waar geen producten meer achter zitten, of kent de nieuwe niet. De index opnieuw opbouwen in de configuratie van de module voor facetzoeken helpt. Importeer je vaak, laat hem dan automatisch verversen met een cronjob.
Waarom toont het filter dezelfde waarde twee keer, bijvoorbeeld “Zwart” en “zwart”?
Dat komt door kenmerken die als eigen waarden zijn ingevuld, of door een import die elke keer een nieuwe waarde maakt als de schrijfwijze verschilt in hoofdletters of een spatie. Voor PrestaShop zijn dat twee verschillende waarden, dus het filter toont ze allebei. Je moet de producten naar één waarde verplaatsen en de andere verwijderen.
Wat is het verschil tussen een kenmerk en een attribuut in PrestaShop?
Een kenmerk beschrijft het product en is voor alle varianten hetzelfde, bijvoorbeeld het materiaal. Een attribuut maakt varianten die de klant bij het kopen kiest, bijvoorbeeld maat of kleur. Filters kunnen beide gebruiken. Kenmerken opruimen voor filters vereist niet dat je aan combinaties komt.
Schaden filters in categorieën je SEO?
Dat kan, als elke filtercombinatie een nieuwe URL maakt die Google probeert te indexeren. Google beschrijft hoe je het crawlen van zulke URL’s beperkt. In een gewone PrestaShop-webshop voegt de filtermodule een parameter toe aan de URL van de categorie en heeft de pagina de categorie als canonieke URL, dus het probleem speelt vooral bij grote catalogi.
Kan de chat zelf nieuwe filters maken?
De chat vult de productkenmerken in die filters gebruiken en ruimt ze op, met een voorbeeld voor het opslaan. Het filtertemplate, dus welke kenmerken in welke categorie verschijnen, stel je in de configuratie van de module voor facetzoeken in de backoffice in. Dat is een eenmalige klus.
PrestaShop is een geregistreerd handelsmerk van PrestaShop SA. Claude is een handelsmerk van Anthropic PBC. ChatGPT en OpenAI zijn handelsmerken van OpenAI. TellMyShop is niet gelieerd aan deze bedrijven.