Most local SEO audit checklists have 80 items and no priorities. You finish with a spreadsheet full of red flags and no idea which one is costing you phone calls. A useful local SEO audit does one job. It ranks your problems by how many leads they cost you, so you fix the expensive ones first.
Here’s the order we use for service businesses. Five layers, checked top to bottom, because the first ones do the most damage.
Why most local SEO audits get filed and forgotten
Run any free audit tool and you’ll get a score out of 100 and a few hundred line items. Missing alt text on a footer image carries the same visual weight as having the wrong primary category on your Google Business Profile. One of those is cosmetic. The other can keep you out of the map pack entirely.
So the score is nearly useless. We ignore it. What matters is which findings sit between a customer searching “plumber near me” and your phone ringing.
That’s the logic behind the five layers below.
Layer 1. Start with the Google Business Profile, because that’s where the calls happen
For most local service businesses, the profile is the storefront. Open it first and check the basics against what a real customer would need.
Primary category is the biggest single lever. “Contractor” or “Service establishment” is a common mistake. If you’re a roofer, the primary category is Roofing Contractor, and secondary categories can cover things like Gutter Service or Siding Contractor. Then check service areas, hours (including holiday hours), the services list, and photos. Photos added in the last 90 days matter more than a gallery from 2021.
Next, open the Performance tab and compare calls and direction requests for the last 90 days against the prior 90. If calls dropped 30% and nobody touched the profile, you’ve found your audit’s first headline. Look for suspensions, duplicate listings, and edits Google may have approved without telling you.
Is your name, address, and phone number the same everywhere?
This is Layer 2, the citation check. Name, address, and phone (NAP) should match across the major directories, the data aggregators, and the industry sites that matter for your trade. Lawyers care about Avvo and Justia. Dentists and doctors care about Healthgrades. Home service companies care about Angi and Yelp.
Use a citation tool like BrightLocal or Whitespark to pull the list. Then ignore 80% of it.
Honest take. Citations matter less than they did five years ago, and chasing 200 obscure directories is mostly wasted effort. What still hurts is a wrong phone number on a major directory, a duplicate listing at an old address, or a business name with “LLC” on one site and without it on another. Fix those. Skip the rest.
Reviews: count, recency, and whether you answer them
Layer 3 is about comparison. Your review count in isolation tells you nothing. Pull the top three businesses in your local pack and line up total reviews, average rating, reviews in the last 90 days, and how often the owner replies.
Here’s a pattern we see constantly. Say a roofer has 212 reviews and the competitor ranking above them has 140. Looks like a win. But the roofer’s newest review is five months old, and the competitor collects about six a month. Google reads that as a business that’s still active and still earning trust. Velocity beats total count more often than people expect.
Check reply rate too. Unanswered negative reviews do real damage with someone deciding between two companies at 9 p.m.
Check the website against the map listing
Layer 4 is where audits usually go off the rails, because there are a thousand technical things you could flag. Keep it to the ones tied to local rankings and conversions.
- Does the URL on your profile land on a page that matches the service searched? A roofing profile pointing at a generic homepage wastes a click.
- Do you have a real page for each city or service area you want to rank in, with unique content (not the same page with the city name swapped)?
- Do title tags include the service and the city?
- Is LocalBusiness schema in place and accurate?
- Does the page load fast on a phone, and is the call button visible without scrolling?
One more check that most audits skip entirely. Is call tracking set up? If the only number anywhere is your main line, you can’t tell whether the profile, the website, or an ad produced the call. Use a tracking number as the primary on each source and keep your real number as an additional one so NAP stays consistent. We care about this because we tie every lead back to revenue, and it’s impossible to do if the calls are anonymous.
Stop checking one ranking. Check the grid.
Layer 5 is the one that surprises owners. Local rankings change block by block. You might be number one standing in your parking lot and invisible two miles away, where half your customers live.
Ranking for your own business name tells you nothing, so don’t count it. Run a geo-grid scan (BrightLocal’s Local Search Grid and Local Falcon both do this) for your two or three money keywords, centered on your service area. A 7×7 grid is plenty. You’re looking for the dead zones, the areas where you rank below position 10 or don’t show up at all.
Dead zones near the business usually point to a category or proximity problem. Dead zones far away usually point to weak prominence, meaning reviews, links, and local content.
Turning findings into a fix list
This is where the audit pays for itself. Take every issue and score it on two questions. How many calls could this plausibly cost me? And how long does it take to fix?
Anything high-impact and under an hour goes in “this week.” That’s usually category corrections, wrong phone numbers, a missing tracking number, and unanswered reviews. High-impact and bigger goes in “this month,” like building out service-area pages or a review request process. Everything else goes in a “later” column that you may never open, and that’s fine.
A good audit leaves you with ten items, not 80.
Can ChatGPT run a local SEO audit for me?
Partly. It’s useful for reading an export, spotting inconsistencies across a citation list, and drafting the fix list once you’ve gathered the data. It can’t see your Google Business Profile insights, it can’t run a grid scan, and it will sometimes state things about your listings with total confidence that turn out to be invented. Gather the data yourself, then let it help you sort.
How much does a local SEO audit cost?
Free tools cost nothing and give you the scorecard problem described above. Agency audits for a single-location business commonly run from a few hundred dollars to a couple thousand, depending on how deep they go. Whatever you pay, the test is simple. If the deliverable is a PDF of problems with no priority order, you paid for a checklist.
Start with the number that matters
Before you run a single tool, open your Google Business Profile, go to Performance, and compare calls from the last 90 days against the 90 before that. Is that line going up, flat, or down? Whatever the answer, it tells you which of the five layers to open first.