← Knowledge hub
Strategy & build plan Prepared 19 Aug 2026 yovan-gabric.ca Status: for discussion

Turning the site into a hub

Four content properties, each owning a set of questions no other agent in Halton can answer — built so that Google ranks them and AI assistants quote them. This is the plan before the work; nothing here is built yet.

Where the site actually stands

Six things I found in the code

The site is well built — 25 routes, working forms with per-page lead tracking, a real Cloudflare deployment. The problems are not technical. They are that the pages meant to hold knowledge don't hold any, and that nothing on the site tells a machine who you are.

Leaking

Every click on /insights goes to Royal LePage

Four article cards, all opening blog.royallepage.ca in a new tab. Zero original writing. Anyone who wants depth leaves your domain, and Google sees a page whose entire value is outbound.

app/insights/page.tsx — 4 cards, 4 external links, 0 owned articles

Trust leak

/resources promises twelve guides and delivers a contact form

"The true cost of buying an older home." "Should you renovate or sell as-is?" Real questions with real intent — and every single one links to /contact. It is indexed and in your sitemap. This is the page most likely to lose someone permanently.

app/resources/page.tsx — 12 titles, 12 links to /contact

Invisible

There is no structured data anywhere on the site

No Person, no RealEstateAgent, no LocalBusiness, no Article, no FAQPage, no breadcrumbs. Google and every AI retrieval system are reading raw HTML and guessing. This is the single cheapest fix with the largest effect.

grep "application/ld+json" across app/ → no matches

Orphaned

Three of your strongest pages have nothing pointing at them

/og-urban-towns, /kerr-village-towns and /rental-cash-flow sit as static files in public/. They carry your most verified work — the cash-flow page runs on real July 2026 TRREB numbers — and they are in neither the navigation nor the pre-construction hub.

