Clinique Dermatologie Gent — from head to toe
For Clinique Dermatologie Gent we built rather more than a website. A site in three languages, a sister site, an appointment tool, gift vouchers, online consultations, treatment plans, invoicing and a newsletter: one platform carrying the entire patient journey, from the first search to the final invoice.
The challenge
Clinique Dermatologie Gent sits on the Hippoliet Lippensplein in Ghent, led by Dr Griet Voet. Under one roof: medical dermatology, aesthetics, laser and surgery — and a doctor who turns up on the radio and in the papers remarkably often, to explain why sun cream is not a needless luxury in Ghent either.
A clinic of that calibre does not run on a website alone. Patients have to find the right treatment and the right diary. People want to buy their mother a gift voucher. Doctors want to know what they are dealing with before the consultation starts. Staff want to send patients home with a clear schedule, the back office wants invoices that add up, and marketing wants a newsletter. Preferably all in the same refined house style, and preferably without ten separate subscriptions.
So we built it. Not in one go, but piece by piece — from head to toe.
The website: refined, calm and medically sound
A dermatology clinic has to inspire trust without turning cold. The site got plenty of white space, a warm gold, Cormorant Garamond for the headings and Jost for the body text. The design was approved and then frozen — not with liquid nitrogen, with a signature. Every later addition had to stay inside those lines, pixel by pixel.
Behind the scenes, the clinic holds all the keys. More than 35 treatment pages got extensive medical texts, buttons through to the appointment tool, tags linking to related treatments and previous/next navigation within the category. The body of a treatment page is a free-form builder: text, headings, images, quotes and buttons, with no developer required. Alongside that: press and media, job vacancies, a gift voucher button in pink and a header that shrinks gracefully as you scroll.
Three languages, not a scratch
You do not turn a live site with hard-won search rankings multilingual with a bang. We chose to leave Dutch on the root, without a prefix, and to put French and English beside it under /fr and /en. The result: not one existing link broke, and not a single redirect was needed.
First a local copy of the live site went up, so we could test without holding our breath. Then 177 content files were converted to their Dutch version in one sweep, every interface string got a translation key, and we delivered a first French and English version of 48 pages for the clinic to proofread in the panel. Every page knows its own language versions through hreflang, the sitemap ties them together, and the structured data knows which language it is speaking too. On 2 July the lot went live in one go.
Getting found, from Bruges to Hasselt
Plenty of patients are happy to drive a fair way for this clinic. So the site got a landing page per city: Antwerp, Bruges, Brussels, Hasselt, Kortrijk and Leuven. Not hidden doorway pages with the same text and a different city name, but each with its own story, travel information and the reasons the trip to Ghent is worth it. A city domain such as cdantwerpen.be forwards neatly with a 301, so Google only ever sees one page.
On top of that, near enough every indexable page got its own title and description, and structured data explains to search engines what a dermatology clinic actually is: MedicalClinic with its physician, breadcrumbs, medical web pages, and vacancies as JobPosting for Google Jobs. And somewhere along the way we discovered that robots.txt was returning a 403: an over-strict server rule was blocking every text file. Even Google was left knocking at the door. One exception later, it was allowed in.
The appointment tool: a friendly front door
The doctors' diaries live in Mediris. What was missing was a friendly front door: what is this treatment exactly, and who should I be seeing? On afspraak.dermatologiegent.be you will find 52 treatments in categories and subcategories, with a search field that keeps up while you type. One click takes you to precisely the right diary. Not sure? Then /hulp lets you ask for a phone call on a day and at a time that suits you.
The clinic runs all of it itself: drag treatments into the right order, show or hide the price and duration per treatment, set holiday closures and edit the texts in Dutch and English — French is sitting ready to be switched on.
In the interest of honesty: in May we first built a complete diary of our own, with rooms and time slots. Five days later we replaced it with a simple hand-off, because Mediris already did that. A kiosk mode for the reception screen did not make it to the summer either: born on 21 May, buried on 17 June. Sometimes the best code is the code you are willing to throw away.
Gift vouchers: the present that always fits
Giving a treatment as a present should be as easy as ordering a book. On /cadeaubon you pick an amount, write a personal message and pay by card or Bancontact through Stripe. Only once Stripe confirms the payment through a signed webhook does the voucher roll out: an elegant PDF with a QR code, to the buyer and, if you like, straight to the lucky recipient as well.
At the desk, reception scans the QR code and writes off the amount used. That can be done in instalments, with a full history, and a slip of the finger is undone with one click. Vouchers sold at the desk are created by hand in the same system. From first version to first redemption: two days.
Online consultations: the doctor is already looking
For some conditions, acne among them, the process starts online. The patient fills in a questionnaire, adds three photographs taken in daylight, pays and gets a confirmation. The doctor receives a clear intake PDF with every answer and the photographs neatly side by side.
The clinic builds those consultations itself. A questionnaire builder lets them add, reorder and move sections and questions, with single or multiple choice, free text and the inevitable ‘other, namely…’. Every type of consultation has its own price, its own emails and its own direct link. The national register number is compulsory, and unfinished submissions disappear with one click — you do not keep photographs of somebody's skin any longer than you need to.
Treatment plans, pocket-sized
After the consultation, the patient goes home with a clear schedule: what in the morning, what in the evening, which additional treatment, what to watch out for and when to come back. Staff put that plan together in a separate platform, from a template or from scratch, and print it or email it there and then.
The result is a handy PDF of 105 × 200 mm. It started life as A5 and was cut down to size a day later. Results templates came along afterwards, so the clinic can send test results with attachments in the same house style.
Admin, invoices and permissions
It all comes together in one admin panel with ten menus: treatments, help requests, gift vouchers, consultations, treatment plans, invoices, messages, settings, statistics and users. The invoicing module numbers sequentially per year, freezes the standard texts and the account number on every invoice so a reprint is always identical, produces an A4 PDF, emails it and chases it until it is paid. One-off messages with attachments go out from the same panel, with a log of everything sent.
Not everyone needs to see everything. Alongside the administrator there are restricted users with their own selection of menus. Those permissions are not simply hidden in the interface; they are checked against the database on the server with every single request. And Major Tom? Superadmin, and invisible in the user list, like any decent caretaker.
Newsletter and statistics
The clinic wanted a newsletter, but not Mailchimp. So we connected the site to Mailshake, the mailing tool Major Tom built itself. Signing up works on a dedicated newsletter page and at the foot of every page, without a reload. Anyone who signs up lands in the waiting room first and only receives mailings after a genuine double opt-in, through a confirmation email carrying the clinic's logo. Confirming is done with a button, so an over-eager spam filter cannot accidentally click ‘yes’.
Visitors are counted with Fathom Analytics: privacy-friendly, no cookies and therefore no consent question. The figures for the site and the appointment tool sit right in the admin panel. Only the Facebook pixel waits politely until a visitor says ‘yes’ in the cookie banner.
huidscan.be: not just a scan
The clinic offers a 3D skin scan that images the entire body in order to keep track of moles. That service got a site of its own, huidscan.be, in exactly the same house style but with its own story: a scan and a skin check by a doctor during the same visit, with a secure copy of the images to take home.
Advertising in healthcare is regulated, and we respect that. The site names no competitors, does not shout that it is better and does not sell AI as a replacement for the doctor. It calmly explains what you get, what it costs and why having a doctor there makes the difference. Eight pages, an FAQ with structured data and price cards — live since 20 July, on its own server.
How we work
Everything here runs live, with real payments and real patients. Which leaves no room for experiments on the production server. So the platform grew in small, reversible steps: 54 releases of the appointment tool, every one checked before it went live, with a way back where it mattered. Big features started with a few pointed questions, not with code. Deploys of the websites touch code only, never the content the clinic manages itself.
We learned a thing or two along the way. On 17 June an external library suddenly served up a newer version and the appointment tool went down. It was fixed the same day, and every external version has been pinned ever since. Making a mistake is fine; making the same one twice is not.
Under the bonnet
- Websites — dermatologiegent.be and huidscan.be on Kirby 5 (PHP 8.4), multilingual with hreflang, structured data, a sitemap per language and panel management for all content.
- Web app — Node.js and Express with SQLite on Railway; the interface in React, deliberately without a build step and with pinned versions.
- Payments — Stripe Checkout with card and Bancontact, confirmed through a signed webhook.
- Documents — four PDF generators: gift voucher with QR code, intake with photographs, treatment plan at 105 × 200 mm and invoice on A4.
- Email — SendGrid with configurable senders per component and emails in the house style; newsletter through Mailshake with double opt-in.
- Security — roles with server-enforced menu permissions, compulsory fields where medically necessary and clean-up of unfinished submissions.
- Measuring — Fathom Analytics, cookie-free, straight in the admin panel.
The result
Clinique Dermatologie Gent does not have a website with a few loose tools around it, but one digital platform that carries the entire patient journey. From the first search in Kortrijk to the invoice marked paid, all of it in the same refined style.
- Findable in three languages — Dutch, French and English, with landing pages for six cities and structured data for Google.
- Fewer phone calls, better appointments — patients find the right treatment and the right diary themselves, or ask for a call back when it suits them.
- New income, no paperwork — gift vouchers and online consultations are paid for and handled online.
- Care that goes home with the patient — treatment plans and results in the house style, put together in a few clicks.
- The clinic in the driving seat — texts, treatments, questionnaires, invoices and users are managed by the team itself, each with the permissions their role calls for.
Online Registrations — event registration platform
Platform & custom build →