Naar hoofdinhoud

WooCommerce SEO: permalinks, schema en productdata die rankt

WooCommerce SEO voor je catalogus: permalinkbasis, attribuutfilters, variabele producten, schema met Yoast of Rank Math en de velden die ranken.

WooCommerce SEO: permalinks, schema en productdata die rankt

WooCommerce SEO is alles wat je doet om de product- en categoriepagina's van een WooCommerce-webshop te laten ranken in Google. Omdat WooCommerce op WordPress draait, zit een deel in de WordPress-basis: indexering, sitemaps en een SEO-plugin. De rest is specifiek voor WooCommerce: de permalinkbasis voor producten, de basis voor categorieën en tags, attribuutarchieven en filters, variabele producten, Product structured data en de productvelden waar elke pagina uit bestaat.

Kort samengevat: kies een stabiele permalinkbasis voordat je catalogus groeit, houd dunne tag- en attribuutarchieven uit de index, bouw filters op globale attributen, geef elke variatie een eigen SKU en GTIN, zorg dat precies één plugin Product schema uitvoert, en vul de velden die een productpagina toont. Hieronder lopen we elke stap door met de echte instellingen en veldnamen uit WooCommerce. Wil je eerst de hele webshop doorlichten, gebruik dan onze SEO-audit checklist voor webshops.

Wat WordPress en WooCommerce standaard al voor SEO doen

Een verse WooCommerce-installatie is minder kaal dan veel mensen denken. Standaard krijg je:

  • Aanpasbare slugs: elk product, elke productcategorie en elke producttag heeft een slug die je in de editor kunt wijzigen.
  • Een XML-sitemap: WordPress maakt sinds versie 5.5 een eenvoudige sitemap op /wp-sitemap.xml. Yoast SEO en de meeste andere SEO-plugins zetten die uit en publiceren hun eigen sitemap.
  • Product structured data: WooCommerce zet JSON-LD Product-markup op elke productpagina, met naam, omschrijving, SKU, hoofdafbeelding en een aanbieding op basis van prijs en voorraadstatus.
  • Een barcodeveld: sinds WooCommerce 9.2 staat op het tabblad Voorraad een veld "GTIN, UPC, EAN of ISBN" (WooCommerce). Daarvoor had je een plugin nodig, of zette je de EAN in het SKU-veld.

Wat de basis niet doet: een aparte SEO-titel en meta description per product, bepalen welke archieven geïndexeerd worden, en merk of barcodes per variatie in de markup. Daarvoor installeer je Yoast SEO, Rank Math of een vergelijkbare plugin.

Controleer vóór alles één WordPress-instelling: Instellingen > Lezen > "Zoekmachine zichtbaarheid". Een testomgeving die live gaat terwijl "Zoekmachines ontmoedigen om deze site te indexeren" nog aangevinkt staat, is een van de vaakste redenen dat een nieuwe WooCommerce-webshop helemaal geen organisch verkeer krijgt.

Caching, afbeeldingen en plugins: de snelheid van je WooCommerce-webshop

Snelheid is het onderdeel waar de meeste algemene WooCommerce SEO-gidsen mee beginnen, en het telt vooral via de Core Web Vitals. Google meet laden (Largest Contentful Paint, goed binnen 2,5 seconde), reactiesnelheid (Interaction to Next Paint, goed onder 200 milliseconden) en visuele stabiliteit (Cumulative Layout Shift, goed onder 0,1), en zegt dat goede scores aansluiten bij wat de rankingsystemen belonen (Google Search Central). In een WooCommerce-webshop maken vier dingen het meeste verschil:

  • Een paginacache met de juiste uitzonderingen. Cache product- en categoriepagina's, maar nooit Winkelwagen, Afrekenen of Mijn account: volgens WooCommerce moeten die dynamisch blijven omdat ze klantgegevens tonen (WooCommerce-documentatie voor developers).
  • Afbeeldingen op weergaveformaat uploaden. Een leveranciersfoto van 4.000 pixels die de browser verkleint, is de gebruikelijke oorzaak van een trage Largest Contentful Paint op productpagina's. Verklein en comprimeer vóór het uploaden, of gebruik een plugin die WebP serveert.
  • Minder plugins die op elke pagina laden. Sliders, pop-ups en uitbreidingen van paginabouwers laden hun scripts vaak op de hele site, ook op productpagina's die ze niet gebruiken.
  • Overal HTTPS, met redirects vanaf oude http://-URL's, zodat productlinks en afbeeldingen niet door elkaar via beide protocollen laden.

