One address in Zelzate, findable in thirty-six towns

CASE REPORT — 2026

A locksmith is only ever hired twice: the night you are locked out, and the week you decide the front door is not good enough any more. Both searches are local, both are urgent, and neither forgives a slow page. Slotenmaker 9060 works out of a single base in Zelzate and covers two provinces — so the site had to earn the local search in towns the van visits, without ever pretending to have a branch there.

Slotenmaker 9060 — homepage

One van, two provinces, no branches

Slotenmaker 9060 is named after the postcode it works from — Zelzate, on the canal between Gent and Terneuzen. From that single base the van covers Oost- and West-Vlaanderen: the student streets of Gent, the coast at Knokke-Heist and Oostende, the quiet villages around Assenede and Kaprijke.

The brief had three parts. Be findable in every town the van actually reaches, without inventing offices that do not exist. Earn trust at two in the morning, when the person searching is standing outside in the cold. And get the daily work — the call, the intervention, the stock, the invoice — out of a notebook and into something that remembers.

Screenshot: the review block on slotenmaker9060.be showing the Google rating and recent customer reviews
Reviews pulled from Google, not retyped by hand.

Thirty-six towns, each written once

The reach is the whole commercial argument, so it got the real work. Thirty-six towns have their own page, split across two provinces and sorted into two tiers: the cities that carry the volume — Gent, Brugge, Kortrijk, Oostende, Roeselare — and the smaller places around them.

Each town also carries a profile, because a locksmith page for a student city is not the same page as one for the coast. A studentenstad talks about shared front doors and lost keys in September. A kust page knows half the buildings are holiday rentals with code locks. A landelijk page is honest about travel time. Thuisbasis is Zelzate itself, and says so.

No page claims a branch. Every one of them says where the van leaves from.

Screenshot: the regio overview on slotenmaker9060.be listing towns across Oost-Vlaanderen and West-Vlaanderen
Two provinces, thirty-six towns, one honest address.
Screenshot: the Gent town page on slotenmaker9060.be with local anchors, arrival time and nearby towns
Gent — a student city, written as one.

Six services, priced before the van leaves

Six things get done: opening a door after a lockout, replacing locks, emergency repair after a break-in attempt, fitting SKG security cylinders, opening cars, and key plans for landlords and businesses.

Each one is a page rather than a bullet, because each one is a different search at a different moment. The promise repeats on all of them and never moves: a fixed price on the phone before anyone drives out, damage-free opening attempted first, a numbered invoice afterwards.

Screenshot: the six services on slotenmaker9060.be from lockouts to key plans for landlords
Six services, each with its own page.
Screenshot: the service page for opening a door after a lockout, with the fixed-price promise
The lockout page — the one people find at 2am.

Rendered on the server, not in the browser

HTML that exists before JavaScript does. Dedicated functions render the core pages, the town pages, the service pages and the blog as real HTML on the server. A crawler gets the content on the first request rather than an empty shell.

A sitemap built from the data. The sitemap is generated from the entities, so a new town or a new post is listed the moment it exists — nobody maintains an XML file by hand.

Reviews as records. Google reviews and the rating summary live as entities and render into the page, so the social proof is part of the HTML instead of an iframe a crawler ignores.

Local structure. Every town page carries its own title, description and canonical, plus nearby towns and local anchors — enough to be specific, never enough to imply a branch.

Screenshot: the contact page on slotenmaker9060.be with the phone number, address in Zelzate and request form
One number, one address, answered around the clock.

From the phone call to the invoice

Behind the login the same job appears again, this time as work. The pipeline runs from Inbound — a form filled in, urgency flagged — through contact, quote, planned intervention, payment and completion. Dragging a card is the whole status update; the moment it lands, the change is written and logged as an activity.

The dashboard is the morning screen: what came in overnight, what is out on the road today, what is still unpaid.

Animation: the Slotenmaker 9060 CRM dashboard scrolling through today's leads, interventions and outstanding payments
The morning screen.
Animation: dragging a lead card from Offerte verstuurd to Interventie gepland in the pipeline
Offerte verstuurd to Interventie gepland — one drag.

What was fixed, and what is left in the van

An intervention records more than a date. It carries the priority — Spoed, Vandaag, Gepland — the time slot, the amount, how it was paid, and a written note of what was actually done: *schadevrij geopend met slagsleutel, cilinder versleten, vervangen door SKG** 30/35*. That note is what the follow-up email quotes back, and what settles a question three months later.

Stock is counted in two places, the van and the shelf, and every item carries a minimum. Anything below it is a reorder, which is a question the assistant can answer without anyone opening a spreadsheet.

Animation: the interventions register in the Slotenmaker 9060 CRM, showing urgent jobs, time slots and what was fixed
Every job, with what was actually done.
Animation: the stock list showing cylinders in the van and on the shelf, with items below their minimum
Van and shelf, counted separately.

Landlords, syndics and key plans

The other half of the work never calls at 2am. Letting agents, landlords, syndics and companies get their own records: how many properties, whether there is a master key plan, what was agreed on price, and whether the account is still active.

It is the least dramatic screen in the build and probably the most valuable one — a cylinder swap between tenants is a small job that happens forty times a year, and the terms should not have to be renegotiated each time.

Screenshot: the business clients screen showing letting agents and syndics with property counts and key plan notes
Key plans and agreed rates, written down once.

Meet Milan

Milan is the CRM's assistant, and the brief for him was mostly restraint. He answers in Dutch, in at most eight lines, with no preamble and no closing pleasantries. He only uses what is in the records; if it is not there, he says so in one line.

Two questions carry most of the value. *Wat moet ik bestellen?* returns only the stock below its minimum — item, count against minimum, where it lives. *Wat moet ik doen vandaag?* returns the urgent inbound leads nobody has answered, today's interventions, overdue tasks and anyone still owing money.

He also drafts the follow-ups, quoting what was fixed, and signs them properly.

Animation: asking Milan what needs ordering and receiving the list of stock below its minimum
Asked what to order — answered in four lines.

Under the hood

Workflows. A new inbound lead becomes a follow-up task straight away — the rule is two hours, and urgency is flagged on the record rather than remembered. A completed intervention triggers a review request. Milan writes a short daily briefing before the first coffee.

Roles and indexing. The public site is one app, the CRM sits behind a login with an admin check, and everything behind that login is noindex.

Honest reach. Thirty-six town pages, one address, and no page that implies otherwise. The van leaves from Zelzate and every page says so.

Vindbaar worden in elke stad waar je komt?

Same approach, whatever the trade: pages that earn the local search, and a back end that keeps the work out of your inbox.

Plan een gesprek


Run a free website scan · More cases · JustMarket.Me