Bestrating.nl
Alle cases
Magento 2.4.9HyväHyvä CheckoutSmartStone ERPHypernodeCore Web Vitals

Bestrating.nl

Van Luma naar Hyvä: een complete relaunch met m²-calculator en transport op afstand

Sinds 2022 de vaste technische partner. In oktober 2026 live met een volledig nieuwe Hyvä-webshop op Magento 2.4.9: 30+ nieuwe modules, Hyvä Checkout en Core Web Vitals die op dag één groen zijn.

Platform
Magento 2.4.9 + Hyvä
Jaar
2022–nu
Doorlooptijd
Relaunch live okt. 2026
Probleem

De uitdaging

Bestrating.nl uit Assen begon in 2000 als hobby van de gebroeders Meijeringh. Inmiddels is het een groot bedrijf met ruim 9.000 producten, een showtuin van 5.000 m², een eigen bezorgdienst en klanten door heel Nederland, van particulieren tot hoveniers en gemeenten. De Magento-webshop is in 2020 door een ander bureau op Luma gebouwd. Toen wij hem in 2022 overnamen, liep hij tegen de grenzen van die frontend aan. Bestrating verkopen is ook geen gewone e-commerce: je verkoopt per m² maar levert per pak, het transport hangt af van afstand en gewicht, en elke order moet foutloos in het ERP terechtkomen.

  • Een gedateerde Luma-frontend: zware JavaScript en lastig uit te breiden
  • Klanten denken in m², het magazijn levert per pak of pallet, met snijverlies en aangebroken pakken
  • Transportkosten voor zware materialen hangen af van afstand en kraan, niet van één vast tarief
  • De bestaande SmartStone-ERP-koppeling moest in de nieuwe shop gewoon blijven werken
  • Marketing wil nieuwe landingspagina's kunnen bouwen zonder een developer in te schakelen
Oplossing

Onze oplossing

Na drie jaar doorontwikkeling op de bestaande shop hebben we de webshop opnieuw opgebouwd op Hyvä, met Hyvä Checkout en Magento 2.4.9, en alle businesslogica herzien. De relaunch ging begin oktober 2026 live na maanden van release- en feedbackrondes met het team van Bestrating. Het resultaat: een shop die op mobiel ruim binnen de Core Web Vitals blijft, en waarin rekenwerk, transport en het ERP gewoon kloppen.

  • Nieuwe Hyvä-frontend (Tailwind + Alpine.js) met 127 eigen templates
  • Hyvä Checkout met Postcode.nl-adrescheck, Mollie, in3, Klarna en de keuze voor een kooiaap
  • Transportkosten berekend op afstand vanaf Assen, over ruim 4.700 postcodegebieden, zonder externe API
  • m²-calculator met snijverlies, pakinhoud en een toeslag voor aangebroken pakken, gevuld vanuit het ERP
  • De bestaande SmartStone-ERP-koppeling meegenomen en aangesloten op de nieuwe transport- en verpakkingslogica
  • Een bibliotheek van ongeveer 40 eigen widgets waarmee het team zelf landingspagina's bouwt
Bestrating.nl — De nieuwe homepage van Bestrating.nl op Hyvä, live sinds oktober 2026

De nieuwe homepage van Bestrating.nl op Hyvä, live sinds oktober 2026

98%
UX-score op mobiel (RUM, p75)
1,25 s
LCP op mobiel, dag 1 na livegang
0,000
CLS op mobiel (p75)
30+
nieuwe Magento-modules
Voor en na

Van Luma naar Hyvä

Links de oude Luma-shop, rechts de nieuwe Hyvä-shop. Het assortiment en de merkkleuren zijn hetzelfde gebleven, de rest is opnieuw gebouwd: navigatie, zoeken, productpagina, winkelwagen, checkout en alle contentpagina's.

Bestrating.nl: Voor: Magento 2 Luma (2020–2026)
Voor: Magento 2 Luma (2020–2026)
Bestrating.nl: Na: Magento 2.4.9 + Hyvä (okt. 2026)
Na: Magento 2.4.9 + Hyvä (okt. 2026)
Wat we bouwden