Permalinks voor producten: kies een basis voordat je catalogus groeit

Onder Instellingen > Permalinks biedt WooCommerce vier opties voor productpermalinks (WooCommerce-documentatie). Voor het gewassen linnen dekbedovertrek dat we in dit artikel als voorbeeld gebruiken, levert dat op:

Opties voor productpermalinks in WooCommerce

Standaardvoorbeeld.nl/product/gewassen-linnen-dekbedovertrek/Nee
Winkelbasisvoorbeeld.nl/winkel/gewassen-linnen-dekbedovertrek/Nee
Winkelbasis met categorievoorbeeld.nl/winkel/dekbedovertrekken/gewassen-linnen-dekbedovertrek/Ja
Custom basisElk voorvoegsel dat je zelf invult, zoals voorbeeld.nl/beddengoed/gewassen-linnen-dekbedovertrek/Nee
Alleen de optie met de categorie in het pad koppelt product-URL's aan de categorieboom, dus alleen die breekt als je een product verhuist.

De optie met categorie in de URL ziet er netjes uit, maar koppelt elke product-URL aan een categorie. Verhuis je het dekbedovertrek bij een assortimentsronde van "Dekbedovertrekken" naar "Linnen beddengoed", dan verandert de URL. De standaardbasis of winkelbasis houdt product-URL's stabiel, hoe vaak je de categorieboom ook omgooit, en stabiele URL's houden hun links en rankinggeschiedenis. Een zoekwoord in de URL is een klein signaal; een vergeten redirect is een groot probleem.

Twee regels uit de WooCommerce-documentatie zijn hier belangrijk. De productbasis mag niet gelijk zijn aan een taxonomiebasis: een productbasis "winkel" en een categoriebasis "winkel" botsen. En elke wijziging van een basis verandert bestaande URL's, dus oude links en geïndexeerde pagina's geven een 404 zolang je geen redirects toevoegt. Geven productpagina's direct na een wijziging een 404, sla de permalinkpagina dan nog een keer op; dan worden de rewrite rules opnieuw opgebouwd.

Productcategorieën, tagpagina's en attribuutarchieven

WooCommerce maakt drie soorten archiefpagina's, en die verdienen elk een andere aanpak.

  • Productcategorieën (/product-categorie/dekbedovertrekken/ in een Nederlandstalige installatie): je belangrijkste landingspagina's voor brede zoekopdrachten zoals "linnen dekbedovertrek". Laat ze indexeren, geef de belangrijkste een intro met echte koopinformatie en houd de boom ondiep genoeg zodat elke categorie genoeg producten bevat. De basis wijzig je onder Instellingen > Permalinks, bij Optioneel, bijvoorbeeld in /categorie/.
  • Producttags (/product-tag/...): meestal ter plekke aangemaakt door wie het product bewerkt, met honderden bijna lege pagina's als gevolg, zoals "linnen", "Linnen" en "linen". Houd een korte lijst tags aan die bij echte zoekopdrachten passen, of zet tagarchieven op noindex in je SEO-plugin.
  • Attribuutarchieven: een globaal attribuut krijgt alleen eigen pagina's als je onder Producten > Attributen "Archieven inschakelen?" aanvinkt. Dan toont voorbeeld.nl/kleur/salie/ alle saliegroene producten. Dat werkt voor een of twee attributen waar mensen op zoeken, zoals materiaal, en levert voor de rest dunne pagina's op.

