Skip to content

Local business SEO strategy

Regulated marketing

Proximity is a ranking factor you cannot change

Written by Eugene SuslovLast reviewed 29 August 2026No affiliate links
Sector
Business services
Model
Local service, Multi-location
Competition
High
Time to results
3 to 8 months
Typical monthly
$500 to $3,000

Key takeaways

  1. 1You do not have a ranking. You have a map. The same query returns a different order from one street to the next, and any report giving you a single number for it has averaged away the only thing that mattered.
  2. 2Proximity is the one input you cannot edit, so the work is to change the shape of the demand you chase. Specialist, urgent and considered searches all weight distance less than a bare near-me query does.
  3. 3The rules that decide the pack are a platform's guidelines rather than a regulator's, and they are enforced largely by competitors reporting each other. That makes them adversarial in a way no statute is.
  4. 4The single most consequential technical decision you will make is whether customers come to you or you go to them, because it changes which searches you are eligible to appear in at all.
  5. 5Reviews are a flywheel that does not start by itself. Ranking brings customers, customers leave reviews, reviews improve ranking, and the whole loop waits on somebody asking.

SEO for local businesses is unusual in one respect that changes everything downstream. One of the strongest ranking factors in the category is not a property of your business at all.

It is the distance between you and the person searching, and it changes as they walk from the car park into the kitchen. Nothing you publish alters it, no budget improves it, and a competitor two streets closer starts ahead of you every morning.

So a local business SEO strategy that sets out to rank first for a near-me term has set itself a target that has no single value. There is no such position. There is a different answer at every point on a map.

What follows from accepting that is a shift in what you chase. Distance weighs most heavily on the most generic searches and least heavily on the specific ones, so the ground worth taking is the ground where somebody wants a particular thing rather than a nearby one.

The second unusual thing here is who makes the rules. The pack is governed by a platform's representation guidelines rather than by a statute, and those guidelines are enforced in large part by competitors reporting one another.

One clarification, because the two get run together constantly. This page is about geography. If your problem is that the only person who can write the pages is the one out on a job, that is a capacity constraint and there is a separate playbook for it.

Who already ranks in local businesses

Run your main search from your own premises, then from two miles away, then from the far edge of the area you serve, and write down the three results. Almost every local business SEO conversation improves once those three lists are on the table, because they will not match.

What is on the results page

  • A local pack of three, above the organic results, on almost every query with local intent
  • A map that reorders itself according to where the search happened
  • Directories and best-of pages holding the organic positions under the pack
  • A People Also Ask block about hours, price and whether anybody is open
  • Profile attributes surfaced as filters: open now, accepts walk-ins, wheelchair access
  • Reviews and photographs occupying most of the visible surface of the pack result
  • Answer engines summarising the same profile data before anybody reaches a website
  • Almost nothing on the specific and unusual services a nearby competitor does not offer
  • Google Business Profile

    google.comClaim it

    Not a listing so much as the product itself. For a great many local businesses the profile is where the customer reads the hours, sees the photographs, checks the reviews and taps to call, and the website is never opened. Treat it as the primary asset and the site as its supporting material, which is the reverse of how most budgets are allocated.

  • Apple Maps and Apple Business Connect

    apple.comClaim it

    The one most businesses have never claimed, and it is free. It feeds the maps and assistants on every iPhone, so in some categories it accounts for a meaningful share of direction requests. Claiming it takes about half an hour and almost nobody in a given local market has bothered.

  • The review platforms

    yelp.comClaim it

    They rank on best-in-town queries and feed other maps and assistants. Claim them, keep the details identical to your profile, and answer the difficult reviews in public. Do not choose which customers get asked on any of them, which is now explicitly prohibited rather than merely frowned upon.

  • Nextdoor and the neighbourhood groups

    nextdoor.comClaim it

    Not search, and unusually influential in exactly the categories where proximity matters most, because a recommendation from three streets away carries the local knowledge a search result cannot. Recommendation threads occasionally rank and reliably convert.

  • Lead marketplaces

    thumbtack.comClaim it

    They rank on the near-me terms you are trying to hold and they sell your customer to several of you at once. Worth understanding as a paid channel measured on cost per won job, and worth reviewing on a date you set in advance rather than when the invoice becomes uncomfortable.

  • Best-of listicles and city directories

    expertise.comClaim it

    Pages titled best something in a city, produced at scale, often with a badge available for a fee. Claim what is free and buy nothing. Their genuine value is as a competitor list: the businesses on all of them are the ones your customers are comparing you against.

  • Answer engines and assistants

    the assistants your customers already use

    Increasingly the first place a local question is asked, and they answer from profile data, reviews and whatever text they can read. That makes the profile attributes and a plainly written services page more valuable than they were, and it means a wrong opening hour is now wrong in more places at once.

  • Your competitor two streets away

    the business nearest the searcher

    Listed as a gatekeeper deliberately, because on the most generic queries that is what they are. They are closer than you to a set of people you cannot reach, whatever you publish, and recognising that is what stops a budget being spent on the one thing it cannot move.