Een rondleiding door de webshop

Alles hieronder is maatwerk dat we bovenop Magento en Hyvä hebben gebouwd of voor Hyvä opnieuw hebben opgebouwd. De screenshots zijn gemaakt op de live shop, een dag na de livegang.

01Navigatie

Een megamenu voor 9.000+ producten

Bestrating.nl heeft veel categorieën en nog meer subcategorieën: tuintegels per formaat, per materiaal en per kleur, en daarnaast sierbestrating, grind, verlichting en buitenverblijven. Het megamenu toont dat in twee lagen. "Producten" opent het menu en is zelf geen link, zodat klanten niet per ongeluk op een overzichtspagina belanden. Op mobiel komt het menu pas in de DOM als je het opent, waardoor elke pagina kleinere HTML heeft.

  • Twee lagen: hoofdcategorie links, subcategorieën en kleuren rechts
  • Het mobiele menu wordt pas geladen bij openen
  • Wordt beheerd vanuit de Magento-categoriestructuur
bestrating.nl
Het megamenu met tuintegels per formaat, materiaal en kleur
Het megamenu met tuintegels per formaat, materiaal en kleur
02Categoriepagina

Filteren op meerdere waarden tegelijk, zonder crawl-chaos

Op de categoriepagina's, met tot 2.176 tuintegels per categorie, filter je op meerdere waarden tegelijk (multi-select). We hebben Aheadworks Layered Navigation daarvoor uitgebreid. Prijs sorteren is gesplitst in "laag-hoog" en "hoog-laag", en alle filterlinks staan op nofollow, zodat Google zijn crawlbudget niet verspilt aan duizenden filtercombinaties. De introtekst staat standaard ingeklapt: goed voor SEO en geen layout shift.

  • Multi-select-filters op Aheadworks Layered Navigation
  • Nofollow op filterlinks tegen index bloat
  • Ingeklapte categorietekst: SEO-content zonder CLS
bestrating.nl
Categoriepagina Tuintegels: 2.176 producten met filters en ingeklapte SEO-tekst
Categoriepagina Tuintegels: 2.176 producten met filters en ingeklapte SEO-tekst
03Productpagina

Kleurvarianten, levertijd en 72-uurslevering in één oogopslag

Een tegel bestaat vaak in 9 tot 12 kleuren, die in Magento losse producten zijn. Via de serie-koppeling uit het ERP tonen we alle kleuren als klikbare swatches, zonder dat het een configurable product hoeft te zijn. Daaronder staan de verwachte levertijd, een link naar de transportkosten voor jouw regio en de 72-uurslevering: een eigen verzendmethode voor producten die direct op voorraad liggen.

  • Kleurvarianten via de serie-koppeling uit het ERP
  • Eigen 72-uursleveringsmethode met een toeslag voor Zeeland
  • Per categorie een knop onder de foto, bijvoorbeeld voor een lichtplan of keuzehulp
bestrating.nl
Productpagina met kleurvarianten, levertijd en 72-uurslevering
Productpagina met kleurvarianten, levertijd en 72-uurslevering
04Het pronkstuk

De m²-calculator: de klant denkt in vierkante meters, het magazijn in pakken

Een klant weet hoeveel m² terras hij wil leggen, niet hoeveel pakken of stuks daarbij horen. De calculator bestond al in de Luma-shop. Voor Hyvä hebben we hem opnieuw gebouwd in Alpine.js en uitgebreid. In de calculator vul je m² of stuks in en de ander rekent live mee. Met één vinkje tel je 5% snijverlies op, en onder "Verpakkingsinfo" zie je hoeveel pakken, lagen en stuks dat oplevert. Bestel je een aangebroken pak, dan rekent de PackageSurcharge-module automatisch een toeslag, die netjes in de offerte, factuur en creditnota terugkomt. Pakinhoud, minimale afname en toeslagartikelen komen rechtstreeks uit het ERP, dus niemand hoeft ze handmatig bij te houden.

  • m² ↔ stuks live gekoppeld, met optioneel 5% snijverlies
  • Pakken, lagen en stuks per bestelling inzichtelijk
  • Toeslag voor een aangebroken pak, met eigen totalen tot in de creditnota
  • Pakinhoud, minimale afname en statiegeld komen uit SmartStone
