Local Spring Selected work Ottawa Deck Builders

Case study · Website rebuild · Ottawa

Rebuilt from scratch — without throwing away what already worked

An Ottawa deck builder with fifteen years of finished projects and a WordPress site that showed none of them well. I rebuilt the front end from zero on a faster, lower-maintenance framework, kept the owner's own photography and words, and moved the pages across without changing their addresses.

  • WordPress → static framework
  • Owner's assets kept
  • Ottawa, Ontario
The site today — ottawadeckbuilders.ca

01 Results

What changed, measured

61%
Lighter homepage 3.4 MB → 1.3 MB per visit
75%
Lighter service pages 3.3 MB → 0.8 MB per visit
688270ms
Homepage load time same browser, same connection
5225
Requests per page fewer round-trips to render

Measured on both sites in the same desktop browser, at the same window size, on the same connection. 1

The project

Client
Ottawa Deck Builders, a division of Delta Decks
Sector
Deck design and construction, residential
Market
Ottawa and west-end communities, Ontario
Platform
WordPress → static site framework
Scope
Rebuilt from scratch, existing assets reused

What I did

  • Full rebuild New front end, from scratch
  • UX & interface design Layout, hierarchy, lead paths
  • SEO-safe migration URLs kept page-for-page
  • Local SEO & Google Business Profile linked to the site
  • Structured data Built for search and AI answers
  • Asset reuse Owner's photos and copy kept

02 Achieved

What we achieved

Four things had to be true for the rebuild to be worth doing. All four are in place.

  1. Design

    The site finally looks like the work

    The homepage opened on a stock Parliament Hill skyline. It now opens on one of the company's own finished decks, with the rating and two clear next steps.

  2. URL parity

    Every page that mattered kept its address

    All six service pages, both blog posts and every top-level page answer on byte-identical paths, so nothing already earning traffic had to start over.

  3. Entity

    Google reads the business, not just the pages

    Local business markup, a linked Google Business Profile, fifteen named service areas and eight services that machines can parse — none of which existed before.

  4. Low maintenance

    Nobody maintains a plugin stack any more

    No database, no PHP runtime, no monthly update treadmill. Pages are pre-built files served straight from a CDN.

Same headline, same logo, same phone number — a different first impression. The city photo made way for one of the company's own builds, and a single About Us button became a quote and a portfolio.

03 Problem & solution

What was broken — and what fixed it

Nothing was wrong with the business. Fifteen years of work, a 4.8★ profile and a full photo library were already there. The site was the part not carrying its weight.

  1. Problem

    The hero sold Ottawa, not decks

    The homepage opened on a stock city skyline with a single About Us button. Someone searching for a deck builder saw a postcard and no way to ask for a price.

    Solution

    A real project photo, the 4.8★ rating, and two obvious next steps.

  2. Problem

    The strongest asset proved nothing

    Project pages held mid-build job photos in an unlabelled carousel — no locations, no materials, no story. The photo library was the best thing the business owned and it was doing no work.

    Solution

    Neighbourhood-titled projects with before/after sliders, built from the same photos.

  3. Risk

    A rebuild could throw away URLs that already ranked

    Six service pages, two blog posts and a portfolio had been live since 2021. Changing their addresses during the move would have reset whatever they had earned.

    Solution

    The same paths kept page-for-page, with redirects where the structure changed.

Rebuilt from scratch, but not started from scratch. The front end is new code from the first line. The photographs, the project list, the company story and the words about the team are the owner's own, carried across and given a structure that lets them do some work.

04 What changed

What changed, screen by screen

Each pair below is the same job on the old site and the new one. Select any screenshot to open it full size.

01Service pages

A caption on a photo became a working service page

The same hero photo, doing a different job: an eyebrow, a one-line answer to what the service is, and two calls to action above the fold — then a structured overview instead of an unbroken block of text.

02Portfolio

Untitled thumbnails became located, described projects

Every card now carries the neighbourhood it was built in, the type of build, and a line of description. The photographs are the client's originals — only the framing around them is new.

03Project pages

A photo carousel became a before-and-after story

The old project page led with a mid-build shot of the crew and tools on the deck. The rebuilt page uses the same photo set, sorted into a draggable before/after of the deck that was there and the deck that replaced it.

04Lead path

A form at the bottom of the homepage became a quote page

Enquiries used to land in a five-field block below a map. The quote path is now its own page and its own section on the homepage, asking for the project address and preferred contact method up front — and it reaches a domain mailbox rather than a personal Gmail account.

05 Google & AI visibility

Optimised to be found — and to be quoted

Search engines and AI assistants answer questions about a business from whatever it can state about itself in a form they can parse. The old site left almost all of that blank. The rebuild fills it in.

Linked to the Google Business Profile

The site and the 4.8★ Google listing now point at each other, so the map result, the reviews and the website read as one business rather than two unconnected records.

  • Business type

    BeforeProfessionalService — a generic catch-all

    AfterLocalBusiness + HomeAndConstructionBusiness

  • Address

    BeforeRegion recorded as “Ottawa”, province filed inside the postal code

    AfterCarp · ON · K0A 1L0, each field in its own place

  • Google Business Profile

    BeforeNot linked to the site at all

    AfterLinked from the markup and from the page, with the 4.8★ profile

  • Service areas

    BeforeNone declared

    After15 named communities, matching a visible section on the page

  • Services

    BeforeNone declared

    After8 services, each an entity pointing at its own page

  • The person behind the work

    BeforeProse on the About page only

    AfterNamed as the founder, machine-readable, linked to his profile

26 pages indexable, up from 24 — plus two new material pages people actually search for
55 images listed in a dedicated image sitemap, so a portfolio business gets found on its photos
15 areas named on the page and in the markup, from Carp and Kanata through to Manotick
Every path kept services, blog posts and top-level pages answer on the addresses they always had

06 Under the hood

A fast, low-maintenance framework in place of a CMS

The visible change is the design. The change the client feels for the next five years is the one behind it: the site left a database-driven CMS for a modern static framework that builds the whole site into plain files.

  • Pages are built once, not on every visit

    Every page is generated ahead of time and served as a finished file. There is no database query and no server-side render between a click and the content.

  • Almost no JavaScript ships

    jQuery, jQuery Migrate and the theme's vendor bundle are gone. The only third-party script left on the homepage is the review widget the client wanted to keep.

  • Images are converted at build time

    Photos are resized and re-encoded to modern formats once, during the build, and every one ships with its dimensions so nothing shifts as the page loads.

  • There is no update treadmill

    No plugins to patch, no PHP version to chase, no admin login exposed to the internet. The maintenance that used to be monthly is now occasional and planned.

The old homepage pulled 52 files and 3.4 MB through eleven scripts and six stylesheets before it finished. The rebuilt one needs 25 files and 1.3 MB, a single stylesheet, and none of the jQuery or theme runtime the old build depended on — the same content, with most of the machinery removed rather than optimised.

Sitting on a site that undersells the work?

If you have good photos, real reviews and a website that hides both, tell me what you have now and I will reply with a practical first read on the opportunity.

Send me the details See other work

Notes

  1. How to read the figures. Page weight, request count and load time were measured directly on both sites, in the same browser at the same window size, in August 2026. They describe how much the pages ask of a visitor's connection — not rankings or enquiry volume, which depend on far more than the site.
  2. The old site. The previous WordPress build is kept at a separate archive address so the before and after can be compared side by side. Both were captured on the same day.