A grid of forty-nine map points across a service area, with the business appearing in the top three at the points nearest its premises, appearing further down in a middle band, and absent entirely at the edges.
One query, forty-nine answers. Any report that gives you a single position has averaged this away.

What people actually search

Sort these by how heavily distance weighs on them rather than by volume. The clusters at the top of that order are the ones a nearer competitor wins by default; the ones at the bottom are where a business can genuinely be chosen for what it is.

Bare near me

Local, undifferentiated

[category] near me

The page that wins it: A complete profile, and realistic expectations

The most distance-weighted cluster and the one everybody asks about. You will win it for the people close to you and lose it for the people who are not, and no content changes that.

Open now and urgent

Local, immediate

[category] open now

The page that wins it: Exact hours, special hours, and an honest answer about after hours

Distance still matters and availability matters more, which makes it winnable against a nearer competitor who closes earlier. It is also the cluster where a wrong opening hour does the most damage.

Specialist and unusual

Local commercial, specific

[category] that does [specific thing]

The page that wins it: A page per thing you do that the nearby competition does not

The best cluster in this playbook. Distance weighs least here, because there may only be two businesses in the county that do it, and a customer will travel for the one that says so.

Considered and high value

Commercial investigation

best [category] in [city]

The page that wins it: Reviews, proof of work, and a reason to travel

People will drive further for something that costs more or matters more. This is where reputation outweighs geography, and where the directories rather than the pack hold the organic results.

Neighbourhood and landmark

Local commercial

[category] in [neighbourhood]

The page that wins it: One page per place you genuinely operate in, not per place you would like to

Worth building only where you have a real presence or real customers. Generated neighbourhood pages are the commonest form of thin content in this category and rank for nothing.

Attribute filtered

Local, qualified

[category] with parking

The page that wins it: The profile attributes, filled in completely

Answered by profile fields rather than by pages, which is why it is missed. Accessibility, payment methods, languages, parking and walk-in availability are all filters somebody is using right now.

Your own name

Navigational

[business name] hours

The page that wins it: A correct profile, and a website that agrees with it

The highest-volume branded cluster and it usually never reaches your website at all. What matters is that the profile answer is right, because that is the answer being given.

Hiring

Navigational and transactional

[role] jobs [town]

The page that wins it: A real job page with pay and hours

Local, specific and almost entirely uncontested by employers who post to a board instead. In categories where staffing caps growth, this cluster is worth more than the acquisition ones above it.

A four-stage loop: visibility brings a customer, the customer is served, the customer is asked, the review improves visibility. A break is marked at the asking stage, where the loop stalls if nobody starts it.
Three of the four stages happen whether or not anybody thinks about them. The fourth never does.

What the rules change

Unusual in this directory because the most consequential rules are a platform's rather than a regulator's, and because they are enforced by competitors. Take advice on anything specific to your trade; none of this is legal advice.

1

The name field is not a keyword field

The Google Business Profile representation guidelines, which require the name to be the real-world name of the business

What it means

Adding a service or a town to the name is the most common violation in this category and the most commonly reported one, because any competitor can submit an edit. Removal or suspension of the profile costs far more than the temporary lift was worth, and reinstatement takes weeks.

So do this

Use the name on your sign, your invoices and your registration, with nothing appended. If a competitor near you is doing otherwise, report it through the edit route rather than copying it, and record the date, because these things get reverted and re-added.

2

One profile per real location, staffed during the hours you claim

The same guidelines, which require a permanent physical location with staff present and prohibit listings at mailboxes, virtual offices and co-working addresses used only as an address

What it means

Creating profiles at addresses you do not staff is the standard growth hack in this category and it is a direct breach. It also tends to be reported quickly, because a competitor can see a listing appear at an address they know is a mailbox.

So do this

One profile per place a customer could actually meet somebody during your stated hours. If you travel to customers, set it up as a service-area business and let the areas do the work the fake addresses were doing, which they do better and permanently.

3

Reviews from your own side have to say so

The FTC rule on the use of consumer reviews and testimonials, 16 CFR part 465, effective 21 October 2024

What it means

The rule reaches a review written by an officer, manager, employee, agent or an immediate relative and posted on a third-party platform without disclosing the relationship, and it reaches a business that solicits them. The review-gating half of the same rule is covered on the trade playbooks in this directory; this is the half that catches a small business asking its own staff.

So do this

Tell your team explicitly that they may not review the business, and that relatives may not either. Ask customers instead, ask all of them the same way, and answer the negative ones in public, which persuades a reader more than another five-star entry does.