bestrating.nl
27,72 m² met 5% snijverlies wordt 3 pakken, 12 lagen en 77 tegels
27,72 m² met 5% snijverlies wordt 3 pakken, 12 lagen en 77 tegels
05Conversie

"Maak het compleet": een winkelwagenpopup met slimme upsells

Wie tegels in de winkelwagen legt, heeft bijna altijd ook opsluitbanden, straatzand en voegmiddel nodig. De AJAX-winkelwagenpopup toont na het toevoegen direct die aanvullende producten, per attributenset geconfigureerd, zodat je ze met één klik toevoegt. Dezelfde popup werkt ook voor de offerte, voor klanten die eerst een prijsopgave willen.

  • Toevoegen aan winkelwagen of offerte zonder pagina-reload
  • Upsells per attributenset (tegels → zand, banden, voegmiddel)
  • Hogere orderwaarde zonder extra stap in de flow
bestrating.nl
De winkelwagenpopup met "Maak het compleet"-suggesties
De winkelwagenpopup met "Maak het compleet"-suggesties
06Winkelwagen

Winkelwagen delen en een staffelkorting die live meerekent

In de winkelwagen pas je m² en stuks aan met dezelfde calculator als op de productpagina. Met "Winkelwagen delen" maak je een link waarmee iemand anders, zoals je partner, je hovenier of de klantenservice, precies dezelfde winkelwagen opent. Producten met een staffelprijs tonen een tabel met een "Kies 12 stuks"-knop, en het totaal rekent de korting direct mee. Verzendkosten staan op "Berekenen" totdat de postcode bekend is: geen verrassingen, maar ook geen nep-tarief.

  • Winkelwagen delen via een tokenlink, met automatische opschoning per cron
  • Staffelkorting (volume discount) live in het totaal
  • Kortingscode en verzendkosten-check in de samenvatting
bestrating.nl
Winkelwagen met calculator, samenvatting en de knop "Winkelwagen delen"
Winkelwagen met calculator, samenvatting en de knop "Winkelwagen delen"
07Hyvä Checkout

Afrekenen op één pagina, met transport op afstand en een kooiaap

De checkout draait op Hyvä Checkout: één pagina met contactgegevens, adres, verzendmethode en betaling naast elkaar. De straat en woonplaats worden automatisch ingevuld via Postcode.nl. De transportkosten voor "Groot transport" berekenen we op de afstand tussen de postcode van de klant en het magazijn in Assen. Daarvoor staan ruim 4.700 Nederlandse PC4-gebieden met coördinaten in de database, en een haversine-berekening bepaalt de zone, zonder één externe API-call. Zeeuws-Vlaanderen heeft een eigen tarief. Kies je voor een kooiaap (een meeneemheftruck die de pallets in je tuin zet), dan vervallen de transportkosten.

  • Transportzones op hemelsbrede afstand vanaf Assen (tot 15 km, tot 35 km, verder)
  • Gratis transport binnen zone 1 vanaf €1.250
  • Kooiaap als extra optie: transport gaat naar €0
  • Postcode.nl-autocomplete, Mollie, iDEAL in3, Klarna, Google Pay en afhalen in Assen
  • Een strikte CSP met nonces, zonder dat marketing-scripts breken
bestrating.nl
Hyvä Checkout met groot transport, 72-uurslevering, afhalen en de kooiaap-optie
Hyvä Checkout met groot transport, 72-uurslevering, afhalen en de kooiaap-optie
Mobile first

Gebouwd voor de duim

