Skip to content
Schedule a free consultationSee results
← All case studies
SEOE-commerce12 weeks · May – August 2026

Multi-Location Local SEO

UK two-site retailer · Local SEO + national e-commerce

A two-shop retailer was down 34% year on year when we took over. Twelve weeks later they were up 45% — and their shop pages had gone from 1.5% of organic traffic to 54%.

+45%
Organic clicks, year on year
reversed from −34% at takeover
// Snapshot

By the numbers

51x
Clicks to the shop pages
7 → 358 per 28 days
4x
Queries ranking on page one
19 → 77
+138%
Search impressions
30,236 → 72,010
+48%
Organic clicks
452 → 667 per 28 days
+42%
Organic sessions
574 → 815 (GA4)
69%
Engagement rate
held flat as traffic grew
// The Problem

Where we started

The client runs two physical shops in two different cities alongside a national online store. Both shops hold a 4.9-star rating on Google, built over hundreds of customer reviews. The business was not struggling to serve customers — it was struggling to be found by them.

Organic traffic was in sustained year-on-year decline: down 29%, then down 34%, in the two months either side of us starting. This was not a plateau to be nudged upward. It was a slide that was still moving.

The cause was not the online store, which worked, but the local layer, which barely existed. No LocalBusiness schema anywhere on the site. No street address on either location page. Opening hours contradicting themselves in five separate places. Both Google Business Profiles pointing at the homepage rather than the shop the searcher had just looked up. And 3,304 URLs sitting in 'crawled — currently not indexed', roughly 90% of them parameter junk from the site's own search and recommendation apps.

The commercial consequence: for the single most valuable non-brand query this business has, the site averaged position 14.4. The two location pages together took seven organic clicks in 28 days — 1.5% of all organic traffic.

// What We Did

The approach

01

We talked them out of the obvious build

The standard agency play here is a template and ten satellite town pages across the surrounding area. We checked three months of query data before recommending it, and again when our own first analysis looked wrong. The demand exists but does not convert — the largest of those towns generated 880 search appearances and exactly one visit. Ten new pages would have chased traffic that does not turn into customers, on a site that could not afford to dilute its authority.

02

Fixed the entity layer before writing anything new

Schema, addresses, consistent hours across every surface, Google Business Profiles repointed to the correct location pages. Unglamorous work with no content deliverable attached to it, and the single biggest lever in the account. The location pages went from 7 clicks to 358 without becoming any longer — they became legible to Google as physical businesses.

03

Stopped a workstream we had already sold

Category and product-attribute content had been commissioned and was running. The data did not support continuing it: 78 category pages returning 29 clicks a month from average position 30.9, against competitors at Domain Rating 39–70 while this site sits at 6. We halted the commissioning and redirected the budget rather than keep billing for output that was not going to rank.

04

Re-verified our own analysis and found it wrong

A mid-engagement audit of our own reporting found four sets of inherited figures that did not reproduce against the Search Console API — including the headline opportunity number, overstated by roughly three times. We corrected them before they reached the client, and re-verified every figure on this page directly against the API.

// Results

What happened

  • Measured across two matched 28-day windows, one immediately before the engagement and one at week twelve: organic clicks 452 → 667 (+48%), impressions 30,236 → 72,010 (+138%), queries on page one 19 → 77.
  • Clicks to the two location pages went from 7 to 358 — from 1.5% of all organic traffic to 54% of it. Roughly 13 people a day now land on a shop page having searched for that kind of business in that city. Before, it was one person every four days.
  • All six target non-brand local terms moved onto page one from an average of page two. The two 'near me' terms — the highest-intent local searches there are — moved from positions 11 and 9 to position 6.
  • Year on year is the strongest evidence here. The site was losing traffic every month before the engagement (−29%, −34%, −11%, −5%) and turned positive at +45% in month five. The counterfactual was continued decline, not flat performance — which makes +48% a conservative reading rather than a generous one.
  • Seasonality reinforces it rather than explaining it away: the previous year this site's summer traffic ran at 0.88x its spring traffic. Traffic normally falls into summer here. This year it ran at 1.47x.
  • Engagement rate held at 69% throughout, so the additional traffic behaves like the existing traffic rather than being thin volume inflating a number.
// Next step

Want results like these?

Schedule a free consultation and we'll run the same diagnostic on your account.

All figures pulled directly from the client's Google Search Console and GA4 accounts on matched 28-day windows. Client name and sector anonymised pending permission; real data available on request.