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.
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
- 688→270ms
- Homepage load time same browser, same connection
- 52→25
- 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
- Live site
- ottawadeckbuilders.ca
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.
- 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.
- 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.
- 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.
- 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.
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.
-
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.
-
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.
-
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.
New sections that had no equivalent before
-
After — service chooser
-
After — service areas
The same homepage on a phone
-
Before · stock skyline
-
After · deck, rating, quote
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
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.
Notes
- 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. ↩
- 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.