Globale pa_-attributen of aangepaste productattributen

Bij attributen komen WooCommerce SEO en productdata samen. WooCommerce kent twee soorten:

  • Globale attributen maak je aan onder Producten > Attributen, met een lijst waarden (termen) die je op meerdere producten gebruikt. Hun taxonomienaam begint met pa_ (pa_kleur, pa_maat). Alleen globale attributen voeden de productfilterblokken en -widgets, attribuutarchieven en consistente keuzelijsten voor variaties.
  • Aangepaste productattributen typ je in op het tabblad Attributen van één product. Ze verschijnen bij Aanvullende informatie, maar je kunt ze niet hergebruiken, er niet op filteren en de spelling niet gelijk houden tussen producten.

Een catalogus met aangepaste attributen eindigt met "Salie", "saliegroen" en "Salie Groen" op drie producten, en een kleurfilter dat niet te bouwen is. Zet alles waar klanten op filteren of zoeken in een globaal attribuut met een vaste lijst waarden, en bewaar vrije aangepaste attributen voor details die maar bij één product horen.

De kolom Filled laat zien bij welk deel van de producten een attribuut een waarde heeft. Een attribuut dat bij 38% is ingevuld, geeft een zwak filter.

Filters maken ook URL's. De attribuutfilters van WooCommerce voegen per attribuut een filter_-parameter toe aan de categorie-URL, zoals ?filter_kleur=salie, en elke combinatie van kleur, maat en prijs is weer een adres dat Google kan crawlen. De meeste webshops houden filtercombinaties uit de index en laten de categoriepagina's ranken. Een paar combinaties met veel vraag kun je uitbouwen tot echte landingspagina's met eigen links en tekst. In ons artikel over faceted navigation en SEO lees je hoe je dat per filter beslist.

Variabele producten: één indexeerbare URL, veel SKU's

Een variabel product in WooCommerce is één pagina met variaties eronder. Variaties krijgen geen eigen permalink, en dat is gunstig voor SEO: links, reviews en rankinggeschiedenis komen samen op één URL. De data per variatie blijft wel belangrijk, want Google Shopping, merchant listings en je eigen filters lezen die uit.

Elke variatie heeft een eigen afbeelding, SKU, "GTIN, UPC, EAN of ISBN", normale prijs en actieprijs, voorraadinstellingen en omschrijving (WooCommerce). Voor het dekbedovertrek in drie maten en drie kleuren zijn dat negen variaties, elk met:

  • Een eigen SKU en GTIN. Een saliegroen overtrek van 200x220 en een antraciet overtrek van 240x220 zijn verschillende handelsartikelen met verschillende barcodes. In onze gids over GTIN, UPC en EAN lees je welke code waar hoort.
  • Een variatiefoto per kleur, zodat de hoofdfoto wisselt als een klant salie kiest in plaats van zand.
  • Alleen echte opties gemarkeerd als "Gebruik voor variaties". Maat en kleur zijn opties; materiaal en draaddichtheid zijn gewone attributen op het hoofdproduct.
  • Alleen een standaardkeuze als die helpt. Zet "Standaard formulierwaarden" op de bestseller als die er duidelijk is. Anders toont de pagina de prijsrange, en dat is eerlijk.

De richtlijnen van Google voor structured data van productvarianten vragen dat elke variant via een eigen URL vooraf te selecteren is, meestal met parameters, en dat de groep één canonieke URL zonder variantkeuze houdt. WooCommerce selecteert opties vooraf op basis van attribute_-parameters in de URL, bijvoorbeeld /product/gewassen-linnen-dekbedovertrek/?attribute_pa_kleur=salie&attribute_pa_maat=200x220. Gebruik zulke URL's als variantlink in je Merchant Center-feed en houd de canonical op de URL van het hoofdproduct.

