Naar hoofdinhoud
TIEMAN.IT

Magento mobiel snel en bruikbaar

Een mobiele Magento-shop is geen kleiner uitgeknepen versie van de desktop. Het is een ander apparaat, een andere inputmethode en een andere CPU. PSI simuleert dat met 4x throttle en Slow 4G. Als jouw mobile Lighthouse score onder de 50 staat, of je mobile conversion rate structureel achterblijft bij desktop, dan is er werk aan de winkel.

Waarom mobiel een ander discipline is dan desktop

De meeste Magento-themes zijn gebouwd voor desktop. Mobiel krijgt dan een responsieve laag overheen, maar de onderliggende JavaScript-bundle, de image-aanpak en de tap-interacties blijven desktop-first denken. Dat heeft concrete gevolgen die je niet ziet met een muisklik, maar wel voelt op een telefoon.

  • CPU-budget: PSI lab simuleert mobiel met 4x CPU-throttle. Een mid-range Android telefoon heeft letterlijk een kwart van de verwerkingskracht die een desktop-browser heeft. JavaScript die op desktop in 200ms parseert, duurt op mobiel een seconde of langer.
  • Netwerk-context: Slow 4G in PSI lab is 1,6 Mbps download, 750 kbps upload, 150ms RTT. Dat klinkt snel, maar een Magento-pagina met 400 kB aan JS plus afbeeldingen zonder mobile-specifieke varianten maakt elk kilobyte voelbaar.
  • Input mode: op mobiel tik je, op desktop klik je. Een knop van 32x20px is klikbaar met een muis. Diezelfde knop is op een telefoon onbruikbaar. WCAG 2.5.5 definieert 44x44px als aanbevolen minimum voor touch targets.
  • Viewport-gedrag: een ontbrekende of verkeerde viewport-meta-tag zorgt dat mobiele browsers een desktop-breedte simuleren en inzoomen. Dat geeft een desktop-layout op mobiel, compleet met horizontale scroll.
  • CrUX splitsing: Google split de Core Web Vitals in mobiel en desktop. De mobiele CrUX-data weegt zwaarder in rankings voor mobile searches. Een goede desktop-score dekt de mobiele ranking niet af.

Dit zijn geen randgevallen. Op een webshop met verkeer van meer dan 50% mobiel bepaalt de mobiele ervaring het grootste deel van de conversie en de ranking.

Mijn aanpak voor een mobiele Magento-audit

Ik begin niet met DevTools op desktop. Een mobiele audit vereist mobiele meetpunten.

  • Lighthouse mobiel via PSI API: ik run meerdere metingen op dezelfde dag, op homepage, categoriepagina en productpagina. Lab-variantie op mobiel is groot. Twee metingen op dezelfde URL op hetzelfde moment kunnen 10 tot 20 punten schelen door CPU-scheduling op de Google-server.
  • CrUX mobile dashboard: Google Search Console toont Core Web Vitals per paginatype, gesplitst op mobiel en desktop. Dit is de bron-van-waarheid. Ik kijk of mobiel en desktop een structureel verschil laten zien, en op welk metric (LCP, INP, CLS).
  • Visuele flow op een echt device: ik test op een fysiek mid-range Android met Chrome. Niet op een DevTools-emulatie. Emulatie simuleert het schermformaat maar niet de GPU-prestaties of de touch-latency van echte hardware.
  • Tap-target audit met Lighthouse accessibility checks: ik noteer alle elementen die kleiner zijn dan 24x24px (WCAG 2.5.8 minimum) of 44x44px (WCAG 2.5.5 aanbevolen). Op Magento-shops zijn plus/min knoppen in de cart, filter-chips en hamburgermenu-items veelvoorkomende overtreders.
  • Viewport meta-tag check: ontbreekt de tag, staat hij op content='width=1024' of is hij foutief door een derde extensie overschreven? Ik check het per paginatype.
  • JS execution budget analyse: welke scripts draaien op mobiel die alleen voor desktop relevant zijn? Widgets voor hover-effects, flyout-menu's en tooltip-handlers verbruiken JS-budget op mobiel zonder waarde toe te voegen.

Uit de audit komt een gerangschikte lijst van mobiel-specifieke knelpunten. Gesorteerd op impact op CrUX-mobiel, niet op hoe makkelijk ze te fixen zijn.

Wat ik typisch fix op Magento voor mobiel