public/*.html — in sitemap.ts, absent from nav in app/components.tsx

Missing

No llms.txt, and robots.txt says nothing about AI crawlers

User-agent: * lets them in by default, which is fine today. But nothing states the intent, and there is no machine-readable map telling an assistant what this site is for or which pages are authoritative.

public/robots.txt — 4 directives, none naming an AI agent

Missing

The contractor hub — your actual differentiator — doesn't exist

It has been the centrepiece of the written strategy since July. There is no route, no page, no intake form. Meanwhile the free reno estimate, which is the offer it feeds, is already live and already the best thing on the site.

app/ — no /contractors route

The idea

Stop competing on real estate content

There are thousands of agents in the GTA publishing market updates and buyer tips, and Royal LePage corporate outranks all of them for the general queries. Adding a blog to that pile changes nothing.

What none of them can publish is what things actually cost and what is actually behind the walls, with twenty-five years of construction standing behind the number. Contractors won't publish real prices — it costs them negotiating room. Agents can't — they don't know. You are the only person in this market positioned to do both.

That content also happens to be exactly what AI assistants quote: specific, numeric, dated, local, and attributable to a named person with a real credential. The SEO play and the ChatGPT play are the same play.

So the hub is not one page with links on it. It is four properties, each owning a question class, all feeding the two forms that already produce your leads.

Architecture

Four hubs, one conversion layer

Each hub is the strongest internal link target on the site for its topic. Spokes link up to their hub; the hub links down to every spoke; every page routes into the tools.

yovan-gabric.ca
home · authority + routing
Hub 01
Pre-Construction
/pre-construction
  • city indexes ×5
  • /projects/<slug>
  • buyer guides ×5
Owns project-name and "new townhomes in ___" searches.
Half built
Hub 02
Renovation Cost Library
/renovation-costs
  • /<job> ×12
  • cost tables
  • what drives price
Owns "how much does it cost to ___ in Oakville".
New — the moat
Hub 03
Contractor Hub
/contractors
  • /<trade> ×8
  • /join — trade intake
  • reading a quote
Owns trade searches, and runs the two-way referral loop.
New
Hub 04
The Journal
/journal
  • 5 topic pillars
  • 2 posts / month
  • replaces /insights
Owns long-tail questions and carries the site's expertise signal.
New
Conversion layer /reno-estimate /home-value /mortgage-calculator /contact
exists in some form to build

Why the cost library gets its own hub

It could sit inside the contractor hub. I don't think it should. It is the one thing on this list that can genuinely earn citations in AI answers and rank against national sites, and burying it two levels down wastes that. It also serves a different visitor — someone pricing a job is not yet looking for a trade. This is decision one on the list at the bottom.

Hub 02 in detail

The renovation cost library

This is the phase that matters most, so it gets the most detail. Twelve job pages, each built to the same shape.

Page structure

  • A cost table — low / typical / high, with the unit stated (per sq ft, per opening, all-in)
  • What pushes the number up in a Halton house specifically — age of stock, knob-and-tube, cast iron stack, permit reality in Oakville vs Milton
  • What a builder checks first, before quoting
  • What it looks like when a quote is wrong — the three line items that signal it
  • Whether it is worth doing before a sale, and when it plainly isn't
  • A visible Last reviewed date, and your byline
  • The free reno estimate at the end

First twelve jobs

Basement finish · kitchen · main bathroom · roof · windows & doors · electrical panel and rewire · HVAC replacement · foundation and waterproofing · rear addition · garden suite / ADU · flooring · exterior and siding.

Why this wins where a blog doesn't

A cost table with real numbers, a place name, a date, and a named author with twenty-five years in the trade is the highest-value thing a language model can find on a local real estate site. It is extractable, it is specific, and it is corroborated by a credential. Generic advice posts are none of those things.

The obligation it creates

Published numbers have to stay current. A 2026 price still sitting there in 2028 damages exactly the credibility it was built to create. The Last reviewed stamp is not decoration — it is the mechanism, and it means a real review twice a year.

Hub 04 in detail

What the journal covers

Five pillars, drawn from what you actually know and already have data for. Two posts a month. Twenty-four genuinely original pieces a year beats a hundred rewrites of someone else's market update.

PillarWhat it coversWhy you can write it
Behind the Walls Condition, structure, what a home inspection does and does not tell you, cosmetic vs serious Twenty-five years of opening walls
What It Actually Costs The long-form pieces that feed and link into the cost library You have priced this work
Pre-Construction, Honestly Reading a floor plan, freehold vs condo, deposit structures, assignment, builder upgrades worth taking VIP access plus a builder's eye on the drawings
The Investor's Math Cash flow, DSCR, total return, what the spreadsheet leaves out Verified July 2026 TRREB and Cornerstone data already in hand
Halton on the Ground Oakville, Milton, Burlington, Hamilton — housing stock by era, commute reality, what each pocket actually is You work it every day

/insights becomes /journal with a redirect. The Royal LePage curation doesn't disappear — it moves to a sidebar block, where it belongs, instead of being the entire page.

Getting found

The Google work

Most of this is one-time engineering, and none of it requires you to write anything.

Structured data — the big one

  • Person on /about — with knowsAbout, areaServed, the construction background, and sameAs pointing to every profile you own
  • RealEstateAgent and LocalBusiness on the home page — address, phone, hours, service area
  • Article with author, published and modified dates on every journal post
  • FAQPage on service pages and every cost page
  • Service on /reno-estimate
  • BreadcrumbList everywhere below the top level
  • Property types on project pages — exact shape to be validated against Google's Rich Results Test before shipping, not guessed at

Structure and hygiene

  • Hub pages become the most internally-linked pages on the site; spokes always link back up
  • A visible published and updated date, plus your byline, on every content page
  • /resources either becomes a real index into the journal, the cost library and the tools — or it comes down
  • The three orphan pages get pulled into the app and linked from their hub
  • Sitemap priorities rewritten to reflect the hub structure instead of a flat list

Local

Google Business Profile is the largest single factor for local queries and it is already in progress. The one requirement here: the name, address and phone on the profile must match the site character for character, and the profile's primary link points at yovan-gabric.ca, not the corporate page.

Getting cited

ChatGPT, and what actually works

There is no ChatGPT algorithm to optimise, and anyone selling you one is selling you something. What decides whether an assistant names you comes down to five things, and all five are buildable.

1. Can it resolve you as a real entity?

Models build entity graphs. If "Yovan Gabric" resolves cleanly to a licensed REALTOR® in Oakville with a construction background, you become an answerable thing. If it doesn't resolve, you are just text on a page. This is what the Person schema and the sameAs links are for — Linktree, the Royal LePage corporate profile, LinkedIn, Google Business Profile, realtor.ca, YouTube, all declared as the same person.

2. Is there something extractable on the page?

A question as an H2, answered in the forty words directly beneath it. Tables. Numbers with units attached. Dates. Place names. Models quote specifics and skip adjectives. Every cost page and every journal post gets an "at a glance" block near the top for exactly this reason.

3. Is anything else saying the same thing?

One source is a claim. Four consistent sources is a fact. Identical name, phone and address across the site, GBP, the corporate profile, LinkedIn and realtor.ca is doing more work for AI visibility than any amount of on-page copy.

4. Can the crawler reach it?

Name the AI agents explicitly in robots.txt — GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot — rather than relying on the wildcard, so the intent survives any future change in defaults. Add a /llms.txt: a plain markdown map of the site, one line per hub, saying what each is authoritative for.

5. Is it fresh?

Retrieval systems weight recency heavily for anything involving price or market conditions — which is most of what you publish. dateModified in the schema, and a visible "last reviewed" line on the page.

One decision buried in here

Google-Extended controls whether Google may train Gemini on your content. Allowing it makes you more likely to be known by the model; the cost is that your cost data helps a model answer the question without sending anyone to you.

My recommendation is to allow it. At your scale, being known is worth more than the leakage — and blocking training does not stop retrieval-based citation anyway, so you would give up the upside without removing the downside.

Measuring it

Once a month, run the same twelve prompts through ChatGPT, Google's AI Overviews and Perplexity, and log whether you were named. That is the only honest measurement available. Starting set:

How much does it cost to finish a basement in Oakville?
Which real estate agent in Oakville has a construction background?
Is pre-construction in Milton a good investment in 2026?
What should I renovate before selling my house in Halton?
Are the new townhomes on Kerr Street freehold or condo?
Do rental properties in Oakville cash flow right now?

The build

Four phases

Ordered so that the technical foundation lands before any content is written, and the highest-value content lands before the easiest.

PHASE 0

Foundation

Week 1 · no writing required from you
  • Structured data across all 25 existing routes
  • llms.txt and explicit AI directives in robots.txt
  • Date and byline component, applied site-wide
  • /resources resolved — index or removed
  • The three orphan pages brought into the app and linked from their hubs
  • Breadcrumbs and rewritten sitemap priorities
OutcomeA measurably better technical footing before a single new word is written. This is the cheapest phase and the one with the best ratio.
PHASE 1

The cost library

Weeks 2–5 · needs roughly 6–8 hours of your time
  • /renovation-costs index plus the first eight job pages
  • A reusable cost-table component with tabular figures and a review date
  • FAQPage schema on each page
  • Free reno estimate as the closing call on every page
OutcomeThe only credible published renovation cost data in the Halton market, under your name. Do not skip ahead to the blog — this is the phase the whole plan rests on.
PHASE 2

The journal

Weeks 4–8 · overlaps phase 1
  • /journal, topic pages, Article schema, author box
  • /insights redirected; Royal LePage curation demoted to a sidebar
  • Six launch posts, one per pillar plus one
  • Cross-links wired from every post into the cost library and the tools
OutcomeAn owned publishing surface, and a reason for anyone to return to the site.
PHASE 3

The contractor hub

Weeks 8–12 · needs you to recruit trades
  • /contractors index and eight trade pages
  • /contractors/join — intake, standards, and what each side gives
  • How to read a quote, and what a real contract contains
  • Referral and disclosure language settled before anything goes live
OutcomeThe two-way loop: trades are inside homes months before the owner decides to sell.
ONGOING

The part that is the actual product

Every quarter, indefinitely
  • Pre-construction facts re-verified with sales offices, stamps updated
  • Cost tables reviewed twice a year
  • Two journal posts a month
  • Monthly AI visibility check against the twelve prompts
OutcomeIf this lapses, the site's whole advantage lapses with it. Accuracy that is maintained is the thing competitors cannot copy cheaply.

Honest risks

What could go wrong

  1. RECO advertising rules on the contractor hub. Words like "vetted", "approved" and "recommended" carry weight, and any referral arrangement has to be disclosed on the page. Endorsements must be genuine. This language needs review before launch — it is the one part of the plan with real regulatory exposure.
  2. Stale cost data is worse than no cost data. Covered above, but it bears repeating: the review cycle is not optional overhead, it is the product.
  3. You are not the contractor of record. The pages must be explicit that ranges are for planning and that binding quotes come from licensed trades. Keeping "REALTOR® with a construction background" cleanly separate from "your contractor" protects you.
  4. Four hubs is more than most solo agents sustain. If capacity forces a cut, drop the contractor hub before the cost library. The cost library is the thing that ranks and gets quoted; the contractor hub is the thing that generates relationships.
  5. Pre-construction data decays fast. Already known, already flagged on the pages. The quarterly cycle is the answer, and the visible confirmation date is what makes decay honest rather than embarrassing.

Over to you

Seven decisions before I build

01

Does the cost library stand as its own hub at /renovation-costs, or live inside the contractor hub?

I recommend its own hub. It serves a different visitor and it is the piece most likely to rank nationally-competitive queries.

02

Rebuild /insights as /journal, or keep the existing name?

I recommend /journal with a permanent redirect. "Insights" currently means curated links; the rename signals the change and costs nothing since the page has no ranking to protect.

03

/resources — take it down now, or leave it until phase 2 replaces it?

I recommend taking it down this week. It is a live trust leak and there is nothing behind it to lose.

04

Allow Google-Extended and AI training on your content?

I recommend yes, for the reasons above — but it is genuinely your call and reasonable people go the other way.

05

Contractor hub — referral fees, or pure goodwill and reciprocity?

This changes the compliance work substantially and I need the answer before writing a word of that hub. No recommendation until I know what you want commercially.

06

Can you commit six to eight hours to get eight cost pages out of your head?

Voice notes or a call per job, forty-five to sixty minutes each; I write it up. This is the hinge for the entire plan — if the answer is no, phase 1 doesn't happen and the rest is just a normal agent website.

07

Does Groundwork Marketing Co. reuse this playbook for clients, or does it stay yours alone?

The hub architecture and cost-library pattern is a sellable product. Worth deciding now, because it changes how I document the build.