Volgens de WooCommerce-documentatie passen de keuzelijsten zich boven 30 variaties niet meer aan eerdere keuzes aan en tonen ze alle opties, zodat klanten combinaties kunnen kiezen die niet bestaan (WooCommerce). Heeft een product 6 maten, 8 kleuren en 2 stoffen (96 variaties), overweeg dan om het per stof te splitsen. Twee producten met heldere namen werken meestal beter voor klanten én Google dan één pagina met een lange lijst combinaties.

Product schema in Yoast SEO en Rank Math vergeleken

Omdat WooCommerce al Product-markup uitvoert, draait de keuze voor een plugin om wat er wordt toegevoegd en of je niet met twee Product-entiteiten op één pagina eindigt.

Productschema uit WooCommerce, Yoast SEO en Rank Math

WooCommerce zelfEen eenvoudige Product-entiteit met naam, omschrijving, SKU, afbeelding en aanbiedingen, plus beoordelingen als reviews aanstaanGeen identifiers of merk per variatieNiets, standaard aanwezig
Yoast SEO + Yoast WooCommerce SEOKoppelt het product aan de rest van de schema-graph van Yoast (Yoast)Per variatie velden voor GTIN8, GTIN12/UPC, GTIN13/EAN, GTIN14/ITF-14 en MPN, die in de structured data verschijnenDe add-on WooCommerce SEO
Rank MathSchematype WooCommerce Product per product gekozen op het tabblad Schema; prijs, SKU en voorraadstatus komen uit WooCommerce (Rank Math)Merk uit een producttaxonomie die je kiest onder General Settings > WooCommerceEen GTIN-sleutel kiezen (Pro)
WooCommerce zelf voert al een Product-entiteit uit; de plugins verschillen in of identifiers per variatie en het merk erin terechtkomen.

Welke je ook gebruikt: open de broncode van één productpagina en zoek op application/ld+json. Je wilt één Product-entiteit waarvan prijs, valuta, beschikbaarheid, GTIN en merk overeenkomen met wat op de pagina staat. Wil je zien hoe complete markup voor jouw producttype eruitziet, maak dan een voorbeeld met onze productschema generator en vergelijk.

De plugin is alleen de printer. Is het merk leeg of staat de GTIN in een eigen veld dat de plugin niet uitleest, dan blijft de markup onvolledig, welke plugin je ook installeert.

De productvelden in WooCommerce die je rankings bepalen

Het meeste SEO-werk in een WooCommerce-webshop gebeurt in de producteditor. Veld voor veld:

  • Productnaam: wordt de H1 en de standaardtitel. Zet het producttype en een bepalend kenmerk erin ("Gewassen linnen dekbedovertrek") en laat maat en kleur aan de variaties over.
  • Slug: wordt bij de eerste keer opslaan uit de naam gemaakt. Maak hem korter voordat je publiceert, want later wijzigen vraagt om een redirect.
  • Productomschrijving: de hoofdtekst op het tabblad Beschrijving. Zet erin wat een koper wil weten: materiaal, weving, stofgewicht, sluiting, wasvoorschrift en exacte afmetingen. Leverancierstekst die elke andere reseller ook gebruikt, voegt weinig toe.
  • Korte productbeschrijving: staat in de meeste thema's naast de prijs. Twee of drie regels met de feiten die de aankoop bepalen.
  • SEO-titel en meta description: pluginvelden in Yoast of Rank Math. Bouw ze op uit attributen in plaats van de plugin de eerste zin van de omschrijving te laten afkappen.
  • Productafbeelding en galerij: alt-tekst wordt per afbeelding in de mediabibliotheek opgeslagen, dus één foto op 20 producten heeft één alt-tekst. Beschrijf wat er op de foto staat.
  • SKU en "GTIN, UPC, EAN of ISBN": op het tabblad Voorraad van het hoofdproduct en van elke variatie.
  • Attributen: waar mogelijk globaal, met "Toon op de productpagina" aangevinkt voor specificaties die klanten vergelijken.
  • Categorieën: wijs één primaire categorie toe die past bij de broodkruimel die je wilt. Yoast en Rank Math hebben daar allebei een instelling voor.
  • Gerelateerde producten: upsells en cross-sells leggen links tussen verwante producten, zodat crawlers ook producten diep in de catalogus vinden.
  • Productzichtbaarheid: "Winkel en zoekresultaten", "Alleen winkel", "Alleen zoekresultaten" of "Verborgen". Verborgen producten zijn nog steeds via hun URL bereikbaar, dus een verborgen testproduct kan alsnog in Google belanden.

