Nettoyage Danfour · Duct & ventilation cleaning · SEO · 2026
How Nettoyage Danfour tripled its organic visibility in twelve months
Paid search was already producing leads on a fixed budget. Organic was the compounding half: impressions from 32,570 to 106,708 and clicks nearly doubled over twelve matched months.

+228%
organic impressions
32,570 → 106,708 over twelve matched months
The results, up top — every number is in the strip below
+228%
organic impressions
32,570 → 106,708
+92%
organic clicks
437 → 839
12 mo
matched comparison window
every month reported in both years
2
channels working together
SEO informed by paid search data
0
extra ad budget required
organic compounds on its own
01 — The challenge
Almost no organic presence in a local market that searches first.
Homeowners looking for duct cleaning search before they call, and they search locally. Nettoyage Danfour had a functioning site but very little organic visibility — around 32,000 impressions and 437 clicks in a year, which for a Montreal service area is a rounding error.
With a fixed advertising budget, that gap mattered twice: every branded and high-intent search the site could not rank for had to be bought instead.
“The ads work, but they stop the day I stop paying. I wanted something that keeps bringing people in when I am not spending.”
Illustrative quote — written by Web Tonic to put the results above in an owner’s words. It is not a statement provided by the client.
That is the honest case for organic in a local service business: it is slower, it compounds, and it makes the paid account cheaper by absorbing the demand that should never have needed a click.
02 — Our approach
Rank for the service, the season and the neighbourhood.
We built coverage around how the service is actually searched: the service itself, the reasons people book it, and the specific areas served. Local service SEO rewards specificity over volume — one page that genuinely answers a neighbourhood-level query outperforms a page written for a national keyword.
Technical and on-page fundamentals came first because they gate everything else: crawlable structure, clean titles and headings, correct local markup, and pages fast enough on mobile to survive a homeowner's patience.
Then we let the paid account inform the organic plan. Search-term data from a live Google Ads account is the best keyword research available — it shows which queries produce booked jobs rather than which ones have volume, and the content roadmap was ordered by that evidence.
03 — What we did
Fundamentals, local coverage, paid-informed content.
Nothing exotic. Executed in the right order, over twelve months.
Technical foundations
Fixed what was gating every other gain
Crawlable structure, clean titles and headings, correct local markup, and mobile pages fast enough to hold a homeowner's attention. Unglamorous and non-negotiable.
Drop technical audit summary
Local coverage
Pages for the neighbourhoods, not just the city
Local service SEO rewards specificity. Coverage was built by service, by reason-to-book and by area served, because a page that answers a neighbourhood query beats one written for a national keyword.
Drop keyword coverage view
Paid-informed content
Used real search terms instead of keyword volume
The live Google Ads account shows which queries produce booked jobs, not just which have volume. That evidence set the content order — the single biggest advantage of running both channels together.
Drop search terms / keyword mapping
Compounding measurement
Reported on matched months only
Growth is only claimed across months where both years have data. It produces smaller headlines than the alternative and it is the only version that survives scrutiny.
Drop impressions and clicks trend chart
The stack we ran it on
Google Search Console
SEO
Ahrefs
SEO
Screaming Frog
SEO
GA4
Analytics
Google Business Profile
Local
Google Ads
Paid search
AgencyAnalytics
Reporting
Looker Studio
Dashboards


“Web Tonic did in six weeks what our last two agencies couldn't in a year — and for the first time we could see every dollar of it”










.webp)
.webp)


