Een QuickScan uitvoeren op een nieuwe webshop kost me twee tot drie uur. Na tientallen van deze sessies bij Nederlandse webshops, van ambachtelijke foodmerken tot grote printplatformen en financiële dienstverleners, komen bepaalde problemen zo consistent terug dat ik ze kan voorspellen voordat ik het tabblad open.
Die voorspelbaarheid is nuttig voor winkeliers. Dit zijn geen uitzonderlijke randgevallen of geavanceerde optimalisatiekwesties. Het zijn structurele UX-fouten die terugkomen in alle soorten webshops, ongeacht omvang, budget of branche. Als jouw webshop langer dan twee jaar live is zonder een gerichte UX-beoordeling, zijn ten minste drie van de vijf onderstaande patronen vrijwel zeker aanwezig.
Dit is wat ik vind, waarom het blijft bestaan en wat je eraan doet.
1. Mobiele prestaties zijn slechter dan je denkt
Het verschil tussen hoe een webshop aanvoelt op een MacBook van een developer en hoe hij daadwerkelijk presteert op een Android-telefoon van middenklasse is vaak dramatisch. Bij throttled mobile testing zie ik regelmatig LCP-waarden van 8, 10 of 13 seconden.
Bij een recente audit van een groot Nederlands printplatform was de mobiele LCP 13,4 seconden. De twee hoofdoorzaken waren 5MB JavaScript die upfront laadt voordat er inhoud zichtbaar is, en een Inter-lettertype van 1MB dat als .ttf-bestand werd geserveerd in plaats van het gecomprimeerde .woff2-formaat. Geen van beide is zichtbaar voor iemand die de webshop beoordeelt op een snelle desktopverbinding. Beide zijn onmiddellijk merkbaar voor de 64% van de Nederlandse shoppers die op mobiel aankomen.
De gemiddelde Lighthouse-score van Nederlandse webshops is 0,53 op 100. Dat getal klopt. Een score onder 0,5 duidt op kritische prestatieproblemen. Dit is het mediaan voor de Nederlandse markt, niet de onderkant.
De bevinding die de meeste klanten verrast: hun analytics rapporteren vaak een redelijk bouncepercentage en sessieduur. Dit komt doordat de gebruikers die bleven de mensen zijn met betere verbindingen of meer geduld. De gebruikers die in de eerste drie seconden zijn afgehaakt, zijn ondervertegenwoordigd in elk meetgetal behalve het ruwe verkeer. Het prestatieprobleem is zichtbaar in de kloof tussen verkeersvolume en conversieratio, niet in de UX-data van gebruikers die zijn gebleven.
Waarom dit patroon aanhoudt: de meeste winkeleigenaren beoordelen hun eigen ervaring op hun eigen apparaten, op hun eigen snelle verbinding. De traagheid is onzichtbaar voor de mensen die de webshop het beste kennen.
Wat te doen: Voer Google PageSpeed Insights uit op je productlijstpagina (niet alleen de homepage) via het mobiele tabblad. Het gereedschap identificeert de drie grootste LCP-bijdragers. Voor de meeste Nederlandse webshops zijn dat: ongecomprimeerde afbeeldingen die op desktopresolutie worden geserveerd aan mobiele viewports, JavaScript van derde partijen van apps die op pagina’s draaien waar ze niet nodig zijn, en lettertypebestanden die niet zijn omgezet naar woff2. Het aanpakken van deze drie zaken brengt de LCP doorgaans van 10 seconden terug naar onder de 4. Alleen het converteren van lettertypen naar woff2 kan de laadgrootte van fonts met 70% verminderen.
2. Navigatie gebouwd voor de productcatalogus, niet voor de klant
In vrijwel elke audit die ik doe vind ik ten minste één primair navigatie-item dat voor de winkelier volstrekt logisch is en voor iedereen anders uitleg behoeft.
Bij een audit van een ambachtelijk foodmerk had de hoofdproductlijn een evocatieve merknaam gekregen. Die naam stond in de primaire navigatie. Klanten die via Google aankwamen op zoek naar chocolade, bonbons of cadeaudozen hadden geen manier om te weten wat die naam betekende zonder door te klikken en de productomschrijvingen te lezen. De naam was intern taalgebruik dat in de klantgerichte interface was terechtgekomen. Het bouncepercentage van de categoriepagina weerspiegelde dit precies.
Bij de audit van het printplatform was het probleem visuele hiërarchie in plaats van naamgeving. “Alle producten” stond in de navigatie met hetzelfde lettergewicht, dezelfde grootte en dezelfde kleur als specifieke productsubcategorieën. Gebruikers die de navigatie scannen, hadden geen visueel onderscheid tussen een toegangspoort tot de volledige catalogus en een specifiek producttype. Baymard-richtlijn #266D stelt dat categorie-headers visueel onderscheidbaar moeten zijn van subcategorieën en aanklikbaar moeten zijn om de volledige bovenliggende categoriepagina te bereiken. Deze webshop overtrad beide regels met één ontwerpkeuze.
Het gemeenschappelijke patroon: navigatie wordt gebouwd door mensen die het productaanbod door en door kennen. Elk label voelt vanzelfsprekend aan van binnenuit. Bezoekers die voor het eerst komen en tegelijkertijd drie webshops vergelijken, lezen de navigatie in een oogopslag en beslissen snel of ze blijven of weggaan. Alles wat interpretatie vereist, verliest hen.
Een verwante bevinding die in ongeveer de helft van de audits voorkomt: hoofdnavigatie-categorieën vouwen uit naar subcategorieën in een dropdown, maar er is geen link om alle items in de bovenliggende categorie te bekijken. Een gebruiker die het volledige aanbod wil doorbladeren heeft geen duidelijk pad. Dit is een veelvoorkomende bron van doodlopende navigatiestromen.
Wat te doen: Test je navigatie met vijf gebruikers die jouw webshop nog nooit hebben gezien. Vraag hen een specifiek producttype te vinden zonder hulp. Noteer waar ze aarzelen. Waar de aarzeling consistent is, heeft de navigatie gefaald. Controleer specifiek op: categorienamen die productkennis vereisen om te interpreteren, items zonder visuele hiërarchie tussen hoofd- en subcategorieën, en dropdownmenu’s waarbij “Bekijk alle [categorie]” ontbreekt of onderaan een lange lijst is begraven. De oplossing voor navigatienaming is bijna altijd vocabulaireonderzoek, geen designwerk.