Wil je weten waarom elk van deze elementen telt, los van het platform, lees dan onze gids voor productpagina SEO.

Voor en na: één linnen dekbedovertrek in WooCommerce

Zo kwam het dekbedovertrek binnen via een leveranciersimport, naast hetzelfde product na een opschoning waarvoor geen nieuwe plugin nodig was. Na de opschoning is Dekbedovertrekken de primaire categorie, met Linnen beddengoed als tweede categorie.

Eén linnen dekbedovertrek, voor en na de opschoning

NaamDekbedovertrek linnen 240x220 salie NIEUWGewassen linnen dekbedovertrek
Slug en URLdekbedovertrek-linnen-240x220-salie-nieuw/product/gewassen-linnen-dekbedovertrek/
OmschrijvingEen leveranciersalinea van 40 woorden die elke reseller ook heeftWeving, stofgewicht, afmetingen per maat, wasvoorschrift en waarom gewassen linnen vanaf de eerste nacht zacht aanvoelt
AttributenEén aangepast attribuut, "Kleur: salie | zand | antraciet", niet bruikbaar als filterGlobaal pa_kleur (Salie, Zand, Antraciet) en pa_maat (140x220, 200x220, 240x220) voor de variaties; materiaal (100% linnen), stofgewicht (165 g/m²) en sluiting (kokosknopen) als zichtbare attributen op het hoofdproduct
VariatiesNegen, zonder SKU's of GTIN's, allemaal met dezelfde zandkleurige fotoNegen, met SKU's van LDC-SAL-140 tot LDC-ANT-240, elk een eigen GTIN-13 en één foto per kleur
SEO-titelLeeg, dus de plugin gebruikte de eerste 155 tekens van de omschrijvingGewassen linnen dekbedovertrek, 140 tot 240 cm, 3 kleuren
Meta descriptionLeeg, dus de plugin gebruikte de eerste 155 tekens van de omschrijvingDekbedovertrek van 100% gewassen linnen, 165 g/m², met sluiting van kokosknopen. In 140x220, 200x220 en 240x220, in salie, zand en antraciet. Wasbaar op 40 °C.
7 van 7 rijen
Elke wijziging is een veld in WooCommerce, en elk veld voedt filters, markup of de zoeksnippet.

Het product doet nu mee in de kleur- en maatfilters, voert een complete Product-entiteit uit en toont een meta description die voor het zoekresultaat is geschreven, in plaats van een afgekapte zin.

Zeven sluiproutes in WooCommerce die je organisch verkeer kosten

  1. De productbasis wijzigen in een live webshop zonder redirects. Alle geïndexeerde product-URL's breken tegelijk.
  2. Producttags laten woekeren. Honderden tagarchieven met één product verspillen crawlbudget en interne links.
  3. Filterbare kenmerken als aangepaste attributen opslaan. Geen filter, geen attribuutarchief, geen consistente waarden.
  4. Twee of drie bronnen van Product-markup. WooCommerce, een SEO-plugin en een reviewplugin zetten elk een eigen entiteit neer, soms met verschillende prijzen.
  5. Een paginabouwer-template dat de omschrijving overslaat. Toont het producttemplate het veld Beschrijving niet, dan komt je tekst nooit op de pagina.
  6. Uitverkochte producten verwijderen. Laat tijdelijk onbeschikbare producten online staan met de status niet op voorraad; stuur producten die uit het assortiment gaan door naar de beste vervanger of categorie.
  7. Leveranciersteksten ongewijzigd publiceren. Als dezelfde alinea op tientallen webshops staat, heeft Google weinig reden om jouw pagina hoger te zetten.

