Een T-shirt in vijf kleuren en zes maten is dertig combinaties. Voeg twee pasvormen toe en u zit op zestig. Doet u dat voor tweehonderd producten, dan heeft uw shop twaalfduizend variantregels. Dat is het moment waarop WooCommerce varianten van een handige functie in een dagelijkse ergernis veranderen: het beheerscherm wordt stroperig, de productpagina laadt langzaam en het bijwerken van een prijs duurt minuten.
In dit artikel leest u waarom dat gebeurt, wanneer u variabele producten wel en niet moet gebruiken, en welke ingrepen in de praktijk het meeste opleveren.
Wat er onder water gebeurt
WooCommerce slaat een variabel product op als een hoofdproduct met daaronder een apart product per combinatie. Elke variant is dus een volwaardige regel met een eigen prijs, voorraad, gewicht, artikelnummer en afbeelding. Daarnaast staan de eigenschappen zelf, zoals kleur en maat, in aparte tabellen.
Twee dingen zijn daardoor duur:
- Het opbouwen van de productpagina. Om te weten welke combinaties leverbaar zijn en wat ze kosten, moeten alle varianten worden opgehaald. Bij dertig combinaties merkt u dat niet. Bij driehonderd wel.
- Het tonen van de prijsvanaf-regel en de voorraadstatus in overzichten. In een categorie met vierentwintig variabele producten gebeurt dat vierentwintig keer.
WooCommerce heeft hier een grens ingebouwd. Boven ongeveer dertig varianten schakelt de productpagina over van een vooraf ingeladen lijst naar het opvragen per keuze. Dat is beter voor het geheugen, maar het betekent wel dat er een aanroep naar de server nodig is zodra iemand een kleur kiest. Dat is de vertraging die klanten opmerken als “hij reageert traag op het selecteren”.
Wanneer u beter geen variabel product gebruikt
Dit is de nuttigste vraag van het hele onderwerp, en hij wordt zelden gesteld. Varianten zijn bedoeld voor keuzes binnen hetzelfde artikel. Ze zijn niet bedoeld als opbergsysteem.
Gebruik ze wel als de klant redelijkerwijs kiest tussen uitvoeringen van één ding: maat, kleur, inhoud, lengte. De klant wil één productpagina zien.
Gebruik ze niet in deze gevallen:
- De uitvoeringen verschillen zo sterk in prijs of toepassing dat mensen er los op zoeken. Losse producten scoren dan beter in Google en in uw eigen zoekfunctie.
- Het gaat om een aanvulling in plaats van een keuze, bijvoorbeeld een garantieverlenging of een cadeauverpakking. Dat is een extra optie of een los product.
- De klant vult iets in, zoals een naam of een maat in centimeters. Dat is maatwerk via een invoerveld, niet via honderden vooraf aangemaakte combinaties.
- Slechts een fractie van de combinaties bestaat echt. Heeft u vijf kleuren en zes maten maar alleen elf werkelijke artikelen, dan is het aanmaken van dertig varianten waarvan er negentien nooit leverbaar zijn puur ballast.
Dat laatste punt is de belangrijkste bron van opgeblazen shops. WooCommerce biedt een knop om alle combinaties in één klap aan te maken. Die knop is verleidelijk en levert de meeste rommel op.
Praktische regels om WooCommerce varianten beheersbaar te houden
- Maak alleen combinaties aan die u werkelijk verkoopt. Genereer niet alles automatisch, of verwijder na het genereren wat niet bestaat.
- Blijf per product onder de vijftig varianten. Zit u daarboven, splits dan op naar meerdere producten of naar een aparte eigenschap. Boven de honderd wordt het beheerscherm merkbaar traag.
- Geef eigenschappen die u gebruikt om te filteren de status archief. Alleen dan zijn ze bruikbaar in filters en in nette categorieën. Eigenschappen die u alleen ter informatie toont, hoeven dat niet.
- Beheer voorraad op variantniveau, niet op productniveau, zodra de uitvoeringen los op de plank liggen. Anders verkoopt u maat 44 door terwijl alleen 40 nog in het magazijn staat.
- Zet niet bij elke variant een eigen afbeelding als dat niet nodig is. Bij kleuren wel, bij maten zelden. Elke variantafbeelding is een extra bestand dat mee wordt geladen.
- Vul artikelnummers netjes in. U heeft ze nodig zodra u koppelt met een kassasysteem of een productfeed, en achteraf twaalfduizend regels bijwerken is geen pretje.
Wat u doet als het al te groot is geworden
Zit u al met een shop waar het beheerscherm minuten nodig heeft, werk dan in deze volgorde.
Meet eerst hoeveel het er zijn. Kijk in uw producttabel hoeveel regels het type variant hebben. Bij tienduizend regels weet u meteen waar de zwaarte zit.
Ruim niet-verkochte combinaties op. Filter op varianten zonder voorraad en zonder verkopen in het afgelopen jaar en verwijder die. Doe dit na een verse back-up en bij voorkeur eerst op een testomgeving.
Zet objectcaching aan. Variantgegevens worden bij elke paginaopbouw opnieuw opgehaald. Een geheugencache scheelt hier meer dan bij gewone pagina’s.
Controleer of u op de nieuwe opslagmethode zit. WooCommerce heeft de bestellingen naar eigen tabellen verplaatst, wat het beheerscherm merkbaar lichter maakt. Wat dat inhoudt, staat in de uitleg over de nieuwe opslag van bestellingen.
Beperk wat u in overzichten toont. Een prijsvanaf-regel en een voorraadstatus per product in een categorie met achtenveertig items kost meer dan u denkt. Een van beide weglaten scheelt vaak een halve seconde.
Een voorbeeld: een leverancier van werkkleding had per artikel kleuren, maten en drie borduuropties als varianten opgezet. Dat waren ruim tweehonderd combinaties per product. De borduuropties zijn omgezet naar keuzevelden bij het afrekenen. Het aantal variantregels daalde met ruim tachtig procent en de productpagina ging van 3,8 naar 1,4 seconden.
Bulkwijzigingen zonder ongelukken
Prijsverhogingen en voorraadcorrecties op honderden varianten doet u niet met de hand. WooCommerce heeft een ingebouwde bulkbewerking op het varianttabblad waarmee u alle prijzen met een percentage kunt aanpassen. Voor grotere ingrepen werkt een export naar een bestand, bewerken in een spreadsheet en weer importeren beter. Waar dat misgaat en hoe u het veilig doet, leest u in het artikel over productimport met een CSV-bestand.
Wat u daarbij altijd doet: eerst een back-up van de database, dan een proef met tien regels, en pas daarna de volledige import. Een verkeerd kolomformaat kan in één keer alle prijzen op nul zetten, en dat merkt u pas bij de eerste bestelling.
Loopt uw shop tegen deze grenzen aan, dan is de oplossing meestal een combinatie van opruimen, cachen en een enkele structuurwijziging. Dat is precies het soort werk dat binnen het periodiek doorlichten van een WooCommerce-shop valt; bij WebMaintor kijken we dan altijd eerst naar het aantal regels voordat er iets wordt aangezet.
Concrete volgende stap: tel hoeveel varianten uw drukste product heeft en hoeveel daarvan het afgelopen jaar zijn verkocht. Staat daar een groot gat tussen, dan weet u waar uw opruimactie begint.



