Skip to content
M MYKHALCHENKO.consulting
Astro SEO Web Development Google Business Profile

Website Redesign & Local SEO

Website rebuild and local SEO for a dental practice in Zug. Moved from slow WordPress to a static Astro build. Organic visibility tripled in four months.

2025
Dental Practice, Zug
Web Developer & SEO Consultant

The Situation

A dental practice in Zug came to me running on a WordPress site built back in 2018. It was slow, scored 48 on Lighthouse mobile, and was effectively invisible in local search. The whole practice ran on word-of-mouth and existing patient referrals. Online, it barely existed.

The Google Business Profile told the same story: claimed, but half-finished. No photos, no services listed, no posts in over two years. Eleven reviews averaging 4.3 stars, almost all from long-term patients.

New patient enquiries through the website: fewer than five a month.

What I Did

Rebuilt the site. I dropped WordPress and rebuilt on a static Astro build. No plugins, no database, no PHP. Five pages (home, services, team, insurance, contact) that load in under 800ms on mobile and score 100 on Lighthouse across every category.

I rewrote the copy around how patients actually search: “dentist Zug,” “Zahnarzt Zug city centre,” “dental hygiene Zug.” No keyword stuffing, nothing that reads like it was written for a crawler instead of a person.

Laid the technical SEO foundation. Every page got a proper title tag, meta description, canonical URL, and Open Graph data. I added LocalBusiness structured data with opening hours, address, and services, and submitted a sitemap to Google Search Console on day one.

Rebuilt the Google Business Profile. I completed the profile in full: primary category set to “Dentist,” 18 services with individual descriptions, opening hours including public holidays, 24 photos of the interior and the team, and a 750-character description written for local search intent.

Then I set up a weekly posting schedule and showed the staff how to ask patients for reviews after appointments, using a direct link dropped into the appointment confirmation emails.

Migrated the hosting. The site moved to Cloudflare Pages: global CDN, automatic HTTPS, zero hosting cost. A GitHub push goes live worldwide in under 30 seconds.

Results After Four Months

  • Lighthouse mobile performance: 48 → 100
  • Google local pack ranking for “Zahnarzt Zug”: not ranked → position 2
  • Google Business Profile reviews: 11 → 47 (avg. 4.7 stars)
  • Monthly new patient enquiries via website and GBP: 4 → 31
  • Hosting cost: reduced from CHF 49/month to CHF 0

The practice now ranks in the local pack for the three most-searched dental terms in its area, and most new enquiries mention finding it on Google.

What Made the Difference

Two things drove most of the gain.

First, fast load times and clean HTML gave Google something it could actually index and understand. The old site leaned heavily on JavaScript to render content, so a crawler saw a blank page until that JavaScript ran. The static site serves fully rendered HTML the moment it’s requested.

Second, the Google Business Profile. The practice wasn’t missing from the local pack because it was a bad business. It was missing because its profile was incomplete and inactive. Forty-seven reviews and a finished profile moved it from nowhere to second position in four months, without a franc of paid advertising.

The lesson holds for almost every local business: local visibility isn’t mainly a budget question. It comes down to profile completeness, review volume, and site performance, all of which are one-time or low-cost work.