Ons werk

Zetelfabriek Cammers: van WordPress naar een Astro-catalogus van 139 pagina's

Hoe we de site van deze Mechelse zetelfabriek, een familiebedrijf sinds 1934, volledig herbouwden in Astro op Cloudflare Workers. Met 50 referentieprojecten, 30 zetelmodellen en 29 herstoffeerwerken, 101 doorwaypagina's die we bewust niet meenamen, en 235 redirects die de opgebouwde vindbaarheid mee verhuisden.

Cammers maakt sinds 1934 zetels aan de Winketkaai in Mechelen, vandaag met de derde generatie aan het roer en een team van 25 medewerkers. Het atelier stoffeerde het KMSKA, het stadhuis van Mechelen, Tomorrowland HQ en restaurant Le Pristine. Dat vakmanschap was op de oude WordPress-site nauwelijks te zien.

Uitdaging

De site draaide op WordPress met Breakdance. De collectie stond verspreid, de referenties waren niet te doorzoeken op sector of op producttype, en de sitemap was opgeblazen met 101 gemeentepagina's van het type stoffeerder-gemeente en meubelwinkel-gemeente. Precies het patroon dat Google onder scaled content abuse plaatst.

Aanpak

Een volledige herbouw in Astro op Cloudflare Workers, met de catalogus als kern in plaats van als bijlage. Elk zetelmodel, elk referentieproject en elk herstoffeerwerk kreeg een eigen pagina met eigen foto's en eigen structured data. De doorwaypagina's gingen niet mee, maar elke oude URL kreeg wel een 301 op intentie.

Een catalogus, geen brochure

De nieuwe site telt 139 pagina's, en het overgrote deel daarvan is werk dat te zien moet zijn: 50 referentieprojecten voor architecten en professionals, 30 zetelmodellen uit de eigen collectie, 29 herstoffeerwerken en zeven blogartikels. Samen goed voor meer dan duizend foto's en zeven filmpjes uit het atelier, allemaal statisch gebouwd en zonder database.

Het referentieoverzicht filtert op twee assen tegelijk: op sector (horeca, kantoor en retail, zorg, restauratie en monument, residentieel) en op wat er precies gemaakt is (zitbanken, zetels, bedden, wanden en panelen). Zo vindt een architect die zoekt naar gecapitonneerde wanden in de zorg meteen het juiste voorbeeld, in plaats van door vijftig projecten te scrollen. De herstoffeerpagina's tonen eerst het resultaat en pas daarna de begintoestand, want dat is de volgorde waarin een bezoeker wil kijken.

101 doorwaypagina's die we bewust niet meenamen

De oude site droeg 101 gemeentepagina's: 50 keer stoffeerder-gemeente en 51 keer meubelwinkel-gemeente, met telkens vrijwel dezelfde tekst en een andere plaatsnaam. Dat levert op korte termijn wat longtail op en op lange termijn een probleem, want Google behandelt zulke reeksen als scaled content abuse.

Ze zijn dus niet gemigreerd. Elke URL kreeg wel een 301 naar de pagina die bij de zoekintentie past: stoffeerder-gemeente naar de herstoffeerhub, meubelwinkel-gemeente naar de zetelcollectie, met een uitzondering voor meubelwinkel-mechelen omdat die term daar reeel scoort en naar de showroom hoort. In totaal staan er 235 vaste 301-redirects plus twee jokerregels, en na de livegang zijn ze stuk voor stuk nagemeten op het echte domein: 235 op 235 komen op het juiste adres uit.

Snel, omdat er weinig te laden valt

Astro levert statische HTML af vanaf het Cloudflare-netwerk, dus er staat geen PHP-proces en geen database tussen de bezoeker en de pagina. De CSS zit in de HTML zelf in plaats van in losse bestanden, de lettertypes Spectral en Jost staan op de eigen server met alleen de gewichten die boven de vouw echt gebruikt worden, en de heldenafbeelding wordt vooraf ingeladen.

