Productpagina SEO: de checklist voor webshops
Terug naar blog

Productpagina SEO: de checklist voor webshops

7 min leestijd

Een productpagina rankt als Google hem kan vinden, begrijpen en als beste antwoord ziet op een specifieke zoekopdracht.

Een productpagina rankt als Google hem kan vinden, begrijpen en als beste antwoord ziet op een specifieke zoekopdracht. Dat betekent: een unieke, indexeerbare URL, een title en H1 met de echte productnaam, eigen tekst, volledige Product- en Offer-markup, snelle laadtijd en interne links vanuit de juiste categorie. Deze checklist loopt elk onderdeel langs, met voorbeelden voor Magento en Shopify.

Waarom productpagina's anders zijn

Een categoriepagina wint op brede termen: "hardloopschoenen", "bureaustoelen". Een productpagina wint op specifieke termen: modelnamen, artikelnummers, EAN-codes, combinaties van merk, type en maat. Dat zijn zoekopdrachten met een duidelijke koopintentie.

Daar zit ook de uitdaging. Een webshop heeft honderden of duizenden productpagina's, vaak met fabrikantteksten die ook bij tientallen concurrenten staan. Een checklist werkt alleen als je hem in je templates en data inbouwt, niet als je hem per product handmatig afloopt.

1. URL en indexeerbaarheid

  • [ ] Eén canonieke URL per product. Geen varianten via categoriepaden die allemaal indexeerbaar zijn.
  • [ ] Canonical naar zichzelf, absoluut en zonder parameters.
  • [ ] Statuscode 200 en geen noindex.
  • [ ] Leesbare URL-key: /hardloopschoen-pro-x, niet /product/12345 of een URL met sessieparameters.
  • [ ] In de XML-sitemap, met de canonieke URL.

In Magento hangt dit samen met Use Categories Path for Product URLs en Use Canonical Link Meta Tag For Products (Stores > Configuration > Catalog > Catalog > Search Engine Optimization). Staat het categoriepad aan, dan bestaat het product op meerdere URL's en is de canonical je enige verdediging. Veel shops zetten het categoriepad daarom uit.

In Shopify is de canonieke URL altijd /products/handle. URL's als /collections/x/products/handle canonicaliseren daar automatisch naartoe. Controleer wel of je thema in collecties direct naar /products/handle linkt; anders crawlt Google veel URL's die toch niet geïndexeerd worden.

De meest gemaakte fouten bij canonicals op productniveau staan in canonical tags in webshops.

2. Title en meta description

  • [ ] Title met merk, model en het belangrijkste onderscheidende kenmerk. Bijvoorbeeld: RunTech Pro X hardloopschoen heren | Shopnaam.
  • [ ] Uniek per product. Geen template dat voor alle varianten hetzelfde oplevert.
  • [ ] Geen keyword stuffing. "Hardloopschoen kopen goedkoop beste hardloopschoen" helpt niet.
  • [ ] Meta description met een reden om te klikken: levertijd, gratis retour, aantal kleuren. Google herschrijft descriptions vaak, maar een goede description wordt vaker overgenomen.

Een werkbaar template in Magento: zet de title op attributenniveau samen in plaats van handmatig. Bijvoorbeeld {{merk}} {{model}} {{type}} {{doelgroep}}. Magento heeft daarvoor de instelling Product Fields Auto-Generation (Stores > Configuration > Catalog > Catalog), met een masker voor de meta title. Voor complexere regels gebruik je een eigen module of je import. Belangrijk is dat het herhaalbaar is.

3. H1 en paginastructuur

  • [ ] Precies één H1: de productnaam zoals klanten hem zoeken.
  • [ ] Logische H2's voor beschrijving, specificaties, levering en reviews.
  • [ ] Breadcrumbs naar de primaire categorie, met BreadcrumbList-markup.
  • [ ] Belangrijke content in de HTML, niet pas na een klik of via JavaScript ingeladen. Tabs zijn prima zolang de inhoud in de broncode staat.

4. Unieke productcontent

