How we built a keyword-driven multi-location SEO structure and increased leads in 2 months
One of my recent clients was a house cleaning company based in Amsterdam, offering premium
cleaning services for homes, offices, and Airbnb properties. Despite great service quality and
word-of-mouth referrals, their online presence was weak, and they weren’t appearing for major
local keywords like “house cleaning Amsterdam” or “cleaning service near me.”
When they reached out through LocalSEOAhmad.com, they wanted help with keyword strategy, landing
page creation, and expanding visibility across multiple neighborhoods in Amsterdam.
My main objective was to make sure their website structure, content, and on-page SEO worked
together to help them rank locally across multiple service areas while improving user
experience.
Dominate local search in Amsterdam for cleaning services.
Amsterdam is home to over 230,000 international residents — one of the largest expat populations of any European capital relative to city size. These residents speak English, search in English, and hire in English. They are a distinct market segment that was being completely ignored online.
When I audited competitors, not a single one had English-language content. Every competing cleaning company website was Dutch-only. This was not an oversight — it was a blind spot in the entire Amsterdam cleaning market. The expat segment was essentially uncontested.
Dutch consumers search on Google.nl using Dutch keywords. Expats search using English keywords. These are two different search universes. The client was only visible in one of them. Building an English-language content layer was the single most effective thing we could do — and it ranked fast because competition was near zero.
Amsterdam's seven district structure also made for a natural programmatic SEO opportunity. Centrum attracts short-term rental properties needing frequent cleaning. Zuid attracts high-income professionals needing regular home cleaning. The content for each district reflected these differences.
Amsterdam's international residents form an entire English-language search market competitors were ignoring.
Every competing cleaning business had Dutch-only content, leaving English searches completely uncontested.
Amsterdam's 7 distinct districts each required unique content reflecting local property types and client profiles.
We started by identifying high-intent local keywords that customers were using to find cleaning services. Instead of just "cleaning", we went specific.
We created dedicated landing pages for each key service area to capture relevant local traffic.
Created Pages For:
Added local business schema
Fixed internal linking
Optimized title tags & meta
Added conversion-focused CTAs
Optimized images (alt text + compression)
Seeing the success in Amsterdam, we expanded the strategy to surrounding cities.
Risk of pages looking too similar.
Unique localized copy with landmarks, reviews, and area-specific needs.
Heavy visual builder loaded slowly.
Replaced heavy sliders, compressed media, improved speed by 4+ seconds.
Every element was built to compound authority over time — not quick wins that disappear when you stop paying.
Amsterdam has 180,000+ English-speaking expats alongside its Dutch-speaking majority. We created both English and Dutch service pages with hreflang tags — doubling the addressable keyword universe from day one.
7 district pages: Jordaan, De Pijp, Oud-West, Centrum, Oost, Noord, Nieuw-West. Each referenced local property types, canal house cleaning challenges, and district-specific pricing context.
Fully optimised listings on Yelp.nl, Gouden Gids, Thuisafgesproken, Werkspot, and Marktplaats. All citations used the correct Dutch postcode format (e.g., 1017 AB Amsterdam) for proper NAP validation.
GBP was entirely in Dutch — excluding the high-value expat market. We added English alongside Dutch in the business description, service listings, and Q&A. GBP posts alternated weekly between both languages.
Dutch customers received WhatsApp requests in Dutch; English-speaking expats received English. Reviews grew from 4 to 38, split 60% Dutch and 40% English — authentically reflecting the real customer mix.
4 articles targeting the international community: 'Best House Cleaning in Amsterdam for Expats', 'End-of-Tenancy Cleaning Amsterdam Guide' and more — all now ranking page 1 for expat search terms.
Real SEO takes time to compound. Here is exactly what happened each month — no inflated claims, no cherry-picked data.
"Muhammad Ahmad helped our cleaning company in Amsterdam rank in the top 3 on Google Maps in just 2 months. Our leads increased by 300%. What I did not expect was how well he understood the Amsterdam market — the bilingual strategy for expat customers was something I had not even thought of. It now represents a significant part of our business."
Creating both Dutch and English content doubled the addressable keyword universe. The expat market — largely ignored by Dutch cleaning businesses — now represents 40% of this client's revenue. A competitive moat nobody else is building.
Getting 38 reviews in 60 days, split authentically between Dutch and English, created a compound SEO signal. Reviews in both languages confirmed to Google that the business genuinely and actively serves both communities.
Amsterdam's distinct neighbourhoods each have their own search demand. Canal house cleaning in Jordaan is searched differently to apartment cleaning in Noord. 7 district pages rank for 50+ keywords competitors miss entirely.
Every campaign teaches something new. These are the lessons from this one.
The fastest way to rank is to target a real customer segment your competitors are ignoring. For this client that was English-speaking expats. We ranked for English keywords in under 4 weeks because competition was essentially zero. Look for language, niche, and neighbourhood gaps before competing on crowded keywords.
Asking Dutch customers for Dutch reviews and English-speaking customers for English reviews produced a profile signalling relevance to both audiences. A business with 38 reviews in two languages communicates broader market trust than one with 80 reviews in a single language.
The 7 Amsterdam district pages each had different conversion rates. The Centrum page converted highest because short-term rental landlords needed reliable frequent cleaning between guests. Understanding what each area's customers actually need makes content far more useful than generic city pages.
Werkspot, Gouden Gids, Thuisafgesproken, and Marktplaats are the four platforms that matter most in the Netherlands. Fewer directories mean each one carries more weight. Quality matters more than volume in smaller markets.
The expat community in Amsterdam is tightly networked on Facebook groups like 'Expats in Amsterdam'. When the first English-speaking clients had a great experience and left English reviews, word spread through these communities and amplified the SEO results beyond what we had anticipated.
The single best conversion feature on the client's GBP listing was the booking button connected to their scheduling tool. Expat customers preferred booking online over calling. Adding this feature increased direct GBP-to-booking conversions by 28% within the first month.
For the Dutch-speaking majority, yes. However, Amsterdam's 180,000+ English-speaking expats search entirely in English. A bilingual strategy with hreflang tags captures both markets simultaneously and typically doubles the addressable keyword universe.
Yelp.nl, Gouden Gids, Thuisafgesproken, Werkspot, and the business section of Marktplaats. All Dutch citations must use the correct postcode format (e.g., 1017 AB Amsterdam) — incorrect formatting fails Google's NAP validation for Dutch addresses.
Yes. I work with businesses in Amsterdam, Rotterdam, The Hague, Utrecht, and other Dutch cities. The Netherlands has relatively low local SEO competition versus UK and US markets — typically meaning faster results. Bilingual strategy is available for businesses targeting both Dutch and English-speaking customers.
Yes. The Dutch content was written by a native Dutch speaker and reviewed for local tone. Machine-translated content reads unnaturally to Dutch consumers and damages trust. For any language other than English, I partner with native speakers for content creation. Authentic language builds authentic trust.
I used Google Keyword Planner and SEMrush to map search volumes for cleaning keywords in both Dutch and English across Amsterdam. Dutch terms had higher volume but more competition. English terms like 'house cleaning Amsterdam expats' had lower volume but zero competition. We built content around both simultaneously.
Yes, and it continued to grow. By month 4, leads were up 380% compared to baseline. The English-language pages kept attracting new expat customers through both organic search and community referrals. After 6 months, the business had to hire two additional cleaners to handle demand.
Get a free Local SEO audit and see how we can grow your calls, leads, and local visibility.
Get My Free Local SEO Audit