123Couvreur · Roofing · SEO launch · 2026
How 123Couvreur reached 95,129 organic impressions in nine months
A brand-new roofing site in one of Quebec's most competitive local trades. Nine months in, it is being shown 95,129 times a period in search — the visibility phase that has to come before the clicks.

95,129
organic impressions
nine months from launch, starting at zero
The results, up top — every number is in the strip below
95,129
organic impressions
nine months from zero
113
organic clicks
early visibility phase, stated honestly
9 mo
since launch
new domain, saturated trade
0
starting authority
no organic history at all
100%
unique location pages
no duplicated area templates
01 — The challenge
A new domain in one of the most competitive local trades there is.
Roofing in Quebec is saturated: established contractors, aggregator lead-sellers and directories all compete for the same searches, and most of them have years of authority behind them. 123Couvreur started with a new site and no organic history.
We are reporting this one at the stage it is actually at. Ninety-five thousand impressions against 113 clicks is a site that Google has decided to show but not yet to rank highly — a normal and necessary phase, and one worth documenting honestly rather than waiting to dress it up later.
“Roofing is the most crowded market I could have picked. I did not expect to be on page one in three months — I wanted to see that we were moving.”
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.
Which is exactly the right expectation. In a from-scratch roofing build, impressions move first, positions second and clicks third; a program judged on clicks in month three gets abandoned right before it works.
02 — Our approach
Earn coverage first, then compete for position.
The build prioritised breadth of legitimate coverage: the roofing services actually offered, the problems that trigger a call, and the areas genuinely served — each as a real page written to be useful rather than as a template filled with a city name.
Duplication was the main risk. Location pages in a trade like this drift into near-identical copy, which suppresses indexation and wastes the entire investment, so each page was built to say something specific about its area and service.
Technical foundations and indexation monitoring ran continuously, because for a nine-month-old domain the question is not yet where you rank, it is whether Google has crawled, understood and chosen to show the page at all.
03 — What we did
Legitimate coverage, no duplication, relentless indexation checks.
Documented mid-build, at the phase most case studies quietly skip.
Legitimate coverage
Real pages, not templates with a city swapped in
Services offered, problems that trigger a call, and areas genuinely served — each written to be useful on its own. Coverage earns indexation; templates get ignored.
Drop content map
Duplication control
The failure mode of every location build
Near-identical area pages suppress indexation and waste the whole investment. Each page was required to say something specific about its area and service before it shipped.
Drop duplication audit view
Indexation monitoring
The only metric that matters in month three
For a nine-month-old domain the question is not ranking position, it is whether Google has crawled, understood and chosen to show the page. That was tracked continuously.
Drop indexation / coverage report
Reported mid-build
Published the phase most case studies hide
95,129 impressions against 113 clicks is a site being shown but not yet ranked. That is a normal stage of a from-scratch build, and stating it is more useful than waiting to present it as something else.
Drop impressions trend chart
The stack we ran it on
Google Search Console
SEO
Ahrefs
SEO
Screaming Frog
SEO
Webflow
CMS
GA4
Analytics
Google Business Profile
Local
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)