4

Advertising an area you cannot actually serve

State consumer protection statutes on deceptive practices, together with the profile guidelines on service areas

What it means

Listing thirty towns you have never worked in, or a service area covering a county you would refuse a job in, is a misrepresentation as well as a dilution. It also produces enquiries you will decline, which costs you a response and the caller their afternoon.

So do this

Set the service area to where you will genuinely go this week at the price on your site, and say what happens beyond it: a travel charge, a minimum job value, or a referral to somebody else. That sentence converts better than the longer list did.

Four profile habits on the left, each paired with what replaces it on the right: a keyword in the name, a mailbox address, a review from a member of staff, and a service area covering towns you would refuse.
Every one of the four on the left can be reported by a competitor who recognises the address.

Proving expertise

The proof that works here is proof of being genuinely present rather than proof of expertise. A customer is deciding whether you are real, nearby and open, in about that order.

  • A photograph of the actual premises, from the street, so it can be recognised
  • Hours that match everywhere, including holidays and lunch closures
  • Photographs of the people who work there, taken this year
  • How long you have been at this address
  • The area you genuinely serve, and what happens beyond it
  • Reviews across more than one platform, with your replies to the hard ones
  • Licences, registrations and memberships with numbers a customer can check
  • Parking, access and payment details, because they answer real filters
  • A phone number that a person answers during the hours you publish

How to build a local business SEO strategy

Six months, and the first fortnight is configuration rather than content. A local business SEO strategy usually shows movement within about eight weeks, because the profile changes take effect quickly and almost nobody in a given market has made them.

  1. 1

    Weeks 1 to 2

    Get the configuration right

    • Decide storefront or service area, and set the profile up accordingly
    • Fix the business name to the real one, with nothing appended
    • List every service explicitly rather than leaving it to the category
    • Fill in every attribute: access, parking, payments, languages, walk-ins
    • Set exact hours and special hours for the next twelve months
    • Claim the maps and review platforms you have never claimed

    You end up with
    A profile eligible for searches it was previously invisible to

  2. 2

    Weeks 2 to 6

    Find out what your map actually looks like

    • Run a grid of checks across the area you serve, not one check at the office
    • Write down where you appear, where you nearly appear and where you never do
    • Identify who is winning the places you never appear, and why
    • Decide which of those places you can realistically contest
    • Stop counting the places distance has already decided
    • Set that grid as the baseline for the monthly report

    You end up with
    A map instead of a ranking, and a shorter list of places worth working on

  3. 3

    Weeks 5 to 16

    Change the shape of the demand

    • Write a page for each specialist thing you do that nobody nearby does
    • Write the considered and high-value pages people will travel for
    • Build genuine neighbourhood pages only where you have real presence
    • Ask every customer for a review, the same way, and answer all of them
    • Publish finished work with the location and the specifics in it
    • Add the structured data for the location, the hours and the departments

    You end up with
    Demand that weights distance less, which is the only lever this playbook has

  4. 4

    Weeks 14 to 26

    Measure customers, not positions

    • Report the grid rather than a position
    • Track profile calls, direction requests and messages separately
    • Ask every enquiry the same source question and record it
    • Track which enquiries became work and what it was worth
    • Review paid channels on cost per won job
    • Report how booked you are alongside the demand numbers

    You end up with
    A report that shows where you are visible, and what that produced

Technical fixes with the best payoff