3. Formuliervelden die de gebruiker tegenwerken
Formulieren in het afrekenproces en voor leadgeneratie zijn de plek waar wrijving het grootst is en geduld het kleinst. Een gebruiker die een aankoopbeslissing heeft genomen en zijn gegevens invult, staat op het punt te vertrekken bij één slechte interactie. Ze zoeken geen redenen om te blijven; ze zoeken bevestiging dat het afmaken eenvoudig is.
De meest specifieke formulierbevinding die ik heb gedocumenteerd, deed zich voor bij een audit van een Nederlandse financiële dienstverlener. De datumkiezer weigerde maanden van één cijfer te accepteren. Een gebruiker die “9” intypte voor september zag het veld leegmaken of een foutmelding geven. De vereiste invoer was “09”. Het veld had geen placeholdertekst, geen formaatvoorbeeld en geen foutmelding die het verwachte formaat uitlegde. Het veld accepteerde simpelweg niet wat een mens van nature intypt.
In dezelfde audit was een landkeuze-dropdown gesorteerd op ISO-landcode in plaats van landnaam. Curaçao vinden vereiste dat je wist dat de ISO-code “CW” is en die zocht in een alfabetisch gesorteerde lijst van codes in plaats van namen. Voor een Nederlands financieel product waarbij een voorspelbaar deel van de aanvragers uit Curaçao, Aruba en Suriname komt, is dit geen randgeval. Het is een systematische fout die een bekende gebruikersgroep treft, veroorzaakt door een configuratiekwestie van één regel die nooit is beoordeeld vanuit het perspectief van iemand buiten het Nederlandse vasteland.
Dit zijn geen grote designfouten. Het zijn technische kwesties van één regel. Een ontbrekend placeholder="DD-MM-JJJJ"-attribuut. Een sorteervolgorde-instelling. Een verkeerde gegevensbron voor een dropdown. Ze verschijnen in vrijwel elk formulier dat ik audit en hebben een onevenredig groot effect op het voltooiingspercentage, omdat ze optreden op het meest kritieke punt in de funnel.
Uit het bredere QuickScan-patroon rondom formulierwrijving: verkeerde invoertypes op mobiel (numerieke velden die het volledige QWERTY-toetsenbord tonen in plaats van het nummerpaneel), adresvelden die de browser-autofill niet activeren omdat het autocomplete-attribuut ontbreekt of onjuist is, en landdropdowns met meer dan 200 ongesorteerde opties die volledig doorgescrolld moeten worden zijn de drie meest voorkomende formulierfouten na datum- en landinvoer.
Wat te doen: Doorloop je eigen afrekenformulier op een echte mobiele telefoon, niet op een desktopbrowser, met uitgeschakelde autofill. Schrijf elk moment op waarop je stopt en nadenkt. Elk van die momenten is een lekpunt. De technische checklist: verifieer type="tel" op telefoonvelden, voeg autocomplete-attributen toe aan alle adresvelden (postal-code, street-address, given-name, family-name), voeg placeholdertekst met formaatvoorbeelden toe aan alle datumvelden, en vervang alfabetisch gesorteerde landcodedropdowns door doorzoekbare selecties die de meest voorkomende keuzes op basis van je feitelijke klantlocatiedata als eerste tonen.
4. Prijspresentatie die twijfel wekt
Prijs zou het duidelijkste element op elke ecommerce-pagina moeten zijn. In de praktijk is het vaak het element dat de meeste onzekerheid veroorzaakt.
Het patroon verschijnt in twee duidelijk verschillende vormen. De eerste is hoeveelheidsprijsstelling zonder duidelijkheid over de stukprijs. Bij de audit van het printplatform toonde een productlijst “100 stuks voor €33” zonder te vermelden of dat de totaalprijs (€0,33 per stuk) of de stukprijs met een minimumbestelling van 100 was. B2B-afdrukkopers die leveranciers vergelijken in meerdere tabbladen maken deze berekening automatisch. Wanneer het antwoord niet in één oogopslag zichtbaar is, gaan velen naar het volgende resultaat in plaats van door te klikken voor bevestiging. Voor producten waarbij de stukprijs de aankoopbeslissing bepaalt, is stukprijsduidelijkheid geen mooie extra.
De tweede vorm is de verborgen verzendkosten die bij het afrekenen verschijnen. Baymard-onderzoek schrijft 48% van het winkelwagenverlies toe aan onverwachte kosten die voor het eerst bij de betalingsstap verschijnen. In de Nederlandse ecommerce-context wordt dit effect versterkt door de iDEAL-betalingsstroom. Nederlandse consumenten beschouwen de iDEAL-stap als een commitmentpunt, mede omdat de betaling onmiddellijk plaatsvindt en terugboekingsprocessen niet triviaal zijn. Het ontdekken van een aanvullende €6,95 aan verzendkosten op dat moment voelt als misleiding, niet als een kleine tegenvaller.
Een aanvullend prijspatroon dat in ongeveer een derde van de audits voorkomt: promotionele prijsweergave zonder duidelijke referentieprijs. Een product dat wordt getoond als “€29” met een doorgestreepte vorige prijs moet op grond van de EU-richtlijn omnibus de laagste prijs van de afgelopen 30 dagen als referentie tonen. De meeste webshops doen dit niet correct, wat zowel een nalevingsrisico als een vertrouwensprobleem oplevert voor geïnformeerde shoppers die de ontbrekende referentieprijs herkennen.
Wat te doen: Beoordeel je productpagina’s specifiek op prijsambiguïteit. Als je in hoeveelheden verkoopt, toon dan de stukprijs expliciet naast het totaal. Als verzendkosten variëren op basis van bestellingsgrootte of bestemming, toon dan een drempelwaarde of bandbreedte op de productpagina (“gratis verzending boven €75”) voordat de gebruiker zich heeft gecommitteerd aan het invullen van zijn adres. Breng prijstransparantie vroeg in het proces. De verzendkosten die bij het afrekenen leiden tot verlating hadden dat niet gedaan als ze op de productpagina waren getoond, omdat de gebruiker op dat punt zijn persoonlijke gegevens nog niet in de transactie heeft geïnvesteerd.
5. Ontbrekende feedback op momenten van commitment
Gebruikers moeten weten dat hun actie is geslaagd. Dit is een fundamenteel principe van interactieontwerp, en het breekt consequent in ecommerce op precies de twee momenten waarop het het meest telt: na het indienen van een formulier, en bij stappen die het gebruikerscommitment escaleren.
Bij een audit van een Nederlandse financiële dienstverlener had de bevestigingspagina die verscheen na een volledig ingevuld meerstaps-aanvraagformulier geen zichtbare succestoestand. Geen bevestigingskop, geen uitleg over de volgende stap, geen referentienummer of verwachte tijdlijn. Gebruikers die 10 tot 15 minuten hadden besteed aan het invullen van een gedetailleerd formulier belandden op een pagina die identiek leek aan een tussenpagina. Het gevolg was een voorspelbaar patroon van supportcontact en herhaald indienen van formulieren, beide duur om af te handelen en aanwijzingen voor een fundamentale fout in het sluiten van de conversielus.
In dezelfde audit stond een checkbox voor autorisatie van een BKR-kredietcheck halverwege de aanvraag, voordat de gebruiker de volledige productvoorwaarden of het feitelijke aanbod had gezien. De checkbox was gepositioneerd als een vereiste om het aanbod te kunnen zien, niet als een geïnformeerde toestemmingsstap na een aanbod dat de gebruiker had besloten te accepteren. Gebruikers die nog niet hadden besloten of ze verder wilden met het product, werden gevraagd een financieel onderzoek naar hun kredietgeschiedenis te autoriseren. De commitmentsequentie was omgekeerd: escalatie voor de waarde, niet erna.
Dit patroon verschijnt in minder ernstige vormen in veel soorten webshops. Nieuwsbriefpopups die binnen de eerste seconden van een bezoek verschijnen, voordat de gebruiker enig beeld heeft gevormd van de relevantie van de winkel voor hem. Accountaanmaak die vereist is voordat toegang tot het afrekenen mogelijk is, waardoor een browsesessie wordt omgezet in een commitment voordat er aankoopintentie is bevestigd. Successtaten na het toevoegen aan de winkelwagen die ofwel afwezig zijn ofwel zo kort (een flits van één seconde) dat gebruikers nogmaals klikken en dubbele artikelen aanmaken.
Wat te doen: Breng de commitmentescalatievolgorde in kaart in je afrekenen en leadgeneratie-flows. Elk verzoek dat je aan een gebruiker stelt, of het nu gaat om het aanmaken van een account, het autoriseren van gegevensuitwisseling of het invoeren van betaalgegevens, moet komen na, niet voor, de waarde-uitwisseling die het verzoek rechtvaardigt. Na elk formulierindienen toon je een onderscheidende, persistente succestoestand. Geen flits. Geen omleiding naar een lege pagina. Een bevestigingsbericht dat benoemt wat er is ingediend, aangeeft wat er vervolgens gebeurt en een referentiepunt geeft voor opvolging. Die pagina is je laatste kans om de conversielus te sluiten; behandelen als een wegwerpstap is een meetbaar omzetverlies.
Waarom deze vijf blijven bestaan
Deze patronen hebben een gemeenschappelijke oorzaak: elk is een fout die onzichtbaar is van binnenuit de winkel.
De developer die de site beoordeelt op een snelle desktopverbinding ziet de 13 seconden mobiele LCP niet. Het productteam dat de categorienamen heeft bedacht begrijpt de navigatie perfect. Het afrekenformulier is getest door mensen die het verwachte datumformaat kenden. De prijsstelling is geschreven door iemand die altijd de kleine lettertjes leest. De bevestigingspagina is uit de scope gehaald omdat het geen vereiste was.
Een UX-audit introduceert een buitenperspectief op precies de pagina’s waar het binnenperspectief structureel blind is. De waarde zit niet in het vinden van problemen die het team niet had kunnen vinden; het zit in het vinden van problemen die het team niet had kunnen zien.
Als je jouw webshop wilt beoordelen aan de hand van deze vijf patronen voordat je een audit boekt, begin dan met vijf specifieke tests: een Google PageSpeed Insights-mobieletest op je productlijstpagina, een vijf-secondentest van je navigatie met een onbekende gebruiker, een volledige afrekening op een Android-telefoon van middenklasse met uitgeschakelde autofill, een beoordeling van je productpagina’s op stukprijsduidelijkheid, en een doorloop van elke post-conversiestatus in je webshop.
Die vijf tests brengen het grootste deel in kaart van wat een QuickScan in deze categorie zou identificeren. Wat een QuickScan toevoegt is de prioritering, de Baymard-richtlijnreferenties, de specificaties voor de oplossingen en het geordende actieplan, zodat je niet alleen weet wat er kapot is maar ook welke oplossing je als eerste moet doorvoeren en hoe je die exact specificeert voor je developmentteam.