Na de audit implementeer ik de fixes met de hoogste impact. Op mobiel gaat het bijna altijd om een combinatie van het volgende:

  • Mobile-specifieke image-varianten via picture + srcset: de desktop-hero op 1400px breed heeft op een 390px breed scherm geen nut. Ik voeg picture-source-elementen toe met kleinere varianten, zodat mobiel een 600px breed WebP laadt in plaats van de volledige desktop-versie.
  • font-display: swap op alle webfonts: als een webfont laadt op een trage verbinding, blokkeert het zonder font-display:swap de tekst-render. Op mobiel met Slow 4G is dit hoorbaar in de gebruikerservaring.
  • Defer non-essential JS via media query: scripts die alleen voor desktop relevant zijn (flyout-nav, hover-intent, complexe tooltip-bibliotheken) kunnen worden uitgesteld of alleen geladen op media: (min-width: 1024px). Dat geeft de mobile main thread ruimte.
  • Sticky cart-button met safe-area-inset: op apparaten met een notch of een home-indicator (iPhone met Face ID, Android met navigatiebalk) moet een sticky call-to-action padding-bottom: env(safe-area-inset-bottom) krijgen, anders overlapt hij met de systeeminterface.
  • Tap-target vergrotingen: plus/min knoppen in de cart, filter-tags, sociale deelknoppen. Ik vergroot de klikbare zone via padding of min-height/min-width zonder het visuele ontwerp te breken.
  • Hide-on-mobile patterns opruimen: elementen met display:none op mobiel die toch worden ingeladen, parsed en gestyled. Ze zijn onzichtbaar maar kosten wel main thread budget. Ik vervang lazy-hidden patterns door conditioneel laden waar de performance-winst dat rechtvaardigt.
  • Viewport meta-tag correctie: controleren en herstellen van verkeerde width of initial-scale waarden die door extensies zijn overschreven.

Welke fixes van toepassing zijn, hangt af van jouw theme, extensie-set en Magento-versie. Ik pas de aanpak aan op jouw stack.

Tap-target violations: het onzichtbare conversieprobleem

Op Magento-shops zie ik tap-target problemen het vaakst op de volgende plekken: de plus/min knoppen bij de producthoeveelheid in de mini-cart, filter-checkboxen in de layered navigation, de hamburger-menu-knop die te klein is of te dicht bij de rand van het scherm zit, en product-swatches die dicht op elkaar gepakt zijn.

WCAG 2.5.8 (nieuw in WCAG 2.2) stelt dat interactieve elementen een minimum touch-target van 24x24 CSS-pixels moeten hebben. WCAG 2.5.5 raadt 44x44px aan voor betere bruikbaarheid. Lighthouse rapporteert overtredingen als 'Tap targets are not sized appropriately'. Dit is geen stijlkwestie maar een conversieprobleem: een gebruiker die driemaal mis-tikt op een vergrootglas-knop of een min-knop, verlaat de pagina.

Ik herstel tap-target violations met minimale visuele impact. Dat betekent padding toevoegen in plaats van knoppen groter maken, en witruimte tussen aangrenzende interactieve elementen vergroten zodat ze de aanbevolen afstand van 8px halen. Voor hamburger-menus bekijk ik of een bottom-navigation voor terugkerende bezoekers een betere keuze is dan een flyout-menu dat vanuit de linkerbovenhoek opent.

-- Klant-casus

CarCare24: mobile Lighthouse 38 tot 65, CrUX LCP 2,14 seconden

CarCare24 is een Magento 2 webshop met circa 3400 producten op Hypernode met Cloudflare Free. Infortis Ultimo theme, custom extensies en meerdere third-party scripts. De mobile Lighthouse performance score in PSI lab varieerde sterk: op dezelfde dag kon hij 38 of 65 tonen, afhankelijk van CPU-scheduling-variantie op de Google-server.

De mobiele knelpunten zaten op drie lagen. Op performance-niveau: de hero-afbeelding laadde als desktop-variant op mobiel, zonder picture-srcset voor kleinere schermen. Op UX-niveau: meerdere tap-targets in de cart en de layered navigation zaten onder de 24px grens. Op script-niveau: hover-effect-handlers en een desktop-flyout-menu-bibliotheek werden volledig geparsed en uitgevoerd op mobiel, zonder enige conditionele check.

38 tot 65
Mobile Lighthouse score (PSI lab, range)
2,14s
CrUX LCP mobiel (28 dagen)
111ms
CrUX INP mobiel

De fixes op mobiel maakten deel uit van waves 6 tot 9 van het bredere performance-traject. Mobile-specifieke afbeeldingsvarianten werden toegevoegd via picture-source-srcset op de hero. Hover-only scripts werden uitgesteld met een media-query check. Tap-target padding werd verhoogd op cart-knoppen en filter-tags. De lab-score blijft variabel vanwege CPU-throttle-variantie op de Google-server. Dat is een eigenschap van het meetinstrument, niet van de shop. Wat telt: CrUX over 28 dagen toont LCP 2,14 seconden, INP 111ms, CLS 0,05. Alle Core Web Vitals groen op mobiel.

