80 pages off WordPress. One source of truth.
A Sunshine Coast home builder whose website needed a developer for every change. Now its own team runs it.
- Industry
- Home building
- Platform
- WordPress to HubSpot CMS
- Scope
- 80+ pages, 8 HubDB tables
- Project lead
Natalia Ziarkowska- Award
- 2025 Impact Awards
01 The briefMove AUSMAR off WordPress onto HubSpot without losing a single ranking, and rebuild the home designs as structured data their own marketing team can publish against.
A website that needed a developer to change.
AUSMAR sells houses the way a retailer sells products: 90 designs, each with a price, a floorplan, dimensions and a lot width it will fit on. The old site treated every one of them as a page.
A buyer shopping for a home compares. Beds, baths, price, how wide a block it needs. The WordPress site could not answer any of that without a person reading every page, because the designs were prose on a page.
Behind it the same problem in reverse. Changing a price meant editing the design page, the listing that mentioned it, the house and land package built on it, and the brochure. Four edits, one fact, and a developer for most of them.
Nobody had changed it because nothing was broken. The site worked, it just could not be changed, measured or shopped. Marketing Manager Kate Dunn put it plainly: it "wasn't supporting the level of digital performance we needed". There was also no HubSpot integration, so nobody could say which enquiry came from which page.
Four things had to be true first
- Make the designs data. A house becomes a record with typed fields on it.
- Keep the search authority. 80+ pages move, and none of them may lose their ranking.
- Hand back the keys. If marketing still needs a developer, nothing has changed.
- Connect it to the CRM. A visit nobody can attribute is a visit nobody can act on.
A product catalogue, not a set of pages.
Five jobs in sequence. Each one is only possible because the one above it happened first, which is why the migration came last.
Turn every house into a record
Beds, baths, price, lot width, house area, series, storeys. Ninety designs stopped being paragraphs and became rows with fields, which is the only reason anything below this works.
Generate the pages from the records
One template renders every listing and every detail page from the table. Add a design and its page exists; change a price once and it is right in all four places it appears.
Let people shop the way they shop
Faceted filters with live counts, so a filter that would return nothing says so before it is clicked. Favourites and compare, held in local storage, so a shortlist survives the visit.
Show each buyer their own version
A first home buyer and a downsizer want different things from the same catalogue. Smart content swaps the messaging on HubSpot list membership, and each persona gets its own mega menu.
Make every visit attributable
Every interaction writes to a contact record, so a favourite or a compare is something the sales team can route on, and leadership can follow a first visit through to a closed deal.
Filters cannot exist before the data does, and attribution cannot exist before the pages do.
- Home designs. 90 rows, each with price, beds, baths, lot width and area.
- Display homes. Where a design can be walked through, and when.
- House & land packages. A design joined to a lot, priced as one.
- Galleries. Imagery attached to the design it belongs to.
- Testimonials. Placed by relevance, once.
- Awards. One list, rendered wherever proof is needed.
- Team profiles. Names that change without a developer.
- Careers. Roles that expire on their own.
Each of these was a folder of pages on WordPress. As a table, a row is added once and every place it appears updates with it, which is where the 70 percent drop in maintenance comes from.
Adding a ninth content type means adding a table.
Model the data before building a single page.
Search authority was the risk. A migration that loses rankings costs more than the site did, so the sequence protected that above everything else.
Foundation and discovery, In workshops
Persona workshops and a full site map of 40+ page types, then an SEO audit of every URL before anything moved.
Scope: keep every ranking, then improve on it
Model the eight tables, On a board
Which facts are fields, which are prose, and what joins to what. Drawn where the client could argue with it before it was built.
Every field traced to the team that owns it
Build the modules, In staging
Dynamic page generation, faceted filtering, favourites and compare, the floorplan viewer and the persona mega menus. Power Theme extended by roughly 40 percent.
Built against real rows from the first day
Migrate, then prove it, With redirects
80+ pages moved with URL mapping, 301 redirects and fresh XML sitemaps, then QA that found and closed over 200 issues across function, browsers and accessibility.
200+ issues found and closed before launch
Four principles the build ran on
Treat houses like products
A buyer comparing homes wants what a retailer gives them: filters, a shortlist, a side by side. Builders usually ship a brochure.
Build for independence
If marketing needs a developer to change a price, the rebuild solved nothing. Training and recordings shipped with the site.
A migration is a chance to fix it
Moving 80 pages as they were would have carried the old structure across. The IA was rebuilt on the way over.
AI takes the repeated questions
A chatflow answers the same first home buyer questions all day and enriches the record while it does, so sales gets the conversations worth having.
Ninety houses stopped being pages and became rows in a table.
Website changes still going through a developer?
Three hubs, one content model under them.
The data layer is the one that matters. CMS, Marketing and Sales all read the same tables, which is why a price is only ever typed once.
Content model
Nothing else exists until a house is a row with typed fields on it.
- 8 HubDB tables, one row per item
- 90 home designs with typed fields
- Dynamic listing and detail generation
- Joins: a package is a design plus a lot
CMS Hub
Where the rows become pages a buyer can actually shop.
- 80+ pages migrated with 301 redirects
- Power Theme, ~40% custom extension
- Faceted filtering with live counts
- Favourites and compare in local storage
- Interactive floorplan viewer
- Five persona mega menus
Marketing Hub
The same catalogue, said differently depending on who is reading.
- Persona smart content on list membership
- AI chatflow for first home buyers
- Blog migrated with its authority intact
- URL mapping and fresh XML sitemaps
- HubSpot and GA4 reporting joined
Sales Hub and reporting
Where a favourite tells sales who is close to buying.
- Every interaction writes to a contact
- Favourites and compare, read as intent
- Deal automation and routing
- Dashboards from first visit to closed deal
- Campaign attribution end to end
The modules, running in public.
Every one of these is live on ausmarhomes.com.au and rendering from HubDB. The site runs on HubSpot CMS, which its own response headers will tell you.
Four goals. Where each one ended up.
What AUSMAR asked for before the build started, and where it stood seven months after launch.
Goal 01
A site the marketing team can run
We built eight HubDB tables, and a training set with recordings so the team owns it.
8
content types, managed without a developer. AUSMAR's own team has since added thirty home designs as rows, with no developer and no rebuild. A change is made once in HubDB, which is where the 70% drop in maintenance comes from.
Goal 02
Discovery that matches how people shop
We built faceted filtering, favourites and compare, so a buyer can shortlist the way they would anywhere else.
7.77%
higher conversion rate after launch. Favourites, compares and the key pages a buyer visits write to their contact record, so the likeliest buyers are routed to sales by workflow.
Goal 03
A migration that keeps its rankings
We mapped the URLs, set up 301 redirects and wrote fresh sitemaps for every one of the 80+ pages.
80+
pages moved, and organic traffic up 1.88%. Every page kept its URL and its search authority, and QA found and closed over 200 issues before launch.
Goal 04
Attribution from first visit to deal
We connected every interaction to the contact record, with campaign attribution behind it.
23.36%
more new deals in seven months, against the seven before. Leadership can follow a buyer from first visit to contact to deal, which gives it a better basis for forecasting and for improving the site.
Measured seven months after launch against the seven before it. Direct traffic rose 12.37 percent and organic search traffic 1.88 percent. The organic figure matters most as the number that did not fall: an 80 page migration that holds its rankings is the hard part.
AUSMAR's website now works as a product catalogue its own team runs. Buyers shortlist and compare homes, and each step they take reaches sales and leadership as something they can act on.
Marketing changes a price once and it is right everywhere it appears. Adding a ninth content type means adding a table, so the site can keep growing without a rebuild.
“We’ve been working with Natalia, Amanda, and the Neighbourhood team for some time now, and we couldn’t be happier. They combine expertise with a genuinely collaborative and approachable style, always helpful, responsive, and willing to go the extra mile to get things done. Our new website was a complex project, with a number of custom modules, HubDB integration, custom styling and plenty of moving parts. The Neighbourhood team guided us through every step with confidence, efficiency, and clarity.”
Who ran it
Natalia ZiarkowskaAI & Digital Strategist
Led the persona workshops, the site map, eight HubDB tables and the SEO the migration had to protect.
HubSpot Impact Award winner, Neighbourhood since 2023
Thinking about moving off WordPress?
The neighbours next door.
The closest builds to this one, ranked by industry, HubSpot hub and service.