Een Lighthouse-meting op de live site geeft 99 voor performance en 100 voor toegankelijkheid, best practices en SEO, met een largest contentful paint van 0,9 seconde. Toegankelijkheid was daarbij geen bijproduct: elk tekstelement op de site is doorgerekend op contrastverhouding, inclusief de doorschijnende lagen erboven, wat 21 plaatsen opleverde waar de merkkleuren onder de WCAG-norm zaten.

Vindbaar bij Google, citeerbaar door AI

Elk paginatype draagt zijn eigen machine-leesbare JSON-LD. Het bedrijf staat er als FurnitureStore met adres, openingsuren en dienstencatalogus, elk zetelmodel als Product, elk referentieproject en elk herstoffeerwerk als CreativeWork met de plaats erbij, de blogartikels als BlogPosting en de veelgestelde vragen als FAQPage.

De blog is opgezet rond echte vragen in plaats van rond zoekwoorden: wat kost het om een zetel te herstofferen, hoe kies je zetelstof, wat betekent een Martindale-waarde voor projectmeubilair. Dat zijn precies de vragen die mensen aan ChatGPT en Perplexity stellen, en een antwoord met cijfers en context erbij is een antwoord dat geciteerd kan worden.

Een formulier zonder captcha, en een verhuis zonder mailonderbreking

Het contactformulier loopt via Astro Actions met validatie op de server, een honeypot en een snelheidslimiet. Geen captcha, want er is geen open endpoint om te misbruiken en de bezoeker hoeft dus geen verkeerslichten aan te duiden. De aanvraag vertrekt als een opgemaakte mail via Resend, met de afzender op het eigen domein en het antwoordadres op de invuller, en de bevestiging verschijnt in de kaart waar het formulier stond in plaats van op een aparte bedanktpagina.

Bij de overstap naar Cloudflare bleef de mail volledig ongemoeid. De MX-records, SPF, DMARC en beide DKIM-selectors van hun Microsoft 365 zijn geteld voor en na de knip; alleen de twee A-records van de website zijn veranderd. De apex kreeg daarbij een eigen redirectregel, want het koppelen van www regelt cammers.be niet mee en zonder die regel was de oude site daar gewoon blijven staan.

De controles zitten in de build, niet in een checklist

Voor een site met 139 pagina's en meer dan duizend beelden is handmatig nakijken geen methode. Daarom draaien er eigen controlescripts over de volledige site: op gebroken links en ontbrekende beelden, op horizontale overloop en te kleine aanraakdoelen op mobiel, op kleurcontrast, op JavaScript-fouten in de console, op de structured data, op de verhouding van elk galerijbeeld, en op het deelbeeld van elke pagina.

Twee daarvan houden de build tegen wanneer ze iets vinden, zodat een fout niet stil kan doorschuiven naar productie. Dat is ook nodig gebleken: de eerste versie van de galerijcontrole leidde zijn adressen af met een slash op het einde terwijl deze site die niet gebruikt, kreeg dus 111 keer een 404 en meldde opgewekt nul problemen. Een groene uitslag zonder inhoud is gevaarlijker dan geen controle, dus elke gate heeft nu een tegentest die moet falen.

139 pagina's

50 referenties, 30 zetelmodellen, 29 herstoffeerwerken en zeven blogartikels, statisch gebouwd en zonder database.

235 op 235 redirects

Elke oude WordPress-URL 301 naar zijn nieuwe adres, na de livegang stuk voor stuk nagemeten op het echte domein.

99 op Lighthouse

Performance 99, en 100 voor toegankelijkheid, best practices en SEO, gemeten op de live site.

Gebruikte tools

Astro
Cloudflare Workers
Astro Actions
Resend API
PhotoSwipe en Swiper
Google Analytics 4
Google Search Console
Claude Code en MCP-integraties

Project in beeld

Jouw project als volgende case?

We werken met Vlaamse KMO's die willen groeien.

Via Shopify, performance marketing en AI.

Klantenervaringen

Ervaringen van klanten

Waarom ondernemers graag met ClickForest blijven werken.

Uitstekend op Google5.0★★★★★gebaseerd op 24 beoordelingen