Case Study · Renovation Contractor · Vancouver, BC

Family-owned renovation contractor
gets a custom site that ranks.

A family-owned renovation contractor in Coquitlam, British Columbia had grown from a single-service operation to 13 services across 8 BC locations. Their existing website couldn't keep up — and the agency that built it had locked them into a page builder they couldn't maintain.

The situation

What we walked into

  • Existing site built on a heavy page builder — slow, hard to edit, and locked in.
  • 13 services and 8 locations but only generic "Services" and "Locations" pages on the site.
  • No schema markup. No proper meta tags. Forms going through a third-party that was leaking PII.
  • GSC data showed 278 URLs that needed mapping if they switched sites — high risk of losing equity in a migration.
  • Owners wanted brand colors locked: Black, White, Gold (#FFB500), Dark Navy, Light Grey — and a custom logo treatment.
The work

What we did

No silver bullet. Just the methodical, unfashionable work that moves rankings for local service businesses.

01

Custom WordPress theme

Built from scratch — no Elementor, no Divi. Flat URL architecture (max depth 2). All meta and schema hardcoded.

02

13 service pages + 8 location pages

Each service got its own deep page. Each location got its own LocalBusiness-schema page. Internal linking compounded.

03

Native form handler

WordPress AJAX-based form sending to multiple recipients with auto-reply confirmation. No third-party data leakage.

04

278-redirect map

Every URL from GSC export mapped to a corresponding new URL. Zero ranking loss during migration.

05

JSON-LD schema across all templates

Organization, WebSite, Service, BreadcrumbList, FAQPage, LocalBusiness — all hardcoded per page type.

06

DNS migration strategy

Pre-staged MX, SPF, DKIM, DMARC records on new DNS before nameserver switch to prevent email outages.

What we learned

Takeaways

If you're in a similar situation, these are the patterns we'd want you to know about.

Custom themes beat page builders for local businesses

PageSpeed 90+ on a content-heavy site is impossible with Elementor or Divi. Custom themes make it routine.

Migration redirects can't be afterthoughts

The 278-redirect map was built before the new site went live. That's the only way to migrate without ranking loss.

Service-area businesses need both service AND location pages

Not just one or the other. The cross-product is what ranks for "[service] in [city]" queries.

Client name not disclosed by request. All details accurately reflect real work performed. Specific metric ranges anonymized to protect client identity in a competitive market.

Sound like your situation?

Start with a free audit. We'll show you what's actually wrong — same depth as what we did here.