Andere platformen hebben hun eigen versie van deze problemen. Draai je meer dan één webshop, vergelijk dan met onze Shopify SEO checklist en de Magento SEO gids.

SEO-velden voor WooCommerce in bulk vullen met WISEPIM

Het meeste werk hierboven is veldwerk, herhaald voor elk product en elke variatie. WISEPIM koppelt met WooCommerce via de REST API. Een import haalt namen, SKU's, prijzen, omschrijvingen en korte beschrijvingen, voorraad, afbeeldingen, attributen, categorieën, tags en variaties op, plus merk, EAN en SEO-velden. In WISEPIM vul je ontbrekende attributen, omschrijvingen, SEO-titels en meta descriptions aan met AI, controleer je de volledigheid met Quality Guard en exporteer je het resultaat terug, inclusief de SEO-titel en meta description van Yoast als je webshop Yoast gebruikt. Variaties gaan terug onder hun hoofdproduct.

Voor de koppeling heb je alleen de URL van je webshop nodig: je keurt WISEPIM goed in je WordPress-beheer en de API-sleutels worden voor je aangemaakt.

Je koppelt je webshop via de WooCommerce-koppeling en werkt op het gratis plan met maximaal 100 producten.

Diego Nijboer

CTO and Co-Founder at WISEPIM, building AI-powered solutions that transform product data management for e-commerce businesses. Over 10 years of experience solving complex technical challenges in e-commerce and PIM systems.

Veelgestelde vragen

Nog vragen?

Kan je het antwoord niet vinden? Neem contact op met ons team.

Contact opnemen

Ja. WooCommerce draait op WordPress, dus je bepaalt zelf slugs, permalinks, sitemaps en pagina-inhoud, en het zet zelf al eenvoudige Product structured data neer. Je rankings hangen wel af van inrichting en data: een stabiele permalinkbasis, geïndexeerde categorieën, dunne archieven buiten de index, één bron van Product-markup en complete productvelden zoals omschrijvingen, attributen, GTIN's en meta descriptions.

WooCommerce zelf heeft geen aparte SEO-titel of meta description per product en geen controle over welke archieven geïndexeerd worden, dus de meeste webshops installeren één SEO-plugin. Yoast SEO en Rank Math werken allebei. De GTIN-velden per variatie van Yoast vragen de betaalde add-on Yoast WooCommerce SEO; bij Rank Math is een GTIN-sleutel kiezen een Pro-functie. Installeer er één, niet allebei.

Meestal niet. WooCommerce heeft een basis nodig om product-URL's te onderscheiden van pagina's en berichten, en die weghalen vraagt een plugin of eigen rewrite rules die kunnen botsen met paginaslugs. De SEO-winst van een kortere URL is klein. In een bestaande webshop breek je bovendien elke geïndexeerde product-URL, tenzij elke URL een 301-redirect krijgt.

Sinds WooCommerce 9.2 heeft elk product en elke variatie een veld "GTIN, UPC, EAN of ISBN" bij de voorraadinstellingen. Vul daar de barcode van elk verkoopbaar artikel in, één per variatie. Controleer daarna of je SEO-plugin en je Google Merchant Center-feed dat veld uitlezen, want oudere plugins bewaarden EAN-codes in hun eigen velden.

Alleen als je ze bewust beheert. Tags die redacteuren ter plekke aanmaken, leveren veel archieven op met één of twee producten en bijna dezelfde namen. Die verspillen crawlbudget en concurreren met je categoriepagina's. Houd een korte lijst tags aan die bij echte zoekopdrachten passen en geef ze inhoud, of zet producttagarchieven op noindex in je SEO-plugin.

Verder ontdekken

Zorgvuldig gekozen vervolgstappen om dieper te gaan.

Betere productdata, betere resultaten.Verkoop meer producten.