A business in Kingston or Twickenham should do its SEO on the town names customers actually type, which are Kingston, Surbiton, Twickenham, Teddington and Hampton, not "South West London" and not "Surrey". Google treats both as London boroughs, the map pack is ranked on distance from the searcher, and the agencies competing for your space are mostly London firms. The customers, though, still think of themselves as living in a Surrey town, and search like it.

The problem in your money

The border is the problem. Kingston upon Thames is a London borough with a KT postcode and a Surrey postal history. Twickenham is in the London Borough of Richmond with a TW postcode. A plumber in Surbiton has customers who say "Surrey" when asked where they live, a council that says "London", and a Google results page that says whichever the searcher is nearest to. Pick the wrong label and you rank for a place nobody searches.

Here is a worked example for a plumber based in Kingston who covers the neighbouring towns. The search volumes are real (UK, 2026 run-rate). The call-out is verified at £80 to £150. The rates are assumptions for the example.

plumber kingston 448 + plumber twickenham 335 + plumber surbiton 216
+ plumber teddington 159 = 1,158 searches a month within a short drive
x 10% who click the first ordinary result (assumption) = 116 visits
x 20% who ring (assumption) = 23 calls
x 50% booked (assumption) x £100 (verified range £80 to £150)
= £1,150 each month from four town pages, before repair work

What does that mean in plain terms? There are more than a thousand people a month typing a plumber plus one of four town names within a few miles of Kingston Bridge. A single page that says "plumbers in South West London" competes for none of those phrases directly. Four pages, one per town, compete for all of them.

What the data says about Kingston and Twickenham

The customer side is large. The agency side is small. Both tables are UK searches a month at the 2026 run-rate, pulled 13 October 2026.

What customers searchSearches a monthCost per click on Google Ads
dentist surbiton1,600£6.03
estate agent surbiton678£3.28
estate agent kingston606£3.21
estate agent twickenham512£3.51
plumber kingston448£15.12
estate agent teddington408£5.79
plumber twickenham335£10.67
plumber surbiton216£9.95
dentist hampton209£4.58
electrician twickenham180£4.65
plumber teddington159£18.78
accountant kingston116£11.42
electrician kingston114£8.49
What businesses searchSearches a month
web design kingston114
seo twickenham28
it support kingston28
website design kingston20
web design twickenham18
seo kingston14
seo company kingston11
seo agency kingston10

Three things stand out. First, "dentist surbiton" at 1,600 searches a month is the largest single local trade term in the whole of our north Surrey data, bigger than "dentist woking" at 992. Surbiton is a town in its own right to the people who live there, whatever the borough sign says. Second, Google Ads costs per click here are high: £15.12 for a Kingston plumber and £18.78 in Teddington. That is the London effect. More firms bidding, from a wider area. Third, almost no one searches for an SEO agency in either town: 14 for "seo kingston", 28 for "seo twickenham". Local agencies are not fighting over you, which is why most of the SEO advice you will find is written for London.

How do you know the competition is London? On 13 October 2026 we pulled the Google Maps pack for "seo agency" from Shepperton, which is on the Surrey side of this border. Nine of the fifteen results were based in London or further away: Genie Crawl in Whitton with 320 reviews at number one, Figment Agency in Kingston at two, PN Digital on City Road at four, London Seo Masters in Richmond at seven, Agile Digital in Chiswick at eight, and The SEO Works in Sheffield at fourteen. The ordinary results for "seo surrey" tell a similar story: Footprint, Sibley Digital and Digilocal all describe themselves as Surrey and London. Why does it matter? Because you will not out-spend them on "London" terms. You can out-rank them on "Surbiton".

How does Google decide which town you are in?

Three inputs, and you control two of them.

  • Your Google Business Profile pin. The map pack, the three-business block at the top of a local search, is ranked on relevance, distance and prominence. Distance is measured from the searcher's location or the place they typed to your pin. A Surbiton pin wins Surbiton searches and loses Twickenham ones, and no wording changes that.
  • The words on your pages. The ordinary results beneath the pack are ranked on relevance to the typed phrase. A page headed "Electrician in Twickenham" with Twickenham streets and jobs in the text can rank for "electrician twickenham" from anywhere. That is how you reach a town your pin cannot.
  • What everyone else says about you. Reviews, directories and citations, which are other sites listing your name, address and phone. If your profile says Kingston and your Yell listing says Surrey, Google has to guess.

Note what is not on the list: the borough. Google does not care that Kingston is in Greater London for the purposes of "plumber kingston". It cares whether your page and pin match the word "kingston".

