Doorbouwen werd duurder dan opnieuw beginnen.
RoPa Workwear levert werkkleding aan bedrijven. Zeven eigen WooCommerce-plugins werden één B2B webshop, met het kledingbeheer per medewerker in de kern.

- Klant
- RoPa Workwear
- Sector
- Werkkleding voor bedrijven
- Geleverd
- B2B webshop, kledingbeheer en medewerkersportaal
- Catalogus
- Circa 4.400 producten uit een feed
Wat het opleverde
Een shop die rustig laadt en een assortiment dat zoekmachines en AI-assistenten eindelijk kunnen lezen. En een systeem dat niet aan ons vastzit.
Lighthouse en Core Web Vitals mobiel op de nieuwe shop, 28 mei 2026, tijdens onze eigen performance-sprint. Van de oude WooCommerce-shop bestaat geen meting, dus we zetten er ook geen naast. De productlinks in de HTML staan live sinds 18 augustus 2026. Wat dat in Google oplevert, weten we pas als er genoeg maanden overheen zijn.
De vraag
Zeven plugins die elkaar in de weg zaten.
Wat RoPa nodig had, bestond niet kant en klaar. Dus was het er in de loop van de jaren omheen gebouwd, plugin voor plugin, tot er zeven waren.
Elke wijziging raakte er drie. De importer wist dingen die het portaal ook wist, de branding-plugin hing aan de filters en wie een categorie wilde aanpassen, moest op vier plekken kijken. Elk stuk was ooit gemaakt omdat er iets moest. Opgeteld werd doorbouwen duurder dan opnieuw beginnen.
Wat er niet kant en klaar was, is precies wat een zakelijke klant nodig heeft. Kledingbudget per medewerker, maten die vastliggen per persoon, een aanvraag die langs de manager gaat en een logo dat op de rug anders is dan op de borst. Dat zijn geen instellingen in een webshop. Dat is een systeem.
Was
Nu
Was: Zeven eigen WooCommerce-plugins
Eén systeem op Next.js en Supabase
Was: Vier plekken kijken bij elke wijziging
Eén plek
Was: B2B eromheen gebouwd
B2B in de kern
Productimport, filters, branding, klantportaal, totaalpakketten, chatbot en AI-content. Zeven stukken die elk hun werk deden, maar samen door niemand meer in één keer te overzien waren. Nu is het één shop, en een wijziging raakt alleen wat hij moet raken.
De aanpak
Opnieuw gebouwd, en eerlijk nagemeten.
Alles opnieuw op Next.js en Supabase, met de zakelijke klant als uitgangspunt. Twee van de drie stappen hieronder gaan over fouten in ons eigen werk. Die laten we zien, met de meting erbij.
01 De catalogus
4.400 producten die kloppen
De catalogus komt uit de leveranciersfeed en wordt elke nacht bijgewerkt. Maar een feed levert data, geen winkel. Er zaten 138 capuchontruien bij de sweaters terwijl de hoodie-categorie op 26 bleef steken, en de restbak accessoires telde 644 producten. Dat los je niet op met een filter. Dat is indelen.
- Eigen indeling bovenop de feedSignalisatiekleding van 0 naar 364 producten, ondergoed van 0 naar 103
- 444 producten hernoemdZe heetten allemaal “Jobman Jobman - 9291 Belt”, omdat de feed de merknaam dubbel plakte
- 15.989 afbeeldingenOmgezet naar WebP en op eigen opslag gezet
02 Snelheid
Een nieuwe shop is nog geen snelle shop
De eerste versie laadde de lettertypes te zwaar, hield de chatwidget en de vergelijkbalk in de hoofdbundel en reserveerde geen ruimte voor de beelden. Dat laatste gaf een CLS van 0,878. Een dag meten en bijsturen loste dat op.
- Widgets apart geladenChat en vergelijkbalk zitten niet meer in de hoofdbundel
- Twee lettertypes eruitMinder te laden voordat je iets ziet
- Beeldruimte vooraf vastgelegdCLS van 0,878 naar 0,000, LCP van 5,9 naar 2,5 seconden
Lighthouse mobiel, homepage, 28 mei 2026
- Voor de sprint53
- Na de sprint, koude cache78
- Na de sprint, warme cache98
De productpagina ging van 51 naar 74. Die moet meer doen dan de homepage, daar ligt nog werk.
03 Gevonden worden
De fout die we in ons eigen werk vonden
De productlijst zat achter een Suspense-grens met een lege fallback. De pagina stuurde 936 KB aan productdata mee, maar geen enkele link. Google kwam er uiteindelijk bij. De crawlers van ChatGPT, Claude en Perplexity lezen geen JavaScript en zagen het assortiment nooit. In Search Console stonden de merkpagina’s op een mediaan positie van 34,8, met 9.856 vertoningen en 0 klikken.
- 24 producten serversideZichtbaar in de HTML, niet alleen in de data
- Paginatie als gewone linkTe volgen door een crawler, ook zonder JavaScript
- Een script dat alarm slaatZodra een lijstpagina onder de 20 productlinks zakt

- Techniek
- Next.js, React, TypeScript, Supabase, Mollie, Resend, OpenAI en Vercel
- Geleverd
- B2B webshop, kledingmanagementsysteem, medewerkersportaal, branding-configurator, leveranciersfeed, Google Shopping-feed, facturen met eigen nummerreeks, AI-chatbot en performance

Het hart: het kledingmanagementsysteem
Iedereen bestelt zelf. Binnen het eigen budget.
Bij een zakelijke klant bestelt niet één inkoper, maar iedereen. Elke medewerker krijgt een jaarbudget en een eigen omgeving. Wat binnen het budget past, bestelt hij zelf. Wat erbuiten valt, gaat als aanvraag naar de manager.
Het medewerkersportaal is een aparte omgeving. Een medewerker ziet zijn budget en bestelt, zonder bij de rest van het account te kunnen.
- Bedrukken of borduren, per locatie
- Een jas krijgt het grote logo op de rug en het kleine op de borst. De configurator laat je per locatie kiezen uit de logo’s die het bedrijf al aanleverde en rekent de prijs meteen mee, inclusief de eenmalige borduurkaart. Borduurwerk zie je eerst als digitaal voorbeeld.
- Op de hoogte, ook als het weken duurt
- Tussen betaald en onderweg zitten vaak weken inkoop en borduurwerk. In het beheer sturen acht knoppen precies de update die past, met de mail live naast het formulier.
De site zelf
Blader door de pagina’s.
Twee pagina's van de live shop, van boven tot onder. Houd je muis op het scherm om mee te scrollen, of klik voor de hele pagina.Tik op het scherm voor de hele pagina.
De volledige homepage
Werkkleding per categorie en per merk, met de zakelijke ingang meteen in beeld. Van hier klik je door naar circa 4.400 producten.
ropaworkwear.nlMeer werk
Alle cases
Draait jouw shop ook op losse plugins?
Soms is opnieuw bouwen goedkoper dan nog een plugin erbij. We kijken eerst wat je hebt, en zeggen het ook als je beter kunt blijven waar je zit. Zo pakken we webshops laten maken aan, ook voor B2B.
Direct iemand van het team
0318 240 419
