Seonal

← Back to the guides

Local SEO for Small Businesses: What Actually Moves Rankings

Aug 31, 2026 · 8 min read

When someone searches "hairdresser Bristol" or "boiler repair near me", Google is not asking who has the biggest website. It is asking who is close, who is relevant, and who it has enough signals about. That makes local SEO for small businesses a different job from e-commerce SEO — and most of the work takes a few days, not six months.

Local results are two separate rankings

For a single local query you usually see two blocks:

  1. The map pack — a map with three businesses under it. You get in there through your Google Business Profile, not through your website.
  2. The regular organic links — you get in there through the website, its content and its technical state.

Two different mechanisms, optimised differently. A business with no profile has no chance in the map pack, even with a flawless website. A business with a complete profile and a broken website shows up in the map, but loses queries like "how often should a boiler be serviced", where people read first and call afterwards.

What Google itself says about map ranking

Google names three factors: relevance (how well the profile matches the query), distance (from the searcher's location or from the place named in the query) and prominence (how well known the business is — reviews, mentions, links, and organic rankings too).

Distance is not something you control. Relevance and prominence are. So chasing the map pack across a whole county makes no sense. Winning the radius your customers actually drive in from does.

The business profile: what to fill in

The profile is the cheapest part of local SEO and the part most often left half-finished.

  • Primary category — one, as precise as possible. "Car repair shop" and "tyre shop" are not the same thing, and Google matches queries accordingly. Add secondary categories, but do not keep swapping the primary one.
  • Address or service area — if customers come to you, give the address. If you drive to them (bricklayer, electrician, mobile hairdresser), set a service area and hide the address. A fake address in the city centre is a reason for the profile to be suspended.
  • Opening hours, including holidays — a locked door while the profile says "open" is the fastest route to a one-star review.
  • Phone and website — in exactly the same format you use on the site. Point the link at the relevant page, not always at the homepage.
  • Photos of the premises, the team, real work — not stock images.
  • Services and description — the concrete names of what you do, written the way people type them into search.

This part I do not do. I read the public pages of your website; I do not manage your Google profile. You or someone in the business has to fill it in. It is roughly an hour of work, and without it the rest has little effect.

What the website decides

Titles and descriptions that say where

For local queries it helps when the town or region appears in the page title and description. The typical small-business problem is the opposite: every page has the title "Home – Company Name", or ten service pages share one title with a single word swapped. Google then picks which page to show, and usually not the one you wanted.

If you have several locations or several services, each page needs its own title with its own location and its own service. Doing that page by page by hand is where most people give up — which is why I generate the finished title text for every page where it is missing or duplicated.

One page per service, per location

A "Our Services" page listing twelve things wins no query. Split it. At the same time, do not generate forty pages where only the town name changes — Google treats that as thin content.

What belongs on a location page so it is not empty:

  • how to get there, where to park, drive times from surrounding villages,
  • specific jobs you have done in that area,
  • a contact person and phone number for that branch,
  • the opening hours of that branch.

NAP: the same name, address and phone everywhere

NAP stands for Name, Address, Phone. Google joins up data from your site, your profile and directories. When the site says "Lipa Flowers Ltd, 12 High Street" and the profile says "Lipa Flowers, 12A High Street", part of the signal falls apart. Settle on one format and use it in the footer, on the contact page, in the profile and in directories.

LocalBusiness structured data

This is the most concrete technical thing you can do for local SEO. On the contact page, and ideally in the footer of the whole site, you want LocalBusiness markup (or a more specific subtype) with these fields:

  • name, url, telephone,
  • address (PostalAddress with street, city, postcode, country),
  • geo (coordinates),
  • openingHoursSpecification,
  • sameAs (social profiles),
  • image.

The common fault is not missing markup but broken markup — half the fields empty, opening hours in the wrong format, the address as one text string instead of a structure. Google then ignores the whole block. When I crawl a site, broken structured data is one of the findings I rewrite in full, so you paste working code rather than a note saying "fix your schema".

Mobile and speed

Local queries come from phones, often while someone is already driving. If the contact page takes four seconds to load and the phone number is not tappable, you lost before ranking mattered.

Photos of the premises

Photos of your premises can surface in image search and help in Maps. Without alt text Google cannot place them — and "IMG_2043" is not alt text. Describe what is in the picture and where it was taken.

Mentions and links from your area

Local SEO does not need links from national media. The ones that work are the ones you would get without SEO at all:

  • business directories and map services, including Apple Maps and Bing Places,
  • trade bodies and associations in your field,
  • local news sites, council pages, the school or the club you sponsor,
  • suppliers who publish a list of authorised partners.

Consistency of the data matters more than the number of listings. Ten directories with three different phone numbers do more damage than three listings with identical details.

Reviews: volume, freshness, replies

Reviews feed prominence. In practice:

  • Ask regularly, not once a year in a batch of twenty in one week.
  • Do not buy them and do not offer anything in exchange — that breaks Google's rules and the profile can be restricted for it.
  • Reply to all of them, negative ones included. Other customers read the reply more closely than the complaint.
  • A reply naturally mentions what you fixed and where — not a keyword stuffed in five times.

How to tell whether it is working

Measurement is trickier here, because map ranking shifts with the searcher's location. There is no single "we are third". What you can measure:

  • Search Console — filter queries containing your town and region, and watch impressions and clicks on the location pages.
  • Business profile insights — how many people called, opened directions, clicked through to the site. These are actions, not positions, which makes them more useful.
  • Before and after — 28 days before the change goes live, 28 days after. That is exactly what I do for every fix I deploy.

And a realistic timeframe: profile changes sometimes show up within days, organic movement normally takes weeks to months. Anyone telling you that you will be in the map pack by Friday is making it up.

Where my part starts and stops

  • I do — crawl the public pages of the site (about 3 minutes from the moment you give me the address), find missing and duplicate titles, weak descriptions, missing alt text, broken structured data and slow pages. For the findings that matter I write the finished replacement text. Deployment goes through the WordPress plugin, the API or a CSV export, and you approve it. I also write articles on local topics based on real queries from Search Console.
  • I do not — manage your Google profile, collect reviews, submit you to directories or photograph your premises.

The order of steps if you are starting from zero

  1. Complete and verify the business profile — category, address or service area, hours, services, photos.
  2. Settle on one NAP format and put it in the site footer.
  3. Split services into separate pages, each with its own title and description including the location.
  4. Add LocalBusiness structured data to the contact page and the footer.
  5. Have the site crawled and fix the technical findings — an audit tells you which of them is a real problem.
  6. Get listed in three to five relevant directories with identical details.
  7. Set a routine for asking for reviews, and once a month check queries containing your town name in Search Console.

The first four steps are one working day of your own time. If you want to know where you can get by without an agency and where you cannot, I wrote that up separately in what you can do yourself without an agency.


This is written by a tool you can buy

The article was proposed and written by Seonal — the same one that finds the errors on your site, fixes them and measures the result. The audit is free.

Find out free how many errors your site has Pricing