Wat ik niet doe op mobile Magento

Er zijn benaderingen die makkelijk klinken maar de kern van het probleem niet aanpakken, of nieuwe problemen introduceren.

  • AMP-pages bouwen: AMP is technisch correct voor specifieke use cases, maar voor een Magento webshop met uitgebreide productconfiguratie, cart-functionaliteit en extensies is AMP een parallel platform dat dubbele onderhoudskosten geeft zonder garantie op betere CrUX-scores.
  • Native PWA-installs forceren: een service worker en web app manifest toevoegen levert een installeerbare PWA op, maar lost LCP, INP en tap-target problemen niet op. Ik installateer geen PWA-laag als basis voor performance-werk.
  • Hybrid app development: een React Native of Flutter shell over je Magento shop bouwen is een nieuwbouwtraject, geen optimalisatie. Het valt buiten de scope van wat ik hier beschrijf.
  • Mobile-only code-branches in Magento core: aparte PHP-blocks per device via user-agent detection zijn fragiel en moeilijk onderhoudbaar. CSS met media queries is de aanpak en conditioneel JS met matchMedia checks.
  • Lab-score als enige doel: een mobile PSI-score van 90 halen via tricks die echte bezoekers op mid-range hardware niet helpen, is geen doel. CrUX-mobiel is het doel.

Ik leg altijd uit waarom een bepaalde aanpak af te raden is, met de afweging van kosten, impact en risico.

Pricing en scope

Mobiele optimalisatie is onderdeel van een breder Magento performance-traject of staat als losstaande mobile-audit. De prijs hangt af van de omvang van de shop, het aantal paginatypes dat geaudit en gefixed wordt, en of het thema mobiele aanpassingen via het admin-paneel toestaat of dat PHP/JS-aanpassingen nodig zijn.

Ik werk niet met vaste pakketten voor Magento-werk. Prijzen zijn altijd op aanvraag, na een orienteringsgesprek waarin ik de scope bepaal op basis van jouw PSI-data en CrUX-rapporten.

Verwante pagina's

-- Veelgestelde vragen

Heb je een vraag?

Cloudflare verkort de TTFB door cache-servering vanuit een edge-locatie dichter bij de gebruiker. Dat helpt op mobiel net zoveel als op desktop. Maar Cloudflare lost geen tap-target problemen op, geen overmatige JS-bundle en geen ontbrekende mobile-image-varianten. CDN is een laag in het geheel, geen vervanging voor front-end optimalisatie.
Ik werk niet met PWA Studio als implementatietool voor nieuwe shops. Als jouw shop al op PWA Studio draait, kan ik de performance-audit uitvoeren en advies geven over mobiele CrUX-verbeteringen. De implementatie van fixes in een PWA Studio-codebase doe ik op adviesbasis of in samenwerking met jouw front-end developer.
Apple Pay en Google Pay zijn beschikbaar via payment-extensies die de browser's Payment Request API aanroepen. Ik installeer en configureer geen payment-extensions, maar ik controleer wel of bestaande payment-knoppen aan tap-target eisen voldoen en of ze correct worden gerenderd op de apparaten die je wil ondersteunen.
Ja. Chrome DevTools-emulatie simuleert het schermformaat en de netwerkthrottle, maar niet de GPU-prestaties of de touch-latency van echte hardware. Ik test visuele flows en tap-target kwaliteit altijd op een fysiek mid-range Android-apparaat met Chrome.
Een viewport meta-tag kan worden overschreven door een extensie, een theme-update of een inline script. Sommige Magento-extensies voegen hun eigen viewport-definitie toe die de bestaande overschrijft. Ik check per paginatype welke viewport-waarden daadwerkelijk actief zijn in de browser, niet alleen wat in de template staat.
Het is veel voorkomend, maar niet onvermijdelijk. De PSI-simulatie voor mobiel is aanzienlijk zwaarder dan voor desktop: 4x CPU-throttle versus geen throttle, Slow 4G versus Fast 3G. Op een Magento-shop met een zware JS-bundle en geen mobile-specifieke image-aanpak is een score van 30 tot 40 niet verrassend. Met gerichte fixes halen de meeste shops 20 tot 30 punten zonder een theme-rewrite.

Slechte mobiele score op je Magento-shop?

Stuur me de PSI-URL van je shop. Ik kijk naar de mobile lab-data en de CrUX-splitsing en geef je een eerlijk beeld van wat er te verbeteren valt, zonder verplichting.