Hot and Cool HVAC
A full local-service website for a Calgary HVAC & plumbing company, built to turn searches into booked jobs with 20 dedicated service pages, an SEO layer that gets found on Google, and a quote form that converts visitors into leads without them ever picking up the phone.

By replacing one generic services page with 20 search-optimized landing pages and a frictionless multi-service quote form, the business went from relying solely on phone calls and word-of-mouth to capturing leads directly from organic search, any time of day, for any of the three trades they offer. The structured SEO foundation (schema markup, sitemap, per-service metadata) positions every page to compete for its own high-intent keyword instead of one page competing for everything and ranking for nothing.
Hot and Cool HVAC needed more than a brochure site. As a home-services business, their revenue depends entirely on showing up when someone searches 'furnace repair Calgary' at 2am in January, and then giving that person an easy way to reach them. The old approach (a generic one-page site listing services in a bullet list) meant they were invisible on Google for anything specific, and every lead had to call in, which loses cold, comparison-shopping traffic.
I rebuilt the site from the ground up on Next.js 16 as a lead-generation engine, not just a digital brochure. Instead of one generic 'services' page, every single service, including furnace repair, AC installation, drain cleaning, tankless water heater repair, and 17 others, got its own dedicated landing page with real, specific content (symptoms, causes, process, FAQs) targeted at the exact terms homeowners actually search. Each page carries its own SEO metadata and Schema.org structured data (Service, FAQPage, LocalBusiness, Breadcrumb) so Google can surface rich results instead of a plain blue link.
On the conversion side, I replaced 'call us' with a multi-select quote request form: a homeowner can tick every problem they have (e.g. furnace repair + drain cleaning) and submit their address and notes in one go. That request is validated server-side and delivered straight to the business's inbox by a custom Node/Nodemailer backend, formatted as a ready-to-action email. A floating WhatsApp/social bar, a limited-time deals section, a coverage-area map for their 8 service cities, and a testimonials/gallery section round out the trust-building side, so visitors don't have to leave the page to check if this business is legitimate before contacting them.
The result is a site that works as hard as a salesperson: it ranks for long-tail, high-intent searches across three trades (heating, cooling, plumbing), answers the visitor's exact question the moment they land, and converts that visit into a lead the owner can act on within minutes, even while they're out on a job.
- 20 dedicated, SEO-written service pages (heating, cooling, plumbing) instead of one generic services list, each targeting its own search intent with symptoms, causes, process, benefits, and FAQs
- Structured data (JSON-LD) for LocalBusiness, Service, FAQPage, and Breadcrumbs on every page to win rich results in Google search
- Multi-select quote request form with a custom server-validated contact API (pattern checks, header-injection-safe sanitization) backed by a Node/Nodemailer email pipeline
- Dynamic sitemap, robots.js, manifest, and auto-generated Open Graph image for full technical SEO coverage out of the box
- Deals/promotions section and a coverage-area section listing all 8 serving cities, reinforcing local relevance for local-pack SEO
- Floating WhatsApp + social contact widget, photo gallery, testimonials, and team page, in a fully responsive, animated UI (Motion) on Next.js 16



