Brand
A London and Hertfordshire roofing contractor with twenty-six area pages engineered to own local search, and every enquiry landing straight on the owner's phone.
The build
A roofing firm's website has one job: when someone's roof leaks in a town you cover, you're the firm they find and the number they ring. HJR Roofing covers a lot of towns across North London, West London, and Hertfordshire, so I made sure every single one has its own page.
Twenty-six area landing pages, six service pages, and a blog, all generated from a single data file that describes the business. Add an area or a service to that one file and the site grows itself, sitemap and all. No CMS, nothing to maintain, nothing to break.
Conversion is deliberately old-school because that's how trade customers buy: click-to-call, email, and a floating WhatsApp button that opens with a quote request already written. And the proof a roofer lives on, Checkatrade, Which? Trusted Trader, Google reviews, the firm's Facebook feed, is embedded right in the site instead of hidden behind links.
How it's built
The decisions that make this build hold up.
01 / 04
Twenty-six area landing pages generated from one array, each a real indexable page targeting the town-plus-trade searches that turn into jobs. The site competes in every neighbourhood the vans actually reach.
02 / 04
The whole business, services, areas, posts, social links, opening details, lives in a single constants file. Updating the firm means editing one file, and the pages, sitemap, and structured data all follow.
03 / 04
No form backend to break and no inbox to babysit: click-to-call, email, and a WhatsApp button pre-filled with a quote request. Enquiries land where the owner already looks, on the phone.
04 / 04
Checkatrade, Which? Trusted Trader, Nextdoor, Yell, Google reviews, and a live Facebook feed, embedded on-site, with LocalBusiness structured data carrying the firm's location and reviews into search.
Static site with programmatic area pages
Design system with light and dark themes
Pre-filled quote requests to the owner's phone
LocalBusiness schema with geo and reviews
Got an idea or a problem to solve? Book a call and let's figure it out together.
Book a Discovery Call