Een groot deel van de bezoekers komt binnen op mobiel, vaak terwijl ze in de tuin staan. Daarom heeft de productpagina op mobiel een sticky balk met de prijs en de knop "Kies aantal m²", zitten de filters achter één knop onderin het scherm, en zijn de calculator en de winkelwagen-knop met één hand te bedienen.

Homepage, productpagina en calculator met sticky "Kies aantal m²"-balk op een iPhone
Homepage, productpagina en calculator met sticky "Kies aantal m²"-balk op een iPhone
Widgets & landingspagina's

Marketing bouwt zelf pagina's, zonder developer

We bouwden een bibliotheek van ongeveer 40 widgets: hero, kaarten, tegels, stappen, checklist, statistieken, FAQ met FAQPage-schema, reviews, team en formulieren. Daarmee stelt het team van Bestrating zelf landingspagina's samen in de Magento-admin. De showtuinpagina, de zakelijke pagina en de buitenverblijven-pagina zijn er allemaal mee gebouwd.

Bestrating.nl: Showtuin-pagina

Showtuin

Tien widgets, van een hero met "Plan je bezoek" en een galerij tot de locatie, reviews en een CTA. De pagina wordt via een data patch aangemaakt, dus hij is reproduceerbaar op elke omgeving.

Bestrating.nl: Zakelijk-pagina

Zakelijk

Een B2B-landingspagina voor hoveniers, stratenmakers en aannemers, met een aanvraag voor een zakelijk account en een offerte-CTA.

Bestrating.nl: Buitenverblijven-pagina

Buitenverblijven

Een tussenpagina met een 3D-configurator van Trendhout, ingebed in de shop met een "terug naar de shop"-balk.

Onder de motorkap

De SmartStone-koppeling: meegenomen, niet opnieuw uitgevonden

De koppeling met het SmartStone-ERP van Bestrating bestond al voordat wij het project overnamen, en ze werkt. Bij een relaunch ga je zoiets niet opnieuw bouwen. We hebben de koppeling met de nieuwe shop meegenomen en aangesloten waar de nieuwe functionaliteit dat nodig had. Zo komen de nieuwe transportzones en de kooiaap als artikelregels mee in de order, en voeden de pakinhoud, de minimale afname en de toeslagartikelen uit het ERP de m²-calculator. Zo lopen de gegevens:

MagentoSmartStone

Orders & betalingen

Orders en betalingen gaan via de Magento message queue naar het ERP. De nieuwe transportzones en de kooiaap gaan mee als ERP-artikelregels.

Klanten & adressen

Nieuwe klanten en adressen worden als relaties aangemaakt in SmartStone. Het relatienummer komt terug in Magento.

SmartStoneMagento

Artikelen & prijzen

De artikelimport maakt producten aan en werkt ze bij: prijs, pakinhoud, minimale afname, toeslag- en statiegeldartikelen en de serie. Die gegevens voeden de m²-calculator en de toeslag voor een aangebroken pak.

Zendingen

Zodra het ERP een order uitlevert, maakt Magento automatisch de zending aan.

Echte gebruikers, echte data

Core Web Vitals op dag één na de livegang

Lighthouse-scores zeggen weinig. Wat telt is hoe snel de shop is voor echte bezoekers op hun eigen telefoon en verbinding. We meten dat met RUMvision (Real User Monitoring). De cijfers hieronder zijn van 8 oktober 2026, de eerste volle dag na de livegang, voor mobiele bezoekers op het 75e percentiel. Dat is dezelfde maatstaf die Google gebruikt.

LCP
1.248 ms
98,8% goed
Largest Contentful Paint: Google-grens 2.500 ms
INP
88 ms
94,2% goed
Interaction to Next Paint: Google-grens 200 ms
CLS
0,000
95,2% goed
Cumulative Layout Shift: Google-grens 0,1
FCP
1.152 ms
97,0% goed
First Contentful Paint
TTFB
908 ms
74,5% goed
Time to First Byte: met de cache nog niet volledig warm
RUMvision: UX-score 98% en FUX-score 98% op mobiel (8 okt. 2026)
RUMvision: UX-score 98% en FUX-score 98% op mobiel (8 okt. 2026)
RUMvision: LCP, INP, CLS, FCP en TTFB op mobiel door de dag heen
RUMvision: LCP, INP, CLS, FCP en TTFB op mobiel door de dag heen
UX-score per metric: LCP 100%, CLS 100%, INP 99%, FCP 98%
UX-score per metric: LCP 100%, CLS 100%, INP 99%, FCP 98%