The highest-leverage technical work here is configuration rather than code, and one setting matters more than everything else on this list put together.

  • The storefront and service-area setting is wrong

    An hour, and it is the most valuable one here

    A business that travels to customers but shows a street address narrows the area it can appear in to a radius around that address. A business customers visit but which hides its address loses the searches that depend on being findable. It is one setting and it decides which searches you are eligible for at all.

    Decide honestly which you are, including the hybrid case, where you have premises customers can visit and you also travel. Set the address and the service areas to match reality, then make the website say the same thing in the same words.

  • The hours are wrong somewhere

    An hour, then ten minutes a quarter

    Hours appear on the profile, on the website, on the review platforms, in the maps apps and now inside assistant answers. They diverge quietly, and the one place they are wrong is the one somebody reads before driving over. Holiday hours are almost universally unset.

    Set them once, set special hours for every public holiday for the next twelve months, and check the website and the review platforms agree word for word. Then put a recurring reminder in the diary for the week before each holiday.

  • The attributes are empty

    An hour

    Wheelchair access, parking, payment methods, languages spoken, walk-ins accepted, appointment required. These are filters people are actively using, they are free, and on most profiles half of them are unset, which makes the business ineligible for those refinements entirely.

    Fill in every attribute that applies, honestly. Then put the same facts on the website in words, because that is what an answer engine reads when it is not reading the profile.

  • Generated pages for towns you have never worked in

    A sprint, then an afternoon per real place

    Every website platform in this market offers to build a page per town, and the result is a set of near-identical pages differing by a place name. They rank for nothing, they dilute the pages that could work, and they promise a service area you would decline a job in.

    List the places where you have actually done work in the last year. Write a real page only for those, with detail a competitor could not copy: the streets, the property types, the jobs you did, the person who covers it. Delete the rest rather than leaving them.

  • Multiple locations share one page

    A day per location

    A business with three sites frequently has one contact page listing three addresses. None of the three can rank for its own area, none can carry its own hours or its own team, and the profiles have nowhere to point except the home page.

    A page per location with its own address, hours, staff, photographs and a paragraph that could only be about that site. Point each profile at its own page. This is the single largest source of unclaimed traffic for any multi-site local business.

  • The phone number is an image or a script

    An hour

    Rendered inside a header graphic, or injected by a call-tracking script that replaces it after load. In both cases the number a search engine reads and the number a visitor sees can differ, which is exactly the inconsistency this whole category is sensitive to.

    Put the real number in the HTML as a tap-to-call link. If you use call tracking, use a method that keeps the primary number intact for crawlers, which every serious provider supports and most default configurations do not.

  • Nobody has looked at the profile photographs since it was set up

    An hour

    Photographs are most of the visible surface of a pack result, and on most profiles they are three years old, taken by a customer, or a logo on a white background. Customers also add photographs, and those are the ones shown first if yours are thin.

    Ten current photographs: the frontage from the street so it can be recognised, the inside, the team, the work, the parking. Replace them yearly. This is a phone and twenty minutes, and it changes the thing most people actually look at.

A quadrant on two questions: do customers come to your premises, and do you travel to theirs. Four cells give four different profile setups, two of them legitimate hybrids rather than mistakes.
This is one setting, and it decides which searches you are eligible to appear in at all.

Structured data that applies here

