CALLJOE.COBook now with Joe

Brand

HJR Roofing

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.

Brand

HJR Roofing

A roofing contractor that owns its local searches.

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.

Technically engineered.

The decisions that make this build hold up.

  1. 01

    Programmatic local SEO

    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.

  2. 02

    One source of truth

    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.

  3. 03

    Leads with no moving parts

    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.

  4. 04

    Proof where it counts

    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.

The real stack

  1. Next.js 16 + TypeScript

    Static site with programmatic area pages

  2. Tailwind CSS 4

    Design system with light and dark themes

  3. WhatsApp deep links

    Pre-filled quote requests to the owner's phone

  4. JSON-LD structured data

    LocalBusiness schema with geo and reviews

Where my services came in

Book a call

Loading calendar…

No time that suits? Message Joe on WhatsApp or email hello@calljoe.co.

Chat with Joe