Hoe we daar kwamen

WebP + srcset overal

Een eigen ImageOptimizer-module herschrijft alle lokale afbeeldingen in widgets, CMS-pagina's en banners naar WebP met srcset en sizes. Productfoto's worden ook als WebP geserveerd.

LCP-preload

De LCP-afbeelding wordt in de head gepreload, en hero-video's laden pas na de page load, met de poster als LCP-element.

HTML gehalveerd

Een HTML-minifier en het lui laden van het mobiele menu brachten de HTML van een categoriepagina van 1,27 MB naar 0,6 MB.

Third parties uitgesteld

Reloadify laadt pas bij de eerste interactie (het was synchroon en ~0,8 s), Trengo-chat (~380 KB) bij interactie of na 6 s, en GTM na de load.

Kiyoh lokaal

De Kiyoh-widget wordt per cron gespiegeld naar het eigen domein. Dat scheelt ~155 KB third-party CSS, fonts en JS en het flikkeren bij het inladen.

Nul layout shift

Vaste afmetingen voor het logo en de thumbnails, een ingeklapte categorie-intro en een woff2-font: CLS 0,000.

Tijdlijn

Van overname tot relaunch

  1. 2020

    Start op Luma

    Een ander bureau bouwt de eerste Magento 2-webshop op het Luma-thema.

  2. Mei 2022

    Coding.nl neemt over

    We zetten Bitbucket Pipelines en een deploy-pipeline naar Hypernode op en worden de vaste technische partner.

  3. 2022–2025

    Doorontwikkeling

    Leveranciersimports (Adezz, Trendhout), lazy loading, canonical-beheer, offertes, de 72-uurslevering, Mollie en Magento-upgrades.

  4. Dec 2025

    Start Hyvä-traject

    De branch feature/hyva: een nieuwe theme, opgebouwd op Hyvä Default met Tailwind en Alpine.js.

  5. Jun–sep 2026

    Releases & feedback

    Ruim 130 commits aan widgets, checkout, transport, ERP en snelheid, en de upgrade naar Magento 2.4.9.

  6. Okt 2026

    Livegang

    Contentmigratie, media-sync en livegang-patches. Dag 1: UX-score 98% op mobiel.

Technische highlights

Magento 2.4.9 + Hyvä

Hyvä Default-child-theme met 127 eigen templates, op PHP 8.3

Hyvä Checkout

Checkout op één pagina met Mollie, Postcode.nl en een strikte CSP

SmartStone-ERP

Bestaande koppeling meegenomen en aangesloten op de nieuwe logica

DistanceShipping

Transportzones op afstand, over ~4.700 PC4-coördinaten

PackageCalculator

m²-calculator opnieuw gebouwd in Alpine.js voor Hyvä

PackageSurcharge

Toeslag voor een aangebroken pak, met eigen totalen

Widget-bibliotheek

Ongeveer 40 widgets voor landingspagina's, met FAQ-schema

ImageOptimizer

WebP, srcset, LCP-preload, lazy video en HTML-minificatie

Offertemodule

Amasty Request a Quote, uitgebreid: de offerte blijft geldig tot de betaling

Ga4Hyva

GA4-tracking 1:1 gelijk aan de oude Luma-site

StyleSmuggler-hardening

Beveiliging tegen een recente Magento-exploit-chain

Hypernode + CI/CD

Bitbucket Pipelines naar staging/productie, met 14 Puppeteer-testsuites

Volgende case

Certe Groep →

Klaar voor jouw succesverhaal?

Laten we bespreken hoe we jouw project kunnen realiseren.

Start een gesprek