Case Studies

Local SEO Case Study — One HVAC Listing, Thirty Towns: Covering Greater London on the Map

This heating and cooling company had engineers driving across Greater London every day. On Google they existed in one borough. We rebuilt the listing and the site around the territory they actually served, and the map filled in.

Heating & Cooling Company

Client

Multi-Town Campaign

Timeline

HVAC

Industry

Meet the Business

An established heating and cooling company running a fleet of vans across Greater London. Boiler installs and servicing, air conditioning, heat pumps, commercial maintenance contracts. Engineers were already travelling thirty and forty minutes to jobs. The catchment was genuinely large.

Their Google presence did not reflect any of that. They had one office, one listing, and a website that mentioned a single borough. To a search engine, this looked like a business that served one small area — because that is all they had ever told it.

The Challenge: The Radius Problem

This is the single most common and most expensive problem in local SEO for trades, and almost nobody realises they have it.

Google does not rank you across your service area. It ranks you around your pin. Every mile a searcher stands away from your registered address, your chances of appearing in the three map results fall — regardless of whether you would happily drive there.

We ran a visibility grid across the region: dozens of search points spread over the towns the company served, each one checked for where the listing appeared in the map pack. The starting picture was stark.

  • Strong around the office, nothing beyond it. The listing held top-three positions in the immediate area and fell off a cliff past roughly two miles.
  • No pages for any town except the head office. Dozens of towns the company worked in daily had no page on the site at all.
  • The service area in the Business Profile was a default radius rather than a named list of the boroughs and towns actually covered.
  • Emergency intent was unaddressed. No page targeted “no heating”, “boiler not firing” or “emergency heating engineer” — the highest-value searches in the trade.
  • Commercial and domestic were mixed together on a single services page, so neither audience found what it was looking for and neither search matched cleanly.
The trap most companies fall into here

The obvious fix — generate fifty near-identical town pages by swapping a place name into a template — is the fastest way to get the whole set ignored or demoted. Google has been filtering doorway pages for years. Scale without substance does not work, and it costs you the pages that would have worked.

What We Actually Did

1. Told Google the Real Territory

  • The service area was rebuilt as a named list of every borough and town the engineers genuinely cover, replacing the default radius. This is the first thing Google reads when deciding whether to show you to someone outside your immediate area.
  • Categories were split correctly across HVAC Contractor, Heating Contractor, Air Conditioning Contractor, Boiler Supplier and Furnace Repair Service — each one opening a different set of searches.
  • Every service was entered individually with its own description, including the emergency and out-of-hours work that had never been listed.
  • Job photos were uploaded from across the region rather than only from the yard — installs, plant rooms, external units, on site in the towns that mattered.
  • Google Posts ran weekly on seasonal themes: pre-winter boiler checks, air conditioning servicing before summer, heat pump grant information.

2. Built Town Pages That Deserved to Exist

Every town page had to earn its place. Our rule was simple: if a page could not say something true and specific about that town, it did not get written.

  • Real local detail on every page — the housing stock in that area, the boiler types commonly found there, typical response time from the nearest engineer, the neighbouring areas covered from the same route.
  • Genuine local proof: jobs completed in that town, reviews from customers in that town, photographs taken there.
  • Service schema with a named area served, not LocalBusiness markup. A town page is not a second premises, and marking it up as one is a misrepresentation that search engines increasingly catch.
  • Internal linking between neighbouring towns so the cluster read as one coherent territory rather than fifty orphan pages.
  • Domestic and commercial separated into their own tracks, each with its own service pages and its own language.

3. Captured Emergency Intent

A household with no heating in February is not comparison shopping. They search, they call the first credible result, and they book. We built dedicated pages for that moment — no heating, no hot water, boiler lockout, emergency callout — each one loading fast, leading with a tappable phone number, and stating response times and out-of-hours availability in the first screen.

The Results

The clearest way to show this is the coverage grid. Each point on the map is a real search location; the colour shows where the listing ranked in the map pack when someone searched from that spot.

556845833 3210698032419430 6142939973573555330 n
Map pack position at each search point across Greater London. Coverage now extends well beyond the office, into the towns the engineers actually serve.
How to read this grid

Each pin is a separate search run from that exact location. A business that ranks brilliantly at its own address and nowhere else produces a single bright dot on an empty map. What matters is how far the colour reaches — that is the size of the area where you can actually be found.

Search Console Confirms It

Map coverage is one half of the picture. The other half is what happens on the website, and Search Console reports that independently.

564Clicks from Google search
Multi-townMap pack coverage achieved
2 tracksDomestic and commercial, separated
668553532 3279297142235494 6962771587591100284 n
Google Search Console: 564 clicks through to the website over the reported period.

Before and After

MeasureAt the startAfter the campaign
Map pack reachRoughly two miles from the officeAcross the Greater London service area
Town pages on the site1 (head office only)A researched page per covered town
Service area in Google Business ProfileDefault radiusNamed boroughs and towns
Emergency intent pagesNoneDedicated pages for each emergency scenario
Domestic vs commercialCombined on one pageSeparate tracks, separate pages
Clicks from searchNegligible564 in the reported period

Services Provided

What the Client Said

Our vans were already all over London. It had just never occurred to me that Google did not know that. Seeing the coverage map at the start was uncomfortable and seeing it now is the best argument for the spend I could give anyone. The commercial enquiries were the surprise — those never used to come from the website at all. Operations Director — heating and cooling company

Key Takeaways

Your service area is a claim you have to substantiate

Telling Google you cover thirty towns means nothing on its own. Coverage is earned town by town, with a real page, real local proof and correct markup for each one. That is slower than generating fifty templates — and it is the only version that holds.

Ranking at your own address tells you nothing

Every business ranks well when searched from its own car park. The only measurement that matters is what happens at the edges of your territory, and you cannot see that from your own phone.

Emergency searches convert differently

Someone with no heating does not read your About page. Load fast, put the number first, state your response time. Everything else can wait for the return visit.

Split domestic and commercial

They are different buyers with different language, different timescales and different searches. One combined page serves neither of them well.

How far does your coverage actually reach?

We will run the same grid across your service area and send you the map. It usually takes one look for the gap to become obvious.

  • A coverage grid across every town you want work from
  • Where your visibility stops, and why
  • Which towns are winnable first, in priority order
  • No contract, no obligation
Book a free strategy session Our pricing is published here if you would rather see the numbers first.

Ready to Achieve Similar Results?