Case study · Web design, local SEO & platform migration Live on client domain View the live site →

Monty's Concrete LLC

Taking a 20-year Rochester concrete contractor off an all-in-one platform that owned her website, her leads and her customer list — and rebuilding it as a hand-built site with a real CRM and analytics she owns, one that produced twenty-eight estimate requests and $101,110 in quoted work in its first month, plus a second market in Florida.

Client
Monty's Concrete LLC · Rochester, NY
Scope
Audit · Full rebuild · Local SEO · CRM migration · Analytics
Stack
Hand-built HTML / CSS / JS · Netlify · Git · Jobber · GA4
Studio
Tenworks · Tenzin
01 · The starting point

Twenty years of work, behind a template nobody finished.

Monty's has poured concrete across Monroe County for two decades. The website didn't say that. It was an entry-level DIY builder site — billed at $360 a month, and still left unfinished.

BeforeThe original Monty's Concrete builder homepage — stock Rochester skyline hero and an Empty Page nav item
The original site — stock skyline hero, “Empty Page” in the nav, none of her own work above the fold.
BeforeThe original About Us page reading Coming Soon
About Us — “Coming Soon,” on a business with two decades behind it.
BeforeThe original Tips page with unedited template placeholder text, List Item 3
Tips — builder placeholder left live: “Write a description for this list item…”
02 · The rebuild

Thirty-five pages, each one earning its own search.

One page trying to rank for everything ranks for nothing. The rebuild split the work into pages that match how people actually search — by service, and by town.

7 → 35
pages, each with a unique title, description and canonical
14
town pages with genuinely local copy — not clones
31
questions answered in FAQ schema across 8 pages
100
Lighthouse SEO and Best Practices, desktop
AfterThe rebuilt Monty's Concrete homepage — Concrete Done Right in Rochester, with real project photography
After — her own pours above the fold, phone and free-estimate reachable from anywhere.
AfterThe rebuilt concrete driveway replacement service page
Each service now has its own page, FAQ and schema.
AfterThe rebuilt Webster, NY town page with locally written copy
Fourteen town pages, each with real local detail.
GeneralContractor schemaFAQPage on 8 pagesBreadcrumbList sitewide29 towns in areaServedSelf-hosted fontsCSP + security headersReal Google reviewsWisetack financingBlog + RSSDeployed on Netlify
Walk through the live site → All 35 pages, on any device.
03 · The migration

The website was the easy half.

The old platform wasn't just hosting — it was the CRM, the lead inbox and the customer database. Replacing the site meant replacing all of it without dropping a lead.

$360/mo
what the old all-in-one platform billed — $4,320 a year
$360/yr
what the replacement CRM costs, for the whole year
~$3,960
back in the business every year — for a better site
Why this is the part that matters

All-in-one platforms make leaving expensive on purpose. The site, the leads, the customer list and the domain are bundled, so switching any one of them means untangling all four. Most small businesses stay put for exactly that reason.

She was paying $360 every month for that bundle — for a site with “Empty Page” in the navigation. The replacement CRM costs $360 for the year, and the site itself is free to host. Same money, twelve times the period, and the work is finished.

Monty's now runs on pieces she owns independently: the site is in version control and can move hosts in an afternoon, the customer data lives in a CRM built for contractors, and the analytics belong to her Google account. Nothing here is a hostage.

04 · What changed

Before → after, line by line.

The familiar pages are still there — Services, Projects, Tips, About, Contact — but every one was rebuilt, and a great deal was added.

Platform
All-in-one builderhand-built + Netlify

Off a rented page builder and onto a fast, version-controlled site she owns outright.

Pages
735

Service pages, 14 town pages, project case studies, a blog — each with unique metadata.

Placeholders
“Empty Page,” “Coming Soon”real content

Every template leftover removed and replaced with copy about the actual business.

Structured data
Nonefull schema layer

GeneralContractor, Service, FAQPage and BreadcrumbList — so Google can read the business.

Local footing
One city mention14 town pages

Written individually, not spun from a template, and correctly canonicalised to themselves.

Social proof
Generic claimsreal Google reviews

Named customer reviews and genuine before/after photography from her own jobs.

Lead capture
Platform inboxCRM job request

Requests arrive where the work is scheduled and quoted, not in a rented inbox.

Measurement
NoneGA4 + lead events

Every page tracked, every estimate request recorded as a conversion.

Financing
Not mentionedsurfaced sitewide

Consumer financing presented on 20 pages, where it can affect the decision.

Old URLs
Would 4047 × 301

Ranking equity and old bookmarks carried forward instead of dropped.

05 · Found in AI search

The old site gave machines nothing to read.

People don't only type into Google anymore. They ask ChatGPT, Gemini, Perplexity and Google's AI overviews “who does stamped concrete near Rochester?” — and those systems answer from sites they can actually parse. The old site was unreadable to every one of them.

What the rebuild put in its place

A full schema layer so the business is machine-legible: GeneralContractor and Service markup describing exactly what she does, FAQPage across eight pages answering thirty-one real customer questions, and BreadcrumbList sitewide so the structure is unambiguous.

Then the facts an answer engine needs to be confident: twenty-nine towns declared in areaServed, fourteen town pages written individually rather than spun, and a unique title, description and canonical on all thirty-five pages.

The result is a site that can be read, quoted and attributed — by Google, and by whatever people are asking next year.

And it worked: ChatGPT, Gemini and DuckDuckGo all now show up as real referral sources in her analytics.

06 · The outcome

A business that owns its own front door.

28
estimate requests in the first month — arriving daily, often two a day, by the end of it
$101,110
quoted from those requests — $17,750 already approved
$360/mo → $360/yr
what she pays to run the site and the CRM
07 · Found

From a handful of searches to a thousand.

The old site surfaced in Google for a small handful of searches. One month after launch the rebuilt site was appearing roughly ten thousand times a month across a thousand distinct searches — and still climbing, not settling.

46 → 76
Google visits — up 65% (first two weeks vs the next two)
4,227 → 5,751
times shown in search — up 36%
7 → 56
pages indexed
16 → 25
Google reviews — 4.8★ held
Where Monty's ranks
concrete resurfacing rochester ny1st–2nd concrete overlay rochester ny1st–2nd decorative concrete4th concrete company near me8th stamped concrete rochester ny8th concrete contractors rochester ny9th concrete contractors near me11th
08 · What happened next

The site worked, so she opened a second market.

Inside the first month, Monty's expanded to Winter Haven and Polk County, Florida — and the site expanded with it.

Rather than a second website to maintain, the Florida side was built into the same codebase: its own service pages, its own town pages, its own local phone number and its own structured data, all sharing one deployment.

56 pages
now drawing search impressions across both markets
2 markets
Rochester, NY and Polk County, FL
277
Florida search appearances in its first weeks
Your site could be next

Want to see yours next to your current site?

That's how I work: a free SEO audit, then I build the fix and set it beside what you're running now. You decide with your own eyes.