The types below fit this industry specifically. Most of them earn no rich result on their own, which is worth knowing before anyone sells the work on that basis. What they do is describe the entity precisely, which matters for how search engines and answer engines resolve who you are.

  • LocalBusiness with a real service area

    Home page, or one per location

    The point of this block is areaServed as a GeoCircle rather than a list of thirty city names, which is both more honest and easier to keep true. Use the radius you would genuinely travel at the prices on your site, and change it when that changes.

    LocalBusiness with a real service area.jsonld
    {
      "@context": "https://schema.org",
      "@type": "LocalBusiness",
      "@id": "https://[YOUR-DOMAIN]/#business",
      "name": "[EXACT REAL-WORLD NAME, NOTHING APPENDED]",
      "url": "https://[YOUR-DOMAIN]/",
      "telephone": "[+1-555-000-0000]",
      "priceRange": "[$$]",
      "image": "https://[YOUR-DOMAIN]/[PHOTOGRAPH OF THE FRONTAGE].jpg",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "[STREET]",
        "addressLocality": "[TOWN]",
        "addressRegion": "[ST]",
        "postalCode": "[00000]",
        "addressCountry": "US"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": "[00.0000]",
        "longitude": "[-00.0000]"
      },
      "areaServed": {
        "@type": "GeoCircle",
        "geoMidpoint": {
          "@type": "GeoCoordinates",
          "latitude": "[00.0000]",
          "longitude": "[-00.0000]"
        },
        "geoRadius": "[RADIUS IN METRES YOU WOULD ACTUALLY TRAVEL]"
      },
      "paymentAccepted": "[Cash, Card, Bank transfer]",
      "publicAccess": true,
      "isAccessibleForFree": false
    }
  • Opening hours, including the special ones

    Inside the business node, on every location page

    Split out here because holiday hours are the most searched and least maintained fact a local business owns. A special hours entry with validFrom and validThrough is how you say closed on a specific date without editing your normal hours and forgetting to change them back.

    Opening hours, including the special ones.jsonld
    {
      "@context": "https://schema.org",
      "@type": "LocalBusiness",
      "@id": "https://[YOUR-DOMAIN]/#business",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
          "opens": "[08:30]",
          "closes": "[17:30]"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "opens": "[09:00]",
          "closes": "[13:00]"
        }
      ],
      "specialOpeningHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "validFrom": "[YYYY-MM-DD]",
          "validThrough": "[YYYY-MM-DD]",
          "opens": "[00:00]",
          "closes": "[00:00]",
          "description": "[Closed for the public holiday]"
        }
      ]
    }
  • Department, for the things under one roof

    Any premises with distinct services that keep different hours

    A type that appears on no other playbook in this directory, and the correct answer to a common local problem: a workshop that closes at four inside a shop that closes at six. It lets each part carry its own hours and phone number without creating a second profile.

    Department, for the things under one roof.jsonld
    {
      "@context": "https://schema.org",
      "@type": "LocalBusiness",
      "@id": "https://[YOUR-DOMAIN]/#business",
      "name": "[BUSINESS NAME]",
      "department": [
        {
          "@type": "LocalBusiness",
          "@id": "https://[YOUR-DOMAIN]/[SLUG]#department",
          "name": "[BUSINESS NAME] - [DEPARTMENT]",
          "telephone": "[+1-555-000-0000]",
          "url": "https://[YOUR-DOMAIN]/[SLUG]",
          "openingHoursSpecification": [{
            "@type": "OpeningHoursSpecification",
            "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
            "opens": "[08:00]",
            "closes": "[16:00]"
          }]
        }
      ]
    }
  • Location pages joined to the parent

    Every site of a multi-location business

    The block that stops three addresses on one contact page. Each location gets its own node, its own hours and its own page, joined upwards by branchOf, and each profile then has somewhere of its own to point.

    Location pages joined to the parent.jsonld
    {
      "@context": "https://schema.org",
      "@type": "LocalBusiness",
      "@id": "https://[YOUR-DOMAIN]/locations/[SLUG]#location",
      "name": "[BUSINESS NAME] [TOWN]",
      "branchOf": {
        "@type": "Organization",
        "@id": "https://[YOUR-DOMAIN]/#organization",
        "name": "[BUSINESS NAME]"
      },
      "url": "https://[YOUR-DOMAIN]/locations/[SLUG]",
      "telephone": "[+1-555-000-0000]",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "[STREET]",
        "addressLocality": "[TOWN]",
        "addressRegion": "[ST]",
        "postalCode": "[00000]",
        "addressCountry": "US"
      },
      "employee": [
        { "@type": "Person", "name": "[MANAGER]", "jobTitle": "[Manager]" }
      ],
      "photo": "https://[YOUR-DOMAIN]/locations/[SLUG]/frontage.jpg"
    }
  • FAQPage

    Location, service and specialist pages

    The questions that decide a local visit are about access, timing and whether you do the specific thing, rather than about your qualifications. Match the visible wording exactly, and keep the answers the same as the ones on the profile so an assistant reading either gets the same story.

    FAQPage.jsonld
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "[Question exactly as it appears on the page]",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "[Answer exactly as it appears. Give the real parking situation, the real waiting time and the real travel limit.]"
          }
        }
      ]
    }
  • BreadcrumbList

    Location and service pages, once there are several

    Worth adding once you have a real hierarchy of locations and services. Building it is usually the moment somebody notices the generated town pages have no parent, which is a good reason to delete them.

    BreadcrumbList.jsonld
    {
      "@context": "https://schema.org",
      "@type": "BreadcrumbList",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Home",
          "item": "https://[YOUR-DOMAIN]/" },
        { "@type": "ListItem", "position": 2, "name": "[Locations]",
          "item": "https://[YOUR-DOMAIN]/locations" },
        { "@type": "ListItem", "position": 3, "name": "[TOWN]",
          "item": "https://[YOUR-DOMAIN]/locations/[SLUG]" }
      ]
    }

What it costs

Editorial estimates rather than quotes, and low for this directory because the highest-return work is configuration. The first tier is genuinely enough for a single-site business, and the cost rises with the number of locations rather than with ambition.

Do it yourself

$0 to $300
  • The storefront or service-area decision made correctly
  • Every attribute, service and photograph on the profile
  • Exact hours and special hours for the next twelve months
  • The maps and review platforms claimed
  • Reviews asked for consistently and answered

Who it suits

A single-site business with two hours a week

Where it stops

It does the configuration work, which is most of the available return. It will not build the specialist pages that change which demand you compete for.

Lean

$500 to $1,500
  • A grid check across the area you serve, reported monthly
  • Specialist and considered pages for the demand that weights distance less
  • Real neighbourhood pages where you have genuine presence
  • Finished work published with the location and the specifics
  • Structured data for the location, the hours and the areas

Who it suits

A single-site business competing against a nearer competitor

Where it stops

It will not win the bare near-me searches for people who are closer to somebody else, and nothing will. That is the constraint this page is named after.

Funded

$1,500 to $3,000
  • A real page per location, with its own team, hours and photographs
  • A profile managed per site rather than centrally and badly
  • Grid reporting per location
  • Recruitment pages where staffing caps growth
  • Reporting on won work and job value by location

Who it suits

Multi-site businesses, and anyone opening a second location

Where it stops

Past this point the answer is usually operational rather than editorial. Another location changes your map. Another article does not.

How to do it with no budget

