Zeven maten, drie kleuren, één productpagina, zonder dat je 21 losse producten aanmaakt. Zo werkt een variabel product WooCommerce instellen in de praktijk. Je doet het zodra je hetzelfde item in meerdere maten, kleuren of andere combinaties verkoopt. Zeven concrete stappen: van eigenschappen aanmaken tot variaties, voorraad, prijzen en de SEO-valkuilen die de meeste shops missen. Plus de 2026-realiteit: block editor, WooCommerce 9.x en Google’s hasVariant structured data.

Wanneer kies je een variabel product (en wanneer niet)?
Niet elke productcatalogus vraagt om variaties. Voor een T-shirt in vijf maten en drie kleuren is een variabel product de beste keuze. Voor een boek en de bijbehorende audiobook-versie past een groepsproduct beter. En voor twee compleet verschillende items die toevallig samen worden verkocht, gebruik je gewoon losse producten met een cross-sell.
Grofweg de beslisboom die ik aanhoud:
- Zelfde artikel, andere variant (maat, kleur, materiaal): variabel product.
- Verwante items die klant samen wil bekijken: groepsproduct.
- Zelfstandige producten met eigen SEO-waarde: losse producten.
Als een product meer dan 100 combinaties krijgt, kijk je opnieuw. WooCommerce loopt technisch niet vast, maar de admin wordt onwerkbaar en frontend-queries lopen op. Bij zoveel varianten is de vraag of ze echt allemaal apart moeten, of dat je een productconfigurator (bijvoorbeeld via ACF of een custom endpoint) nodig hebt.
Variabel product WooCommerce instellen: het 7-stappenplan
Hier volgt het volledige stappenplan om een variabel product WooCommerce in te stellen. Ik ga uit van WooCommerce 9.x met de block editor. Klassieke editor werkt vrijwel identiek.
Stap 1. Ga naar Producten en klik op “Nieuw product toevoegen”. Vul titel, beschrijving en categorieën in.
Stap 2. Scroll naar de sectie “Productgegevens” en zet het dropdown-menu op “Variabel product”.
Stap 3. Open het tabblad “Eigenschappen”. Voeg per eigenschap (bijvoorbeeld Kleur of Maat) de waarden toe. Vink “Gebruikt voor variaties” aan.
Stap 4. Ga naar het tabblad “Variaties”. Kies “Genereer variaties uit alle eigenschappen” en klik “Ga”.
Stap 5. Open elke variatie afzonderlijk en vul prijs, voorraad, gewicht en optioneel een eigen afbeelding in.
Stap 6. Stel op het parent-product een basisprijs in en zet een standaard-selectie voor eigenschappen (optioneel, verhoogt conversie).
Stap 7. Publiceer en controleer op de frontend of dropdown of swatches werken zoals bedoeld.
Klinkt eenvoudig, en dat is het meestal ook. De valkuilen zitten in stap 3 en 5, waar je keuzes over globale eigenschappen en voorraad per variatie de rest van je flow bepalen.
Eigenschappen aanmaken en toewijzen
Eigenschappen bestaan in WooCommerce op twee niveaus. Dat onderscheid heeft directe SEO- en filter-consequenties, en veel shops maken hier de verkeerde keuze.
Globale eigenschappen maak je aan via Producten → Eigenschappen. Ze zijn herbruikbaar over de hele shop, worden filterbaar (via de standaard-widget of een plugin zoals FacetWP) en krijgen automatisch een archief-URL. Voor kleur, maat en materiaal: altijd globaal.
Per-product eigenschappen maak je direct in het productscherm. Ze bestaan alleen voor dat ene product, verschijnen niet in filters en zijn niet archiveerbaar. Alleen zinvol voor unieke specs die je nergens anders hergebruikt (bijvoorbeeld een specifieke afmeting van een maatwerkproduct).
De SEO-consequentie: globale eigenschappen kunnen indexeerbare archief-URL’s opleveren (bijvoorbeeld /pa_kleur/rood/). Dat is prima voor filtering, maar controleer wel via je SEO-plugin (Rank Math, Yoast) of je die archieven wilt indexeren. Bij grote catalogi zet je ze meestal op noindex om duplicate content te vermijden.

