Case Study · NewRoof Contractors · Dublin
From storm-season panic to 92 map pack calls a month — NewRoof Contractors.
NewRoof had everything roofers usually have — a van, a crew, and a one-page WordPress site that Google ignored. Every storm season the phone rang because they were the third number a panicked homeowner tried, not the first. We rebuilt the site as a Service Area Business, built emergency-repair landing pages, and dialled in 14 Dublin postcode pages. Six months later they were the first call.
Where they started
Brian had been doing roofs in Dublin for fifteen years before he set up NewRoof. The work was good, the reviews were five-star wherever a customer happened to leave one, and the crew was kept just busy enough by repeat work and word-of-mouth. But every winter the same pattern repeated: a storm rolled through, the phone went quiet for two days, and then half the calls were apologies — "sorry, I tried two other roofers first, you came up third on Google."
The website was a single WordPress page with a hero photo, a phone number, and a list of services. The Google Business Profile had a real address pinned to Brian's house — not ideal for a Service Area Business — and 11 reviews Brian had collected manually over four years.
The actual problem
This was a near-textbook trade SEO failure pattern:
- GBP set as a storefront at a residential address, instead of a Service Area Business covering the postcodes Brian actually drove to. Result: invisible in the 3-pack across most of his real catchment.
- Single services page trying to rank for slate roofs, flat roofs, gutters, fascia, soffit, leaks, and emergency repairs. None of them ranked. Roofers two postcodes away — half the experience — owned every map.
- No emergency-repair landing page, despite emergency callouts being 40% of his peak-season revenue. Storm seasons should have been his moment. They were his slowest weeks for inbound.
- 11 Google reviews against competitors with 60–80. Every comparison-stage homeowner filtered him out before reading a word.
- Zero postcode pages. "Roofer Rathfarnham", "roof repair Castleknock", "flat roof Tallaght" — every one of those queries went to a competitor.
What we did
The win sequence for trade SEO is well-established. We applied it cleanly. No tricks, no shortcuts, no link buying — just the discipline of doing every step properly in the right order.
01 · Week 1SAB conversion + GBP rebuild
Switched the GBP from storefront to Service Area Business covering 14 Dublin postcodes. Rebuilt every category — Roofing Contractor, Roof Repair Service, Gutter Cleaning Service, Building Restoration Service. Added every service line, photos of the crew at work, and a structured "what we do" description that mirrored buyer search language. Result within four weeks: NewRoof appearing in the 3-pack across postcodes Brian had been invisible in for years.
02 · Weeks 2–4Site rebuild on a fast Astro stack
One-page WordPress replaced with a fast Astro site — proper service-line architecture (slate, flat roof, gutters, fascia, leak repair, emergency callout), Core Web Vitals at 95+ on mobile, conversion-focused CTAs, real photo library with descriptive filenames and alt text. The site that Google had been politely ignoring became one it could finally crawl, classify, and reward.
03 · Weeks 3–8Postcode landing pages × 14
Built dedicated landing pages for the 14 Dublin postcodes Brian actively drove to — Castleknock, Rathfarnham, Tallaght, Stillorgan, Malahide, Swords, Clondalkin, Lucan, Blanchardstown, Dundrum, Sandyford, Phibsboro, Drumcondra, Glasnevin. Local context per page (typical roof types in the area, common storm-damage patterns, recent jobs), shared crew credentials, and clean internal linking back to the service hub.
04 · Weeks 5–12Emergency roof repair page (the killer asset)
Built a dedicated "emergency roof repair Dublin" page designed to rank fast, convert hard, and own every storm season. Same-day response copy, what to do before the roofer arrives, photos of weather-damage callouts, and clear pricing. The page started ranking top-3 within eight weeks. By the first storm of the next winter, it was page-one for "emergency roofer Dublin", "roof leak repair Dublin", and "storm damage roof Dublin" — three of the highest-intent queries in the niche.
05 · Months 2+Review velocity automation
Set up post-job SMS automation — when a job wrapped, the customer received a one-tap Google review link. Conversion sat between 32% and 41% depending on month. Over six months the review count climbed from 11 to 86 — and review velocity, not total count, is what moves the 3-pack.
The outcome
The first storm season after launch was the one that proved the system worked. Brian's phone didn't go quiet — it didn't stop:
- 92 map-pack calls in the peak storm month — up from a baseline of around 14 calls/month before the rebuild.
- 14 of 14 postcode pages ranking top-3 for their primary "[service] [postcode]" queries within six months.
- +540% organic traffic in the first six months — measured against the same period the previous year.
- The emergency-repair page alone now generates 35–50 storm-season calls/month and ranks page-one for every meaningful "emergency roofer Dublin" query.
- 86 Google reviews (up from 11), averaging 4.9★, with steady weekly velocity.
- Hired two additional crew members in the first nine months. Brian's biggest problem went from "where do leads come from" to "which leads do we say yes to."
What changed for them
NewRoof didn't become a different business. They became the business their reputation deserved — visible, ranked, and stocked with proof. The day-to-day work is the same as it was before; the marketing problem is gone. Storm seasons are now the busiest revenue weeks of the year instead of the quietest.
Want the same for your Dublin trade business?
If you're a roofer, plumber, electrician, or trade business with a real crew but the wrong GBP setup — that's a fixable problem, fast. free AI Search Snapshot. Same diagnostic process we ran for NewRoof.
Get my free snapshot →