Dit is waar de meeste webshops punten laten liggen. Een fabrikantomschrijving die op twintig andere sites staat, geeft Google geen reden om jouw pagina te kiezen.

  • [ ] Eigen beschrijving van minimaal een paar alinea's voor je belangrijkste producten.
  • [ ] Antwoord op koopvragen: voor wie is het, wat is het verschil met het vorige model, valt het groot of klein, wat zit er in de doos.
  • [ ] Specificaties als tabel, niet als lap tekst. Afmetingen, gewicht, materiaal, compatibiliteit.
  • [ ] Geen dubbele tekst tussen varianten. Varianten van één product horen op één pagina (zie punt 7).

Prioriteer. Je hoeft niet 8.000 producten te herschrijven. Begin met de producten die al vertoningen in Search Console hebben maar op positie 5 tot 20 staan. Daar levert extra content het meest op.

Gestructureerde specificaties zijn ook belangrijk voor AI-zoekmachines die producten vergelijken. Hoe je productdata daarop inricht, lees je in productdata voor AI-shopping en op onze pagina over GEO.

5. Afbeeldingen

  • [ ] Beschrijvende bestandsnaam: runtech-pro-x-zwart-zijkant.jpg, niet IMG_4432.jpg.
  • [ ] Alt-tekst die beschrijft wat er te zien is, niet een herhaling van de title.
  • [ ] Moderne formaten (WebP of AVIF) met de juiste afmetingen per schermgrootte.
  • [ ] Hoofdafbeelding niet lazy-loaden. Dat is vaak je LCP-element.
  • [ ] Afmetingen (width/height) in de HTML, om layout shift te voorkomen.

6. Structured data

Hier haal je het verschil tussen een kaal blauw linkje en een resultaat met prijs, beschikbaarheid en beoordeling. Structured data is volgens Google geen directe rankingfactor, maar bepaalt wel of je in aanmerking komt voor productweergaven in de zoekresultaten.

  • [ ] Product met name, image, description, sku, brand en waar mogelijk gtin.
  • [ ] Offer met price, priceCurrency, availability en url.
  • [ ] AggregateRating en Review, alleen als de reviews echt op de pagina staan.
  • [ ] shippingDetails en hasMerchantReturnPolicy voor verzend- en retourinformatie.
  • [ ] BreadcrumbList voor het pad.
  • [ ] Prijs en voorraad in de markup gelijk aan wat de bezoeker ziet. Afwijkingen kunnen leiden tot problemen met je Merchant Center-feed en de weergave.

Een compact voorbeeld:

json
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "RunTech Pro X hardloopschoen heren",
  "image": ["https://www.shop.nl/media/pro-x-zwart.jpg"],
  "sku": "RT-PROX-ZW",
  "gtin13": "8712345678901",
  "brand": { "@type": "Brand", "name": "RunTech" },
  "offers": {
    "@type": "Offer",
    "url": "https://www.shop.nl/runtech-pro-x",
    "price": "129.95",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  }
}

Magento met het Luma-thema levert standaard geen volledige, goede structured data. Je hebt een extensie of eigen implementatie nodig. Shopify-thema's bevatten vaak een basisversie, maar missen geregeld GTIN, verzend- of retourinformatie. Alles over de juiste opzet vind je op structured data voor webshops.

FAQPage-markup op een productpagina levert sinds augustus 2023 geen rich result meer op voor webshops. Google toont die alleen nog voor gezaghebbende overheids- en gezondheidssites. Productvragen op de pagina zijn wel nuttig voor bezoekers, dus houd de content; verwacht alleen geen extra weergave.

7. Varianten

Een sneaker in vijf kleuren en tien maten is één product met vijftig varianten. Niet vijftig productpagina's.

  • [ ] Eén pagina per model, met varianten via een selector.
  • [ ] Een aparte pagina per variant alleen bij eigen zoekvraag. Kleur kan dat soms rechtvaardigen, maat bijna nooit.
  • [ ] ProductGroup-markup met hasVariant en variesBy als je varianten wilt beschrijven.
  • [ ] Variant-URL's met parameter (?variant=123 in Shopify) canonicaliseren naar de hoofd-URL.

In Magento is dit het configurable product met onderliggende simple products. Zorg dat die simples niet individueel zichtbaar zijn ("Not Visible Individually"), anders heb je per maat een eigen, dunne pagina.

