Local SEO audit: Maps and local pack checklist
How to audit a local business for Google Maps: Business Profile, categories, reviews, NAP, local pages and Maps rank across a grid.
A local SEO audit checks why a business does or does not show up in Google Maps and the local pack for the searches its customers make. Look at seven things, in this order: the Google Business Profile, its categories, reviews, NAP consistency, the page the listing links to, Maps rank across the area you serve, and how all of that compares to the businesses that beat you. Category and claim problems come first, because no amount of posting fixes a listing filed under the wrong category.
This guide walks through each check by hand, then shows how to run the same audit with an agent in zaDojo. If you are working on the whole website as well, SEO for small business covers the rest of the routine.
Before you start: pick the searches
Choose one to three searches a customer actually types, such as "emergency plumber" or "dentist near me". Not your brand name: people who search your name already found you. Note the storefront address or the center of your service area, because every check below depends on where the search happens.
1. Google Business Profile completeness
Open your profile and the profiles of the top two businesses for your main search. Compare:
- Claimed status. An unclaimed listing can be edited by anyone and cannot reply to reviews. Claim it first.
- Hours, including holiday hours. Missing hours make Google less sure you are open.
- Photos. Count them against the competitors. Real photos of the place, team and work beat stock images.
- Website link. It should point at the page for that location, not the homepage of a different domain or a page that no longer exists.
- Q&A and posts. Check whether questions on the profile have answers and when the last post went up. These matter less than the basics, so leave them until the rest is competitive.
2. Categories
The primary category has more weight than anything else you control on the profile. Search your main keyword in Maps and write down the primary category of the top three results. If they all use "Emergency plumber" and you use "Plumber", that is usually your first fix.
Then compare additional categories. Add the ones that describe services you really offer. Do not add categories for things you do not do; it brings in the wrong searches and can get the listing flagged.
3. Reviews
For your listing and the strongest competitor, record:
| Signal | You | Best competitor |
|---|---|---|
| Review count | ||
| Average rating | ||
| Reviews in the last 90 days | ||
| Share with an owner reply |
Recency often matters more than the total. A competitor with fewer reviews but a steady stream each month can outrank a business whose reviews stopped two years ago. Reply to every review, good and bad. Never gate reviews (asking only happy customers) or buy them; both break Google's rules.
4. NAP consistency
NAP is name, address and phone number. Check that they match exactly across:
- the Business Profile
- your website footer and contact page
- the main directories in your country and industry (Apple Maps, Bing Places, Yelp, Facebook and the trade directories customers use)
Common breaks are an old address after a move, a tracking phone number on one site, and "Street" on one listing and "St." on another. Old addresses and phone numbers are the ones to chase; small formatting differences rarely matter. Also check the business name: adding keywords to it ("Smith Plumbing Emergency Plumber London") breaks the guidelines and risks a suspension.
5. Local landing pages
The page your listing links to does part of the ranking work. For each location, check:
- There is one page per location, and the profile links to it.
- The page states the address, phone and opening hours as text, matching the profile.
- It says which services you offer in that area, in plain words a customer would search.
- It is indexable, loads quickly on a phone and has its own title, not a copy of every other location page.
- If it carries
LocalBusinessmarkup, the address, hours and phone match the profile. Schema markup for AI lists the types worth adding.
A chain with twenty locations and twenty near-identical pages with only the town name swapped is a common weak spot.
6. Maps rank across a grid
A single rank check tells you where you rank from one spot. Maps results change block by block, so a business can be first at its own door and absent a few kilometers away. A rank grid runs the same search from a square of points around the location and records your position at each one.
Read the grid this way:
- Strong in the middle, gone at the edges: you rank near the storefront only. Look at who is first at the edge points; that is the competitor to study.
- Weak everywhere: go back to categories and reviews before anything else.
- Missing at a point where few results came back: that is a thin result set, not proof you are invisible. A missing rank where the full set came back means you were outranked.
Center the grid on the real storefront. A grid centered on the wrong coordinate is worse than no grid.
7. Compare to local competitors
Put it all in one table: you, the best competitor and the gap.
| Signal | You | Best competitor | Gap |
|---|---|---|---|
| Primary category | |||
| Additional categories | |||
| Reviews (count, recency, replies) | |||
| Hours and photos | |||
| Listing links to a location page | |||
| Grid points where you rank top 3 |
Pick the one gap that is largest and cheapest to close. Do not judge local strength from national SEO metrics such as domain authority; they say little about the local pack.
How to run this audit in zaDojo
zaDojo runs the audit through an AI agent. Connect the zaDojo MCP server to Claude, ChatGPT, Cursor or Codex, or use the in-app chat, and ask: "Run a local SEO audit for [business] in [city] for 'emergency plumber'." The Local SEO skill does this:
- Finds the listing with
search_local_businesses, which returns category, rating, review count, claimed status and coordinates. One call covers every location of a chain. - Pulls the Maps results for your keyword near the storefront with
get_local_serp_resultsand picks out the top competitors. - Compares profiles with
get_business_profile, and reviews (rating, text, owner replies) withget_business_reviews. - Checks that each listing's website link goes to that location's page. For a full on-page check it hands off to a site audit.
- Runs
get_local_rank_grid, a 3x3 or 5x5 grid of Maps searches with adjustable spacing (2 km by default), showing your rank, the result count and the #1 business at each point. - Adds profile Q&A and posts when the basics are already competitive.
- Saves a report with a snapshot, the one fix, a head-to-head table, Maps coverage and next steps.
Cost. A single Maps or Local Finder check is about €0.006. Each grid point is one Maps search, so a 3x3 grid is 9 searches (about €0.05) and a 5x5 grid is 25 (about €0.15). The agent tells you the cost before running a 5x5 grid or grids for several keywords, and repeating the same grid within an hour costs nothing extra. Profile, review, Q&A and post lookups also use credits. If the same business was researched in the last 30 days, the agent reuses that work.
More on the tools behind this is on the local SEO feature page. What zaDojo does not do: it does not edit your Business Profile, post replies to reviews or update directory listings for you. NAP checks across third-party directories are still a manual job.
Questions people ask
How often should I run a local SEO audit? A full audit when you start and after big changes (a move, a new location, a category change). A rank grid once a month is enough to see whether a fix worked.
Why do I rank in Maps at my office but not across town? Distance from the searcher is one of Google's main local factors. You can extend your reach with a better category match, more recent reviews and a stronger location page, but a business will rarely rank as well far away as it does next door.
Does a service-area business without a storefront need a grid? Yes. Center it on the middle of the area you serve and widen the spacing to match how far you travel.
The plan is €10 a month with €10 of usage included, and new accounts get €0.10 of trial credits with no card. For the AI side of local search, read how to track your brand in ChatGPT answers.