Variaties genereren en bulk-beheer
WooCommerce genereert variaties in batches van maximaal 50 per keer. Dat is een harde limiet in de core, en bij grote combinatiematrices moet je dus meerdere keren op “Ga” klikken. Voor een shirt met 5 maten × 8 kleuren × 3 materialen (120 variaties) betekent dat drie rondjes.
Voor bulk-bewerking van prijs of voorraad kun je in het tabblad “Variaties” de dropdown “Prijzen (%)” of “Voorraadstatus” gebruiken. Dat werkt op alle variaties tegelijk. Handig bij een prijsronde: alle variaties +10% doe je met een paar klikken.
Wil je variaties tonen als kleurstalen in plaats van een saaie dropdown, dan is de plugin Variation Swatches (Iconic, of het gratis alternatief van WooBeWoo) een aanrader. Meet wel voor en na of je conversie er echt beter door wordt. Bij accessoires en mode meestal wel, bij techniek nauwelijks verschil.
Voorraad, prijs en afbeelding per variatie
Voorraad kun je op twee niveaus beheren: op parent-niveau (één totaal-voorraad voor het hele product) of per variatie (elk maat/kleur-combi apart). Voor serieuze shops is per variatie de enige juiste keuze. Anders verkoop je maat XL nog door terwijl alleen de S en M op voorraad zijn.
Zet in stap 5 dus voor elke variatie:
- Prijs (verplicht, anders wordt de variatie niet verkocht).
- SKU (aanbevolen, cruciaal voor Google Merchant Center-feeds).
- Voorraadstatus of exacte voorraadwaarde.
- Afbeelding (optioneel, maar toont bij variant-selectie op frontend).
- Gewicht en afmetingen (voor verzendkostenberekening).
Een veelgemaakte fout: één variatie zonder prijs invoeren. Die verschijnt dan niet in de dropdown, en klanten zien “Geen overeenkomend product gevonden”. Dat is niet een bug in WooCommerce, dat is een lege prijs.
Variabele producten en SEO
Google indexeert het parent-product als één URL, niet elke variatie apart. De variant-URL’s (bijvoorbeeld ?attribute_kleur=rood) krijgen automatisch een canonical die naar het parent-product wijst. Dat is wat je wilt, dus daar hoef je zelden iets aan te tweaken.
Wat je wél kan toevoegen is hasVariant structured data. Sinds Google’s 2023-update voor productvariaties kun je in je schema.org-JSON aangeven dat een parent-product meerdere varianten heeft, met eigen prijs en SKU per variant. Dat helpt in Shopping-resultaten en rich snippets. WooCommerce voegt dit standaard nog niet toe, maar plugins zoals Rank Math (PRO) en Merchant Google Feed doen dit automatisch. Kijk voor de exacte specificatie op de officiële Product structured data-documentatie van Google.
Ook zinvol: in je meta-omschrijving van het parent-product de meest voorkomende variantnamen noemen (“Beschikbaar in rood, blauw en zwart, maten S tot XXL”). Dat is geen ranking-truc, wel een CTR-verhoger.

Performance en veelgemaakte fouten
Bij meer dan 100 variaties per product merk je op een langzame host extra queries. WooCommerce laadt bij elk pageview de variatiedata in JSON, en die JSON kan bij 200+ combinaties tientallen KB’s beslaan. Oplossingen:
- Lazy-load de variatie-data (plugin: WooCommerce Product Variations Swatches en filter).
- Overweeg bij zeer grote catalogi (>250 variaties per product) om losse producten te maken.
- Zet objectcaching aan (Redis of Memcached) via je hosting.
Een andere klassieker: “Kies een optie” blijft grijs of de “Toevoegen aan winkelwagen”-knop verschijnt niet. Meestal is dat een JavaScript-conflict, vaak met een theme of een cache-plugin die de variatie-JSON verkeerd cachet. Cache leegmaken, minify-JS tijdelijk uitzetten en testen.
Werkt je shop op Shopify, dan bestaat het concept “variants” standaard, met een limiet van 100 varianten per product tot Shopify Plus (met apps zoals Infinite Options tot ~2000). De filosofie is anders, maar het resultaat vergelijkbaar. Bekijk voor meer WooCommerce-specifieke inrichting mijn artikel over WooCommerce SEO-basis of de officiële WooCommerce-documentatie over variable products.



