Case study - healthcare
Medical Family: a Lisbon clinic site built to compete with aggregators
Medical Family is a dental and medical clinic at Rua José Farinha 32B in Carnide, Lisbon. In 2026 Digiton built the clinic a new website: a static Next.js build with online booking, automated lead alerts to the clinic team, and one SEO page per treatment, written in European Portuguese. The brief was plain. When someone in Lisbon searches for a treatment this clinic performs, the clinic's own page should have a real shot at that click.
Platforms sit between clinics and their patients
Search "implantologia Lisboa" and the first screen belongs mostly to marketplaces. Doctoralia and platforms like it rank because they publish structured, indexable pages for every specialty in every city, while the average clinic site gives Google a homepage, a phone number and little else. That imbalance decides the ranking before any clinic writes a word.
The cost is control. When an aggregator wins the search, the platform owns the first contact and the booking flow, and the clinic appears as one card in a grid, sorted beside its competitors by an algorithm it cannot see. The demand those platforms monetize is demand the clinics themselves created. It is the same squeeze restaurants took from delivery apps: aggregate the demand, then charge the supplier for access to it. Medical Family covers eleven clinical areas, including implantology, orthodontics, sleep medicine and pediatric dentistry. Every one of those areas is a search typed in Lisbon every day, and every one needed a page of its own.
Why local search decides it for a Carnide clinic
A neighborhood clinic lives on a radius. Medical Family sits near Farmácia Carnide, with parking and public transport close by, and its patients mostly come from the surrounding parts of Lisbon. For a business like that, ranking for "dentista Carnide" is worth more than any national keyword. Local results are also where Google rewards verifiable detail: a consistent name, a real address, posted hours, a phone number that answers. The clinic is open 8:30 to 21:00 on weekdays and until 19:00 on Saturdays. Those hours belong in the search results, in a format machines can read.
The positioning had to survive the redesign
Medical Family presents itself with the line "hospitality of luxury in a safe clinical environment", and the website had to carry that promise before a patient ever reaches the door on Rua José Farinha. A clinic that positions on hospitality cannot greet people with a slow template and a buried phone number. So the build treats the site as the first waiting room. It opens fast, lays out the eleven clinical areas plainly, and puts booking one tap away. Nothing on the page competes with the two actions that matter, reading about a treatment and requesting a consultation.
What Digiton built in 2026
Four pieces, one build:
- A Next.js website, statically generated, so each page ships as pre-built HTML.
- An online booking flow, the "marcar consulta" button patients expect on a Portuguese clinic site.
- Automated lead notifications, so the clinic team hears about a new request the moment it arrives.
- A dedicated page per treatment, each written in European Portuguese and aimed at one search intent.
Under it all sits local search groundwork: structured data that describes the clinic, its address and its opening hours in a format Google parses directly.
The build at a glance
| Piece | What it does |
|---|---|
| Static Next.js site | Pages pre-rendered at build time, served as plain HTML |
| Marcar consulta flow | Booking requests captured on the clinic's own domain |
| Lead notifications | The team is alerted automatically on every new request |
| Per-treatment pages | One Portuguese page per clinical area, one intent each |
| Structured data | Address, hours and services in machine-readable markup |
Why static Next.js for a clinic
Speed decided it. Clinic content changes rarely, and patients arrive on phones, often on mobile data, sometimes mid-toothache. Static generation renders every page once at build time, so a visitor in Carnide receives plain HTML with nothing computed on request. No database call. No plugin stack to patch. The pages sit on a CDN and load at the speed of the network.
Fast pages pay twice. Patients give up on slow sites, and Google folds page experience into local rankings, so one build choice serves the person and the crawler at once. A static site also has a small attack surface. On a healthcare site, where trust is the product, that is worth real money. When content does change, a new treatment or an updated schedule, the site rebuilds and redeploys, and the fresh pages are static again the moment they go live.
Structured data: telling Google this is a real clinic
A local clinic carries facts a search engine can use directly: the address at Rua José Farinha 32B, 1500-629 Lisboa, opening hours that run weekdays 8:30 to 21:00 and Saturdays to 19:00, phone numbers, and the list of treatments performed on site. The build marks these up as structured data, the machine-readable layer behind local packs and rich results.
Trust signals live on the page too. The site names the medical team, led by clinical director Dr. Pedro Ponce and including dentists Dr. Bibiana Correia and Dr. Ricardo Nunes, and it carries the clinic's ERS registration, E158013. Patients check these details before booking a health appointment. Search engines score health pages on the same signals, because a page about implant surgery gets held to a higher credibility bar than a page about shoes.
One page per treatment, in the patient's language
Nobody searches "clinic". People search the fix they want, queries like "implantes dentários Lisboa" or "ortodontia Carnide". So each of Medical Family's clinical areas gets a page of its own:
- Implantology, plus the immediate load protocol the clinic presents as teeth in one day
- Orthodontics
- Periodontics and restorative dentistry
- Oral rehabilitation and maxillofacial surgery
- Pediatric dentistry
- Sleep medicine with oral devices
- Physiotherapy and clinical analysis
Each page answers one intent and carries its own metadata and markup. All of it reads in the European Portuguese its patients search in. Named detail does the rest of the work: clinical analysis, for instance, runs in partnership with Germano de Sousa, and the site says so plainly. That specificity is what separates a real clinic page from the thin content Google has learned to skip. This is the same structural play the aggregators run, executed at clinic scale for the clinic's own benefit.
Booking stays on the clinic's own domain
The marcar consulta flow keeps the request where it belongs. A patient submits a booking request on the clinic's site and the team receives an automated notification straight away. There is no marketplace in the middle and no competitor card beside the clinic's name. Alongside booking, the site offers avaliação online, an online evaluation request for patients starting further back in the decision.
The notification half matters more than it sounds. A clinic that runs twelve-hour weekdays has a front desk busy with the patients physically in the room, and a web request that sits unread in a shared inbox for a day often turns into an appointment somewhere else. Automated alerts let the team answer while the patient is still deciding.
A Portuguese site for an international patient base
Medical Family serves Portuguese patients alongside international ones, a normal mix for a Lisbon clinic in 2026. The site's core language is European Portuguese, because local rankings are decided in the language of the searches. The practical details an international patient needs sit right on the page: the Carnide address, the phone numbers, and the insurers the clinic works with, including Advancecare, Multicare, SAMS and Medis. A visitor who reads little Portuguese can still find the door, the hours and the booking button.
The pattern travels
The parts of this build repeat for any clinic in Portugal. A fast static site. One page per clinical area. Structured data that spells out address, hours and services. Booking and alerts running on the clinic's own domain instead of a marketplace profile. See the live result at Medical Family.
Digiton builds this stack for dental and medical clinics that want their own pages competing for their own patients. The website is the ground floor. The same lead notifications that alert the team today are the hook where reception automation and follow-up land next. The groundwork also feeds what comes after Google, because per-treatment pages with structured data are exactly the material AI search assistants pull from when someone asks for a dentist in Carnide. If a marketplace outranks your clinic for your own treatments, the fix is structural, and this build is the template.
Frequently asked questions
What did Digiton build for Medical Family?
A static Next.js website for the Lisbon clinic, shipped in 2026. It includes an online booking flow (marcar consulta), automated lead notifications to the clinic team, one SEO page per treatment written in European Portuguese, and structured data covering the clinic's address, opening hours and services for local search.
Why does a clinic need per-treatment pages?
Patients search for treatments, and rankings are won page by page. A query like "implantologia Lisboa" gets matched against pages about implantology in Lisbon, and a clinic with only a homepage cannot compete on dozens of treatment queries. Medical Family covers eleven clinical areas, so the site gives each one its own page and its own target search.
Why Next.js instead of WordPress?
Clinic content changes rarely, so pages can be rendered once at build time and served as plain HTML. That keeps the site fast on mobile connections. It also removes the plugin and database maintenance a WordPress install drags along, and it shrinks the attack surface, which matters on a healthcare site.
How does a single clinic compete with Doctoralia?
By running the same structural play at clinic scale. Aggregators rank because they publish an indexable page for every specialty and city. Medical Family's site does the same for its own eleven clinical areas, backed by structured data and fast static pages, with a booking flow that keeps the patient on the clinic's domain instead of a marketplace profile.
Does the site serve international patients?
Yes. The clinic treats Portuguese and international patients, and the site is built in European Portuguese because that is where local rankings are decided. The details an international patient needs are on the page: the address at Rua José Farinha 32B in Carnide, phone numbers, opening hours, and the insurers the clinic accepts.
What is the local search groundwork?
Structured data describing the clinic as a local health business: name, address, phone, opening hours and treatments in markup Google reads directly. It is the foundation for appearing in map packs and rich results for searches like "dentista Carnide", and once built into the site it costs nothing to maintain.
Related
Ready to put AI to work?
Book a discovery audit and we will map the highest-ROI AI agents and automations for your business.
Book a discovery audit →