The problem with a single position
Local search results are assembled per searcher, and proximity is one of the heaviest inputs. Stand outside Manchester Piccadilly and search for a plumber, then run the same search in Sale, Prestwich and Ashton-under-Lyne, and you will see four different sets of three businesses. A rank tracker that reports one number for "plumber Manchester" is averaging those four realities into a figure that describes none of them.
That average is not merely imprecise; it is systematically flattering. Most tools sample from a city's notional centre, which for Greater Manchester means somewhere around Albert Square. If your premises are in the Northern Quarter you will look excellent. If they are in Stockport you will look ordinary while actually dominating a market of 300,000 people. Both readings lead to bad decisions.
The local module in Semalt starts from the assumption that local visibility is a shape rather than a number, and everything else in this guide follows from that.
Grid tracking and what it reveals
Instead of one sampling point, Semalt queries your priority terms from a lattice of points across the area you define — typically a 7×7 or 9×9 grid, spaced according to how dense the market is. Each point returns the pack as a searcher there would see it. The result is a heat map: green where you hold a top-three position, amber where you are visible but below the fold, red where you do not appear at all.
Three findings come out of nearly every first map we run for a Greater Manchester client:
- The visibility radius is far smaller than the marketing claims. A firm advertising "serving all of Greater Manchester" is frequently invisible four miles from its own door. That is not a failure — it is how local ranking works — but it should change how the marketing budget is spent.
- The boundary is asymmetric. Visibility rarely radiates evenly. It stretches along the corridors where competitors are absent and collapses where a strong rival sits. Motorway and Metrolink geography shapes the map far more than distance in miles.
- Different services have different maps. A dental practice may hold the pack for "emergency dentist" across five postcode districts and appear nowhere for "invisalign" two streets away, because the competitive set for each query is entirely different.
Semalt stores the maps over time, so you can watch the green area expand after a piece of work rather than arguing about whether a single reported position moved from 4.2 to 3.8.
Defining the area you actually serve
Before any tracking is switched on, decide what geography matters. Radius-based definitions are the default in most tools and they are almost always wrong: a ten-mile circle drawn around a business in Salford includes swathes of open country to the west and stops short of the customers it actually serves in Trafford.
Semalt lets you build the area from postcode districts, which is how UK businesses genuinely think. A commercial cleaning firm might define M1–M4 and M15–M17 as its core, add M20, M21 and M33 as secondary, and exclude the outer boroughs entirely. Tracking, reporting and revenue attribution then all use the same definition, and the question "are we winning where it pays?" becomes answerable.
The exercise worth doing first
Pull your last 200 customers, plot them by postcode district, and rank the districts by revenue. Most businesses discover that three or four districts produce the majority of their income, and that they have been spending equally across twelve. Local SEO gets dramatically cheaper once the map is honest.
The profile fields that move the needle
The Google Business Profile does most of the heavy lifting in local results, and most profiles are half-finished. Semalt audits yours against the profiles currently holding the pack for your priority terms in your area, which turns vague advice into a specific list of differences.
| Field | Why it matters | Common mistake |
|---|---|---|
| Primary category | The single strongest on-profile lever; it determines which queries you are eligible for at all | Choosing a broad category ("Contractor") when a specific one exists ("Roofing contractor") |
| Secondary categories | Extend eligibility without diluting the primary | Adding ten loosely related categories and weakening relevance for all of them |
| Services and descriptions | Feeds the queries you surface for, especially long-tail | Left empty, or filled with the same paragraph copied across every service |
| Hours, including special hours | Affects eligibility for "open now" and trust after a wasted journey | Bank holidays and the Christmas fortnight never updated |
| Photos | Correlates with engagement; geo-relevant imagery helps users choose | Five stock images uploaded in 2021 and nothing since |
| Products and booking links | Real estate in the profile panel; direct conversion path | Ignored entirely by service businesses who assume it is retail-only |
| Attributes | Filters users apply: wheelchair access, parking, women-owned, appointment required | Unset, so you are filtered out of searches you would win |
Semalt monitors the profile for unsolicited changes too. Google applies user-suggested edits and algorithmic updates without asking, and a category or an opening time can change quietly. When your pack visibility falls off a cliff on a Tuesday, the first thing to check is whether the profile still says what you wrote.
Reviews: velocity beats volume
There is no magic number of reviews. What matters is being credible relative to the businesses currently in the pack for that query, in that place, and showing a living stream rather than a historical lump. Semalt reports the review count, average rating and monthly velocity of every current pack holder alongside yours, so the target stops being abstract.
Four points we labour with clients, because they are where local reputation work goes wrong:
- Steady beats spiky. Forty reviews in a fortnight after two silent years looks exactly like what it usually is. Two or three a week indefinitely is worth more.
- Respond to everything, briefly. Response rate is visible to customers and correlates with conversion from the profile. A one-line reply is fine; a defensive essay under a two-star review is not.
- Never gate or buy. Filtering out unhappy customers before the review request breaches Google's policies and, in the UK, sits squarely in the CMA's line of fire on fake and incentivised reviews. The downside is existential; the upside is a few decimal points.
- Reviews mentioning the service and the place help. You cannot script them, but asking "what did we do and where?" in the request tends to produce reviews that mention exactly that.
See your own visibility map first
Add your profile, define the postcode districts you serve, and Semalt will produce the grid for your top terms. It takes about fifteen minutes and it usually reframes the whole local conversation.
Sign in to Semalt Our local SEO serviceCitations and NAP in the UK
Citation building was oversold for a decade and is now underrated. Nobody needs 300 directory listings. What matters is that the name, address and phone number Google finds across the sources it trusts agree with each other — because inconsistency is a confidence problem, and confidence decides borderline pack placements.
Semalt checks the UK sources that actually carry weight and flags mismatches: Companies House, Yell, Thomson Local, Bing Places, Apple Business Connect, the relevant trade bodies (Gas Safe, FMB, RICS, SRA, CQC depending on sector), chambers of commerce, and the local listings that regional publishers still maintain. It also catches the two problems that cause most damage — a previous address left live after a move, and a call-tracking number published in some places but not others.
The move case is worth dwelling on because it is common in a city with as much commercial churn as Manchester. When a business relocates from, say, a serviced office in Spinningfields to its own unit in Openshaw, the old address persists across dozens of sources for years. Google reads the conflict and hedges, and the business wonders why its pack visibility never recovered.
Location pages that are not spun
The template approach — one page per town, town name swapped, 400 words of the same copy — has been discounted for years and now actively signals low quality. Semalt scores your existing location pages for near-duplication against each other, and the results are usually uncomfortable: pages at 92% similarity that everyone assumed were "localised".
What works instead is fewer pages with real content. A genuinely useful page for Stockport contains projects completed in Stockport, named staff who cover it, travel and call-out specifics, parking or access notes, local pricing where it differs, and photographs taken there. That is a page you can only write if you actually do business there — which is precisely the signal Google is trying to detect.
The practical rule we use: build a location page only when you can answer "what is on this page that could not appear on any other?" with three concrete things. Otherwise strengthen the single service page and let the profile carry the geography.
Multi-location and service-area businesses
Two structures cause most of the confusion, and Semalt handles them differently.
Multi-location businesses — a veterinary group with practices in Didsbury, Urmston and Whitefield — need one profile per premises, each with its own landing page, its own reviews and its own tracking grid. The classic failure is pointing every profile at the homepage, which wastes the strongest relevance signal available and leaves the locations competing with each other. Semalt tracks each location separately and rolls them into a group view, so you can see that Urmston is carrying the business while Whitefield has been invisible since a category change in March.
Service-area businesses — trades, mobile services, anything without a shopfront — hide the address and declare a service area. Here the grid map is the whole game, because there is no premises pin to anchor visibility. The winning approach is rarely "declare all ten boroughs"; it is concentrating relevance on a realistic core and expanding as the map goes green. Semalt shows the expansion happening, which is the only honest way to know whether adding Wigan to the coverage list did anything at all.
Measuring in calls, not positions
Local SEO produces actions that never touch your website: calls placed from the profile, direction requests, messages, bookings. Reporting that ignores them understates the work by a wide margin, and reporting that counts them without joining them to revenue overstates it.
Semalt pulls profile insights alongside organic sessions and joins both to whatever you use to record enquiries. The report that matters has four lines: calls and direction requests by month, enquiries attributed to local search, revenue from those enquiries by postcode district, and the share of your defined area where you hold a pack position. Everything else is diagnostic.
An Altrincham clinic we work with had eleven months of rising "impressions" in their old report and no idea whether it mattered. Joined to their booking system, the picture was blunt and useful: 71% of new patients came from three postcode districts, and the fourth district they had been paying to target had produced two appointments all year.
A 60-day local plan
| Weeks | Work | Expected signal |
|---|---|---|
| 1–2 | Define the trading area by postcode district. Baseline grid for the top ten terms. Full profile audit against current pack holders. | None yet — this is the measurement you will be judged against. |
| 3–4 | Categories, services, attributes, hours, products and a first batch of real photographs. Fix NAP conflicts and kill any old address still live. | Category and service changes often move the map within days. |
| 5–6 | Review request process built into normal operations. Respond to the backlog. Start weekly profile updates. | Velocity becomes visible; conversion from the profile usually improves first. |
| 7–8 | Rewrite or consolidate location pages. Internal links from service pages to the surviving location pages. Re-run the grid and compare with week one. | Green area expands along the corridors where relevance improved. |
Sixty days is enough to see the map change. It is not enough to displace an entrenched pack holder with 400 reviews and a decade of local links — that is a twelve-month project, and anyone promising otherwise is selling something.
Questions we get asked
Why does my ranking change depending on where I search from?
Because proximity is one of the strongest factors in local results. A single reported position is meaningless across a conurbation. Grid tracking shows the shape of your visibility instead of one number.
How many reviews do I need for the Local Pack?
There is no threshold. Be credible against the businesses currently in the pack for that query in that area, and keep a steady flow. Semalt shows their counts, ratings and velocity so the target is concrete rather than folklore.
Do I need a page for every town I serve?
Only where you can say something genuinely specific — real projects, named staff, real coverage detail. Three substantial pages beat thirty templated ones, and near-duplicate scoring will tell you which of your existing ones are already too thin.
Can I rank in Manchester city centre from an office in Bolton?
In the pack, realistically no — proximity is decisive. In organic results below the pack, yes, with strong content and links. That distinction should drive where you spend, and the grid map makes it obvious rather than theoretical.
Does Semalt post to the profile for me?
It schedules and publishes profile updates and monitors for unsolicited changes. Categories and service areas we deliberately keep manual — they are high leverage, easy to get suspended over, and worth ten minutes of a human's attention.