Skip to content

Case study

Fourteen rooftop websites rebuilt as one platform

A powersports dealer group running fourteen rooftops across Alberta and Saskatchewan had fourteen websites and no agreement between them. We built one platform where head office publishes once and every location page stays current.

Named only with client approval Figures marked are illustrative Reply within one business day

Organic - last 90 days

Vancouver, BC

custom software development vancouver

3

+4

1

+2

2

new

5

+1

Impressions

13 weeks

+186%

Impressions

4.2

Average position

27

Page-one keywords

The engagement, in short

OlDevs consolidated fourteen separate powersports dealership websites into one platform built on Next.js and a headless CMS.Each rooftop page is generated from structured records covering hours, staff, service bays, inventory feed and reviews, so head office can publish a promotion once and every location inherits it. Old URLs were mapped store by store, so years of search history carried over instead of being thrown away. The group went from 14 location sites to 1, with local organic sessions up 38% and booked service appointments up 26%.

Key facts

01Client
A powersports dealer group running fourteen rooftops across Alberta and Saskatchewan
02Industry
Retail and dealer networks
03Services
Web development, full-stack development, SEO and content
04Duration
5 months
05Platforms
Next.js front end, headless CMS, inventory feed integration
06Outcome
Location sites consolidated 14 to 1, with old URLs mapped store by store

The challenge

Fourteen sites, fourteen versions of the truth

Every rooftop had its own website, built by whoever was available at the time, and no two agreed on hours, stock or contact forms. Customers searching for a store in their own town landed on pages that had not been touched in years, while head office could not push a promotion everywhere without fourteen separate requests. Nobody could even say which site licences were still current.

01

Hours that disagreed with the door

Each site carried its own hours, stock and contact details, edited by different people on different schedules. A customer could read one set of hours online and find another posted on the door, and nobody owned the discrepancy.

Content · Data integrity

02

Promotions that took fourteen requests

Head office could not launch a campaign across the group without emailing every rooftop and waiting. By the time the last site was updated, the first had usually moved on, so no promotion ever ran everywhere at once.

Operations · Publishing

03

Local pages left to go stale

Customers searching for a dealership in their own town landed on pages that had not been touched in years, with contact forms nobody had checked since launch. Local search was sending people to the least current version of the group.

Local SEO · Conversion

04

No inventory of the estate itself

Sites sat on different hosts and stacks with no shared record of who built what, and nobody could say which site licences and domains were still current. Renewals and security updates depended on whoever happened to remember.

Governance · Technical debt

What we built

One platform, fourteen location pages that inherit

OlDevs built a single platform on Next.js and a headless CMS, with a location content model that generates each rooftop page from structured records: hours, staff, service bays, inventory feed and reviews. Head office publishes once and every location inherits it, while managers edit only the fields they actually own. Old URLs were mapped store by store so years of search history carried over instead of being thrown away.

01

A location content model

Every rooftop is a structured record rather than a page: address, hours, staff, service bays, inventory feed and review sources. Templates read those fields, so one correction to a record updates every place those hours appear across the site.

Headless CMS · Content modelling

02

Publish once, inherit everywhere

Head office writes a promotion, a service offer or a policy note in one place and every location page picks it up. Store managers see the inherited content in their own editor and can override only the fields they are responsible for.

Next.js · Editorial workflow

03

Store by store URL mapping

Before launch we catalogued the live URLs on all fourteen legacy sites and mapped each one to its new home, including department and stock pages nobody had linked to in years. Redirects shipped with the release rather than after it.

SEO and content · Migration

04

Inventory and reviews on the page

Each rooftop page pulls current stock from the group inventory feed and shows the reviews tied to that location, so a customer sees what is actually on the floor near them. Stock and reviews sit in the same location record as the hours, so one page tells one consistent story.

Integrations · Location records

Process

How the engagement ran.

  1. Audit the estate

    We inventoried all fourteen sites, their hosting, licences, forms and live URLs, and recorded every place where hours, stock and contact details disagreed with each other.

  2. Model the locations

    We designed the content model with head office and two store managers, deciding field by field what is inherited from the group and what each rooftop owns outright.

  3. Build and demo weekly

    The platform was built in Next.js against the headless CMS, with a working demo every week so editors could try the location templates long before launch day.

  4. Map and migrate

    Legacy URLs were mapped store by store, content moved into structured records, and redirects were tested against a full crawl of every old site before the release.

  5. Launch and hand over

    Rooftops went live in batches, with editor training, a short publishing checklist and full ownership of the code, designs, accounts and domains handed to the group.

Stack

What it was built with.

Front end

Next.jsReusable location templatesResponsive layoutsShared design system

Content

Headless CMSStructured location recordsScheduled publishingRole based editor permissions

Data and integrations

Inventory feed ingestionStructured hours and staff recordsReview sourcesForm routing by location

Search

Server rendered location pagesLocalBusiness structured dataXML sitemapsRedirect map from legacy URLs

Delivery

Git based workflowPreview deploymentsCDN hostingUptime and error monitoring

14→1

Location sites consolidated

+38%

Local organic sessions

+26%

Booked service appointments

Outcomes

What changed for the client.

01

One platform instead of fourteen

Location sites consolidated 14 to 1, so a change to hours, staff or a promotion happens once and reaches every rooftop page on the next publish.

02

More visibility in local search

Local organic sessions rose 38% after the migration, helped by old URLs being mapped store by store so existing search history carried over.

03

More service work booked

Booked service appointments rose 26% once each rooftop page carried accurate hours, real service bay information and a form that reached the right department.

04

Head office can move at campaign speed

A group promotion now goes live across every location before lunch rather than through fourteen separate requests, and store managers still control the fields they own.

In their words

The client on the result.

We can put a promotion on every store page before lunch, and the hours on the site are finally the hours on the door.
AP

Marketing manager, multi-location powersports dealer group

Retail and dealer networks

FAQ

Questions about work like this.

Yes. The model separates group content from store content, so head office owns things like promotions and brand pages while each rooftop owns hours, staff, service bays and local notes. Managers see inherited content in the editor but can only change the fields assigned to them, which keeps the group consistent without shutting stores out.

That is the part we plan first. We crawl every legacy site, catalogue the live URLs including old stock and department pages, then map each one to its new address and ship the redirects with the release. Search history follows the content to its new home instead of being discarded when the old site is switched off.

Each rooftop page reads the group inventory feed and renders the stock tied to that store, so what a customer sees matches what is on the floor. The feed sits in the same location record as the hours, staff and service bays, so a store is described from one source rather than three that drift apart.

Yes. Clients own all code, designs, accounts and IP on every OlDevs project. At handover you get the repository, the CMS configuration, the hosting and domain accounts in your own name, and documentation for the content model, so another team could pick the work up without calling us first.

We run the engagement remotely, with video calls scheduled in your time zone and a working demo every week, and we come on site when the work calls for it, such as planning location photography or training store managers together. Every enquiry gets a reply within one business day.

Still have a question? Ask us when you request a quote

Let’s connect

Have a problem like this one?

Tell us what is not working. We’ll reply within one business day with how we would approach it and a tailored quote.

We’ll only use your details to prepare your quote. No lists, no spam.

Call us Request a quote