Three ways to label a border business

Option 1: Call yourself South West London

What it means: one page, "serving South West London", with a list of postcodes. How you know it is common: look at the London firms in the pack above. Where it falls down: you are now competing with every firm from Wandsworth to Wimbledon for a phrase your Teddington customer never types. They type "plumber teddington". Who it is right for: a firm with a van fleet and a budget that genuinely covers the whole quarter of London.

Option 2: Call yourself Surrey

What it means: a "Surrey" page and a "Surrey" profile description, because that is what the address used to say. How you know people do it: several agencies in the Shepperton pack have Surrey in the business name. Where it falls down: "estate agent surrey" is 579 searches a month across the whole county, while "estate agent surbiton" alone is 678 and "estate agent kingston" 606. The county term is smaller than a single town and spread over fifty towns. You would rank, if you managed it, for a phrase worth less than the one on your doorstep. Who it is right for: a firm whose customers are spread thinly across the county, such as a specialist consultant, not a trade or a practice.

Option 3: Use the town names people type, one page each

What it means: a profile pinned where you really are, and a page on your site for each of Kingston, Surbiton, Twickenham, Teddington and Hampton that you actually serve, each written about that town. How you know it works: the ordinary results are ranked on relevance to the typed town, and the typed towns are in the table above with real volume. Where it falls down: each page has to be about that town, with jobs, streets and a review from there. A copied page with the town swapped is thin content and gets ignored. It takes an afternoon per town. The method is set out in web design in Staines: getting found by the town next door, and it applies on this side of the river just the same. Who it is right for: any trade or practice that serves three or more of these towns.

The recommendation

Bottom line: option 3, because it is the only one that targets phrases with real volume at a cost you control. In money, for the example plumber, it is four pages competing for 1,158 searches a month against one page competing for a London phrase they will never win. In time, it is one hour on the profile and four afternoons of writing. The alternative, Google Ads, costs £15.12 a click in Kingston and £18.78 in Teddington, and stops the day you stop paying.

How to do it this week

  1. Fix the pin and the address format. Go to business.google.com, Edit profile, Location. Use the address exactly as Royal Mail formats it, which for Kingston ends "Kingston upon Thames, KT1" and for Twickenham "Twickenham, TW1". Do not add "Surrey" or "London" to the business name. If customers visit, show the address; if you go to them, hide it and set a service area listing each town by name. Done looks like: the public profile shows the town, not a borough or a county.
  2. Set the primary category to the trade. "Plumber", "Dentist", "Estate agent", "Electrician". Done looks like: a customer could tell what to ring you for from the category alone.
  3. Write the town pages. For each town you serve, a page at /plumber-surbiton (your trade, that town). Four or five paragraphs: what you do there, a job you did there with the street or estate, the parts of town you know, a review from a customer there, your number above the fold. Link every town page from the homepage. Done looks like: each page could only be about its town.
  4. Make every listing agree. Search your business name. For each directory that appears, Yell, Cylex, Facebook or whichever you are on, make the name, address and phone match the profile character for character, including the town name. Done looks like: one version of your details everywhere.
  5. Ask for reviews that name the town. Send your review link to the last ten customers with one line: "say what we did and where, if you can". Done looks like: reviews that read "rewired the kitchen in Teddington", not "great job".
  6. Check from each town. Type your trade plus each town name into Google. Note whether you appear in the pack, the ordinary results or nowhere. Done looks like: a dated note with five rows. "Nowhere" is useful: it is the page you write next.

The profile fields in step 1 are explained on the Google Business Profile page. How the profile and the pages work together is on the SEO page.

Mistakes we see

  • "Surrey" and "London" both in the profile description. It reads as hedging to a customer and as noise to Google. Name the towns.
  • One page listing fifteen towns. Google files it under none of them. One town per page.
  • Buying "South West London" ads to make up for a thin site. At £15 to £19 a click in Kingston and Teddington, a page that does not convert burns money quickly. Fix the page first.
  • Ignoring Surbiton. It is the largest single local term in our data for dentists and estate agents, and plenty of Kingston firms treat it as a suburb. To the searcher it is a town.
  • Different phone numbers on the profile and the site. Two numbers read as two businesses. Pick one.

Want the five towns checked?

Send us your trade and your website. We will search it against Kingston, Surbiton, Twickenham, Teddington and Hampton the way a customer would and reply with one line per town: pack, ordinary results, or missing. That tells you which page to write first. If you would rather run the six steps yourself, the method above is the whole of it. Which do you want: the five-town check, or to do it yourself?