Nearly everything with the highest return here is free, and most of it is a setting rather than a piece of writing. The first item on this list is worth more than the rest combined.

  1. 1

    Get the storefront or service-area setting right

    1 hour

    Google Business Profile

    The single most consequential configuration choice in this playbook, because it decides which searches you are eligible for. Decide honestly, including the hybrid case, and make the website say the same thing.

  2. 2

    Run your own grid check

    2 hours

    A phone, and a short drive

    Search your main term from six points across the area you serve and write down the top three each time. It is the cheapest possible version of a rank grid and it will change what you think your problem is.

  3. 3

    Fill in every profile attribute

    1 hour

    Google Business Profile

    Access, parking, payments, languages, walk-ins, appointments. Free filters that people are using right now, and half of them are unset on most profiles.

  4. 4

    Set special hours for the next twelve months

    30 minutes

    Google Business Profile

    Every public holiday, set now. This is the most searched and least maintained fact a local business owns, and getting it wrong sends somebody to a closed door.

  5. 5

    Claim the map you have never claimed

    30 minutes

    Apple Business Connect

    Free, feeds every iPhone's maps and assistant, and almost nobody in a given local market has done it. One of the few genuinely uncontested things left in this category.

  6. 6

    Take ten current photographs

    30 minutes

    Your phone

    The frontage from the street so it can be recognised, the inside, the team, the work, the parking. Photographs are most of the visible surface of a pack result and yours are probably three years old.

  7. 7

    Ask everybody for a review, and answer them all

    1 hour to set up

    A text message template

    Everybody, the same way. Do not choose, do not ask your staff or your relatives to write one, and answer the difficult ones in public, which is read more carefully than the complaint.

The tool stack

Short, because most of the work is configuration and the most useful instrument is a car. Two of the entries below are free and one of them is the thing you should do before buying any of the others.

  • See your ranking as a map rather than a number

    ZenserpSEO APIRead the review

    Geo-specific checks from a set of coordinates are the only honest way to report a local position. A single figure has averaged together the places you dominate and the places you never appear, which are the two things you needed to tell apart.

    Free routeSix manual searches from six points across your area

  • Find out where the enquiry actually stops

    SEO Conversion Rate CalculatorFree toolOpen the tool

    In this category the drop is rarely on the page. It is a phone nobody answered, a form that asked for a postcode first, or hours that said closed. Work out what the gap is worth before spending anything on more visibility.

    Free routeFree

  • Publish locations, services and areas as related records

    DatoCMSHeadless CMSRead the review

    Locations, services, staff and genuine service areas are related entities, and modelling them once is what stops a multi-site business ending up with three addresses on a contact page. It also makes hours a field rather than a paragraph somebody forgot to update.

    Free routeFree tier for a small site

  • Keep the hours true in every place they appear

    A recurring diary reminder

    Not a tool, a habit. The week before each public holiday, check the profile, the website and the review platforms. This is more reliable than any listings management subscription and it costs ten minutes.

    Free routeFree

  • Know which enquiries came from the profile and which from the site

    The profile's own insights, read monthly

    Calls, direction requests and messages are counted separately and most businesses look only at website visits, which is frequently the smallest of the four. In many local categories the customer never reaches the website at all.

    Free routeFree

  • Watch what a competitor is doing to their profile

    Their profile, checked quarterly

    Name changes, new categories, new photographs and suspicious new locations. If a nearby competitor has appended a service to their name, you can report it, and that is a faster win than most content.

    Free routeFree

  • Ask one question at every enquiry

    A note by the phone

    How did you find us, recorded the same way every time. Six months of it beats any attribution setup a business this size would realistically maintain, and it is the only source that captures the recommendation.

    Free routeFree

  • Know how far you will actually travel

    Your own job history and a map

    Plot last year's jobs. The shape that appears is your real service area, and it is usually smaller and lumpier than the one on your website, which is the input to both the profile setting and the page plan.

    Free routeFree

Take it from here

Everything below is yours to take. Fill the [BRACKETS] and it is ready to use. Start with the grid check, because it usually changes what everybody thought the problem was.

Checklist

Replaces a ranking with a map, using a phone and an afternoon. It is the cheapest useful thing in this playbook and it reframes most conversations about local visibility.

GRID CHECK - [BUSINESS] - [DATE]

WHY THIS FIRST
You do not have a ranking. The same search returns a different
order depending on where the person is standing. A single number
has averaged together the places you dominate and the places you
never appear, which are exactly the two things you needed to
tell apart.

THE QUERY
   Main search term: [_______________]
   Use the same one every time. Do it in a private window with
   location permission on.

