Build walkthrough
M&M Roofing & Construction
Roofing · Broward County, FL
A roofing contractor site built around a service and location structure that can expand without turning into duplicate pages.
Visit the live site →What we found
Before we changed anything
- •No structured way to expand into new services or cities
- •Leads ending their life in a third-party form service
- •Analytics events pushed with no container loaded, so nothing was recorded
- •City landing pages competing with blog posts for the same searches
What we built
- ✓8 service pages and 22 city pages under one structure
- ✓24 service-plus-city pages, chosen deliberately rather than generated
- ✓88 statically rendered pages so crawlers get HTML, not a JavaScript shell
- ✓A lead form carrying service, city, landing page, UTM, gclid, fbclid and msclkid
- ✓Local Business and Service structured data on every page
Before and after
| What | Before | After |
|---|---|---|
| Pages a search engine could read | A JavaScript shell | 88 statically rendered |
| Service and location structure | None | 8 services, 22 cities, 24 combinations |
| Lead attribution | Nothing captured | Source, campaign and click ID on every lead |
| Analytics | Events fired into a container that never loaded | Container loading, events recorded |
What we are not claiming
We are not publishing traffic or revenue figures for this build. We have not yet agreed with the client what can be shared, and we would rather show you what we changed than quote a number we cannot stand behind.