The local SEO checklist, in the order that matters
You are on page two for the thing you actually do, while a competitor two streets away sits in the map pack. Usually the gap is six unglamorous fixes, not a bigger budget.
You rank on page two for the thing you actually do, while a competitor two streets away sits in the map pack with half your reviews and a worse website. It rarely comes down to budget. In most local audits we run, the gap is six unglamorous fixes that nobody has got round to, and four of them are not on the website at all.
Work through this in order. The profile items change visibility in weeks. The website items follow the normal SEO timeline of three to six months, which is covered in more detail in how long SEO takes to work.
The checklist
| # | Item | Done when | Typical mistake |
|---|---|---|---|
| 1 | Google Business Profile claimed and verified | Verification badge shown, you control the login | An old agency or former staff member still owns it |
| 2 | Primary category set precisely | Category names your core service, not a parent term | “Clinic” instead of “Dental clinic”; “Restaurant” instead of “Ramen restaurant” |
| 3 | Secondary categories added | 2-4 added, each genuinely offered | Ten categories stuffed in, diluting relevance |
| 4 | Services and products listed with descriptions | Every service you sell, each with 2-3 sentences | Service names only, no descriptions |
| 5 | Hours, holiday hours and attributes complete | Special hours set for the next 12 months | Open on Boxing Day according to Google |
| 6 | Business description written | 750 characters, service and area named in the first sentence | Keyword-stuffed, or left blank |
| 7 | Photos uploaded on a schedule | 5-10 new photos a month, geotagged where possible | 12 photos from the launch in 2021 |
| 8 | Review request process running | An automated ask after every job or visit | Asking only when someone is obviously delighted |
| 9 | Every review answered | 100% response rate, within 72 hours | Only the bad ones get replies |
| 10 | NAP identical everywhere | Same format on site, profile and every directory | “Suite 4” / “Ste. 4” / “Unit 4” across three listings |
| 11 | One page per location | Unique address, map, hours, team, local detail | Same text with the town name swapped |
| 12 | One page per core service | Separate URL, 600+ words, its own internal links | All services on one page |
| 13 | LocalBusiness schema on every location page | Valid in Google’s Rich Results Test | Schema present but address mismatched with the profile |
| 14 | Local landing pages linked from the main nav | Reachable in one or two clicks from the homepage | Orphaned pages only in the sitemap |
| 15 | Map pack and organic tracked separately | Two numbers in your monthly report | One “ranking” figure that hides which one moved |
Get the Google Business Profile to 100% first
The profile is the highest-leverage thing you own, because it feeds the map pack directly and does not wait on crawling. Two fields do most of the work.
Primary category. This is the single strongest relevance signal in local search and most businesses pick it too broadly. A physiotherapy practice categorised as “Medical clinic” is competing with every clinic in the city; categorised as “Physical therapist” it competes with the right handful. Change it, then watch your map pack positions for two to three weeks before changing anything else, so you know what caused what.
Services. Add every service individually with a two or three sentence description written in the words customers use. This is free text that Google reads, and for clinics in particular it is where treatment names belong.
Then the maintenance items: photos on a cadence rather than in a burst, posts for genuine offers, and the Q&A section seeded with the questions your front desk answers every day. For restaurants, keep the menu, the dietary attributes and the booking link current, because those are the fields that decide whether someone taps through or taps the next result.
Reviews: velocity beats volume
A business that gains two reviews a week for six months looks healthier than one that collected 40 in a fortnight and nothing since. Build the ask into the job rather than relying on memory:
- Send the request 2-24 hours after the appointment or delivery, by SMS, with a direct link to the review form.
- Ask one staff member to own the number weekly. A target of one or two a week is more achievable and more useful than a campaign.
- Reply to every review inside 72 hours. On positive ones, name the service in your reply. On negative ones, acknowledge, offer to take it offline, and do not argue in public.
- Never gate, incentivise or filter. It breaches Google’s policies and the whole profile is the thing at risk.
NAP consistency: boring, and it is the problem
Name, address and phone number must match character for character everywhere. Pick one canonical format, write it down, and then correct the platforms that matter: Google Business Profile, Bing Places, Apple Business Connect, Facebook, your own site footer, and the two or three directories specific to your trade.
Common culprits: a tracking phone number on the website that differs from the profile, an old suite number from before you moved, and the same business listed twice because someone claimed it on a second email address. Duplicate listings are worth hunting down and merging before you do anything else.
Location and service pages that do not cannibalise each other
The rule is one page per location and one page per service, and each page must earn its own existence. A page for Clapham should mention the nearest station, the parking situation, the practitioners who work there and the hours that branch actually keeps. If you could swap the town name and the page would still read correctly, it is duplicate content and all of them will underperform.
Technical specifics worth getting right:
- URL pattern
/locations/clapham/and/services/root-canal/, not query strings. LocalBusiness(or the relevant subtype, such asDentistorRestaurant) schema on each location page, withaddress,geo,openingHoursSpecificationandtelephonematching the profile exactly.- Internal links both ways: each service page links to the locations offering it, each location page links to its services.
- A unique title and H1 per page. If two pages target the same phrase, consolidate them.
Map pack versus organic: two competitions
They are decided differently and should be reported separately.
| Map pack | Local organic | |
|---|---|---|
| Decided mainly by | Proximity, profile relevance, reviews, prominence | Page content, internal links, site authority, speed |
| What moves it | Categories, services, reviews, NAP accuracy | Location and service pages, links, technical health |
| Time to move | Often 2-6 weeks | Three to six months |
| Where to track it | Grid-based local rank checks from different points in your service area | Search Console, filtered to your location pages |
City-centre average positions flatter you. Check rankings from several points across the area you actually serve, because proximity means a customer three miles out sees a different map pack from one across the road.
What this looks like when we do it
For a UK deep house cleaning business the work was profile completeness, review flow and service-area pages built one by one rather than spun. For Reckenen, an accounting practice on WordPress, it was local landing pages and schema on a site that already had the authority but was not telling Google where it operated. Neither needed a rebuild.
Most of the checklist above you can do yourself, and you should: the profile items cost nothing but attention. If what you find is 40 directory listings with three different addresses, or eight location pages that are the same page, that is the point where our SEO team is worth paying for. Either way, the free audit will tell you which of the fifteen items are actually costing you, and you keep the action plan whether you hire us or not.
Common questions
What is the most important local SEO ranking factor?
Proximity to the searcher, which you cannot change, followed by Google Business Profile relevance and prominence, which you can. In practice the primary category, the services list, review volume and velocity, and a consistent name, address and phone number across the web do most of the work.
How many Google reviews do I need to rank in the map pack?
There is no threshold. What matters is being competitive with the businesses already ranking for your terms and keeping a steady flow. If the three businesses in the map pack have 40 to 60 reviews, 12 will not compete. Aim for a consistent weekly rate rather than a one-off push.
Do I need a separate page for each location?
Yes, if each location has its own address and staff. Each page needs its own address, embedded map, opening hours, team, parking and local detail, plus LocalBusiness schema. Duplicating the same 400 words across eight town names is the fastest way to get all eight ignored.
How long does local SEO take to work?
Google Business Profile changes such as categories and services can affect map pack visibility within a few weeks. Organic local rankings follow the normal timeline of three to six months. We never promise organic SEO results faster than that, whatever the local competition looks like.
Should I buy citations in bulk directories?
No. A handful of accurate, relevant listings beats hundreds of automated ones, and bulk submissions tend to create the NAP inconsistencies you then pay someone to clean up. Fix the major platforms by hand and add industry-specific directories that real customers use.
Proof from our work

Organic traffic for a London cleaning company
A London deep-cleaning company wanted to own cleaning searches in the UK. Three months of local SEO, on-page work and link building took organic traffic up 1,800%, with 365K impressions, 715 ranking keywords and 84% of visits coming from the UK.
Read case study
Local SEO and WordPress rebuild for a Virginia accounting firm
- Fixed technical SEO issues and restructured the site's architecture
- Researched target keywords and rewrote service pages around search intent
- Rebuilt key pages in Elementor with proper headings, schema and internal links

1.35K → 5.54K organic clicks in 3 months
A business wanted first-page rankings for its core terms. Starting with a full audit, we fixed the technical issues, rebuilt the key pages around search intent and earned links. In three months clicks went from 1.35K to 5.54K and impressions from 77.4K to 433K.
Read case study