THE POINTS
   Pick 6 to 9 points across the area you serve. Include your
   own premises, the far edge, and a point near your closest
   competitor.

   #  LOCATION                    TOP 3 RESULTS              YOU?
   1  [your premises]             1.[______] 2.[______] 3.[______]  [__]
   2  [_________________]         1.[______] 2.[______] 3.[______]  [__]
   3  [_________________]         1.[______] 2.[______] 3.[______]  [__]
   4  [_________________]         1.[______] 2.[______] 3.[______]  [__]
   5  [_________________]         1.[______] 2.[______] 3.[______]  [__]
   6  [_________________]         1.[______] 2.[______] 3.[______]  [__]
   7  [_________________]         1.[______] 2.[______] 3.[______]  [__]
   8  [_________________]         1.[______] 2.[______] 3.[______]  [__]
   9  [_________________]         1.[______] 2.[______] 3.[______]  [__]

   In the YOU column write your position, or "-" if absent.

THE THREE NUMBERS THAT MATTER
   Points where you are in the top 3:       [__] of [__]
   Points where you appear at all:          [__] of [__]
   Points where you never appear:           [__] of [__]

READ THE PATTERN
[ ] Absent only at the far edges
    -> That is distance. It is not fixable and it is not a
       failure. Stop reporting it as one.
[ ] Absent close to home too
    -> That is a profile problem, not a proximity problem. Go
       to the configuration checklist.
[ ] Present but below the same competitor everywhere
    -> Reviews, categories or prominence. Compare their profile
       to yours field by field.

WHO IS WINNING WHERE YOU ARE NOT
   Business:                    [_______________]
   How far are they from that point? [____] miles
   How far are you?                  [____] miles
   Do they do anything you do not?   [_______________]

REPEAT
   Same points, same query, monthly. Put "points in the top 3"
   in the report and never report an average position again.

What to publish

Write for the demand that weights distance least. Everything below either gives somebody a reason to travel past a nearer competitor or answers a question the pack result does not have room for.

  • A page per specialist thing you do

    One per specialism, written properly

    The cluster where distance matters least, because there may be two businesses in the county who do it. Somebody will drive for that, and only if you say so.

  • Real location pages

    One per real location

    Only where you have genuine presence: your own sites, and the places you actually work. A page per site with its own team, hours and photographs is the largest unclaimed asset a multi-site business has.

  • Finished work with the place in it

    Weekly, from work you did anyway

    A job, where it was, what was involved, what it cost as a band. It proves presence in an area far better than a generated town page and it takes fifteen minutes.

  • The practical page

    Once per location

    Parking, access, what to bring, how long it takes, whether you need an appointment. Answers the filters people are using and the questions a pack result cannot hold.

  • Considered and high-value pages

    One per high-value service

    People travel further for things that cost more or matter more. This is where reviews and proof of work outweigh geography, and where the organic results are winnable.

  • Recruitment pages

    As roles open

    Local, specific and almost entirely uncontested by employers who post to a job board. In categories where staffing caps growth this is worth more than an acquisition page.

And what not to

  • A generated page for every town within an hour's drive
  • A service added to the business name on the profile
  • Profiles at mailboxes, virtual offices or addresses nobody staffs
  • Reviews written by staff or relatives, disclosed or otherwise
  • A service area covering places you would refuse a job in
  • Three addresses on one contact page for three separate sites
  • A ranking report that gives one number for a query with no single answer
  • Photographs three years old, or a logo where the frontage should be

The expensive mistakes

Chasing first place on a bare near-me search

Costs you A budget spent against the one input nobody can change, and a report full of a number that has no single value

Report the grid, then move the effort to demand that weights distance less

Adding a keyword to the business name

Costs you The most reported violation in the category, a suspension that takes weeks to reverse, and a competitor who now knows to watch you

The name on your sign, and the keywords in the services list where they belong

Creating profiles at addresses nobody staffs

Costs you A direct breach of the guidelines, usually reported by a local competitor who recognises the address

One profile per real location, and honest service areas doing the work the fake addresses were doing

Generating a page per town

Costs you Dozens of near-identical pages that rank for nothing, dilute the real ones and promise an area you would decline

Real pages for places you have actually worked, with detail nobody could copy

Leaving the holiday hours unset

Costs you Somebody driving to a closed door on the one day it was most inconvenient, and the review that follows

Special hours set for twelve months, and a diary reminder the week before each one

Reporting website visits only

Costs you Missing the majority of the activity in categories where the customer reads the profile and calls without ever loading a page

Calls, direction requests, messages and website clicks, reported separately

What to measure

One change makes this report honest and it is uncomfortable: stop reporting a position. Report where you are visible as a map, and put the profile actions beside the website ones, because in this category the website is often the smaller half.

Leading indicators