8. Snelheid en Core Web Vitals

  • [ ] LCP ≤ 2,5 seconden op het 75e percentiel van echte bezoekers.
  • [ ] INP ≤ 200 ms: de variantselector, galerij en "in winkelwagen"-knop moeten direct reageren.
  • [ ] CLS ≤ 0,1: geen verspringende prijs, reviews of banners.
  • [ ] Meet met field data (CrUX of RUM), niet alleen met een Lighthouse-score uit je eigen browser.

Op productpagina's zijn de gebruikelijke boosdoeners: een zware galerij-slider, reviewwidgets van derden, chatwidgets en tracking-scripts die de main thread blokkeren. In Magento maakt de keuze voor Hyvä in plaats van Luma hier een groot verschil. Meer op Core Web Vitals en snelheid.

  • [ ] Bereikbaar vanuit een categorie binnen een paar klikken vanaf de homepage.
  • [ ] Breadcrumbs naar de primaire categorie.
  • [ ] Gerelateerde producten en accessoires die echte alternatieven of aanvullingen zijn.
  • [ ] Geen weespagina's: producten die alleen in de sitemap staan en nergens intern gelinkt worden.

Een product dat alleen via de zoekfunctie bereikbaar is, bestaat voor Google nauwelijks.

10. Voorraad en levenscyclus

  • [ ] Uitverkocht laat de pagina staan, met de juiste availability in de markup.
  • [ ] Vervallen producten krijgen een plan: redirect naar opvolger, categorie, of 404/410.
  • [ ] Levertijd zichtbaar op de pagina en consistent met je feed.

Hoe je dat per situatie aanpakt, lees je in uitverkochte producten en SEO.

Hoe je de checklist toepast op duizenden producten

Een checklist per product aflopen schaalt niet. Zo pak je het aan:

  1. Template-niveau eerst. Canonicals, H1, structured data, breadcrumbs, afbeeldingen en snelheid los je één keer op in het thema. Dat raakt alle producten tegelijk.
  2. Data-niveau daarna. Titles, GTIN's, merken en specificaties komen uit je PIM, ERP of import. Repareer de bron, niet de pagina.
  3. Content als laatste, en alleen voor de producten waar vraag naar is. Gebruik Search Console om te bepalen welke producten vertoningen hebben maar weinig kliks.

Dat is de volgorde waarin wij het werk doen: eerst de dingen die alle pagina's raken, daarna de dingen die per product verschillen.

Veelgestelde vragen

Hoe lang moet een producttekst zijn?

Er is geen vaste lengte. Een tekst moet de koopvragen beantwoorden die klanten bij dat product hebben. Voor een simpele kabel is dat een paar zinnen, voor een fiets of bureaustoel een stuk meer.

Kan ik de tekst van de fabrikant gebruiken?

Dat mag, maar dan concurreer je met elke shop die dezelfde tekst gebruikt. Voor je belangrijkste producten loont een eigen beschrijving met specificaties en antwoorden op veelgestelde vragen.

Moet elke productvariant een eigen pagina hebben?

Meestal niet. Maten horen op één pagina. Kleuren alleen een eigen pagina als er aantoonbaar apart op gezocht wordt en je de content echt kunt laten verschillen.

Levert Product-markup betere rankings op?

Google noemt structured data geen directe rankingfactor. Het bepaalt wel of je in aanmerking komt voor weergaven met prijs, voorraad en beoordelingen, en dat beïnvloedt hoeveel mensen doorklikken.

Wat is het belangrijkste punt op deze checklist?

Eén indexeerbare, canonieke URL per product. Zonder dat werken alle andere optimalisaties maar half, omdat signalen over meerdere URL's verspreid raken.

Ruthger Idema

Geschreven door Ruthger Idema

15+ jaar ervaring in e-commerce development. Gespecialiseerd in Magento, Shopify en Laravel maatwerk.

Meer over ons team →
Deel dit artikel:

Wil je jouw e-commerce naar het volgende niveau?

Plan een vrijblijvend gesprek met onze experts over Magento, Shopify of Laravel maatwerk.

Plan een Tech Check