Move first. They predict, they do not prove.

  • Visibility across the grid

    Geo-specific checks from a fixed set of points

    The correct replacement for a ranking. Track the same points every month and report how many of them you appear in, which is a number that means something, unlike an average position.

  • Profile calls, direction requests and messages

    Google Business Profile insights

    Three separate numbers, all free, and frequently larger than website sessions. Direction requests in particular track intent to visit better than anything on your own site.

  • Impressions on specialist and considered clusters

    Search Console, filtered by cluster

    Deliberately excludes the bare near-me terms. This is the demand you can actually change the shape of, and it moves within a couple of months of the pages existing.

  • Reviews received and answered

    The profile and review platform dashboards

    Track both, because the answer rate is the half businesses skip. This is also the flywheel: it is the one leading indicator that improves the thing measuring it.

Business indicators

The ones a manager acts on.

  • Enquiries by source

    One question, asked the same way every time

    The only method that captures the recommendation, which in this category is frequently the largest source and is invisible to every analytics tool.

  • Enquiries that became work

    Your diary or job management system

    The conversion that separates the channels. Marketplace leads and profile calls arrive at similar rates and convert at completely different ones.

  • Value of work won, by area

    Your invoices, plotted

    Plot it on a map. The result is your real service area, and it is usually smaller and lumpier than the one you have been advertising, which changes both the profile setting and the page plan.

  • How booked you are

    Your diary

    An operations number belonging in the marketing report. Once the wait is long enough that customers go elsewhere, visibility is not the constraint and spending on it makes the service worse.

The verdict

Local search is the only category in this directory with a major ranking factor that is not about your business. It is about where the person searching happens to be standing, and it changes while they walk across a car park.

So the honest first move is to stop asking what you rank and start asking where. A grid of checks across the area you serve takes an afternoon and it usually reframes the whole problem: you are not invisible, you are invisible over there.

After that the lever is the shape of the demand rather than the radius. Specialist work, considered purchases and urgent availability all weight distance less, and they are where a business gets chosen for what it is rather than for where it is.

There is one deliverable that should come before any writing in a local business SEO services engagement, and it is the profile configuration. It takes an hour and it changes what you are eligible for. After that, ask anybody offering SEO services for local businesses how they intend to report a position that has no single value.

FAQ

Local businesses SEO questions

  • Why do we rank first sometimes and not at all other times?
    Because distance to the person searching is a strong ranking factor and it changes as they move. You do not have one position, you have a different result at every point on the map. Run the same search from six points across the area you serve and write down the top three each time; that grid is the honest picture and it usually changes what everybody thought the problem was.
  • Can we add our service or town to the business name?
    No. The representation guidelines require the real-world name, and appending a keyword is both the most common violation in this category and the most commonly reported, because any competitor can submit an edit. A suspension takes weeks to reverse and costs far more than the temporary lift was worth. Put the keywords in the services list, where they belong.
  • Should we show our address or hide it?
    It depends on whether customers come to you, and it is the most consequential setting in this playbook because it decides which searches you are eligible for. If they visit, show it. If you only travel to them, hide it and set real service areas. If both are true, show the address and set service areas as well, which is a legitimate hybrid rather than a compromise.
  • How many towns should we have a page for?
    One per place you actually operate from, plus pages only for areas where you have genuinely done work. Generated pages for every town within an hour's drive rank for nothing, dilute the pages that could work, and advertise a service area you would decline. Plot last year's jobs on a map and let that shape decide, because it is usually smaller and lumpier than the list on your website.
  • What if a competitor two streets away always beats us?
    On the most generic searches they will, for the people who are closer to them, and no amount of content changes that. What you can change is which demand you compete for. Specialist work, considered purchases and urgent availability all weight distance less, and those are the searches where a customer chooses a business for what it is rather than for where it is.
  • Can we ask our staff to leave reviews?
    No, and this is the half of the FTC review rule that catches small local businesses most often. A review from an officer, manager, employee, agent or immediate relative, posted without disclosing the relationship, is covered by the rule that took effect in October 2024. Ask customers instead, ask all of them the same way, and answer the negative ones publicly.
  • Is this page or the small businesses page the right one for us?
    This one if your constraint is geography: a nearer competitor wins the same search whatever you publish. The small businesses playbook if your constraint is capacity: the only person who can write the pages is the one out on a job. Plenty of businesses have both, and the useful order is to fix the profile configuration here first, because it is an hour.
  • What does local business SEO cost?
    The tiers above are editorial estimates rather than quotes, and the range is $500 to $3,000 a month, which is low for this directory because the highest-return work is configuration rather than content. Cost here rises with the number of locations rather than with ambition, and a single-site business genuinely can do most of the valuable work itself.

Run it yourself, or have someone own it

Everything above is written to be run without us, and the free path is genuinely most of the value for a single-location business. Where these plans stall is almost never the plan. It is that nobody owns it after the first month. That is the job we do, with search as one distribution layer inside a wider system rather than the whole engagement.