Local SEO has its own distinct ranking factors that a general technical audit doesn't cover — if you need the ecommerce-specific version, see the ecommerce SEO audit checklist instead. This walks through what to check for a business competing in local search results.
Step 1 — Google Business Profile completeness
- Business name, address, and phone number (NAP) match exactly what appears on the website and other directories — even small formatting inconsistencies can weaken local ranking signals.
- Primary and secondary categories accurately reflect the actual services offered, not just the most obvious single category.
- Photos, hours, and service area details are current, not left as they were at initial setup.
Step 2 — Citation consistency across directories
NAP consistency across major directories (industry-specific listings, general business directories) is a real local ranking factor — inconsistent listings (an old address, a discontinued phone number) actively work against local rankings, not just look outdated to a human visitor.
Step 3 — Review volume and response
Review count, rating, and recency all factor into local ranking — and so does whether the business actually responds to reviews, both positive and negative, since response behavior is visible to prospective customers browsing the profile.
Step 4 — On-site local signals
- Location-specific pages (if serving multiple areas) have genuinely differentiated content, not templated copy with only the city name swapped — the same principle covered in programmatic vs. traditional SEO.
- Schema markup includes
LocalBusinessdata matching the Google Business Profile exactly. - Location and service area are clear in page titles and headers, not buried only in footer text.
Step 5 — Local link building and mentions
Mentions and links from genuinely local sources — local business associations, local news coverage, sponsorships — carry more local ranking weight than generic, non-local backlinks, which is a distinct link-building strategy from a typical national SEO campaign.
| Audit Area | Common Issue | Fix |
|---|---|---|
| NAP consistency | Old address or phone number on some directories | Audit and update every major citation |
| Location pages | Templated with only the city name changed | Add genuinely unique, local-specific content per page |
| Local links | Only generic, non-local backlinks | Pursue local associations, news, and sponsorship mentions |
Local SEO rewards operational consistency and genuine local presence more than technical sophistication — a distinct discipline from national SEO work, and one I run as its own audit pass in every SEO & Search Growth engagement for location-based clients.
Step 6 — Local pack visibility across the full service area
Checking rankings from a single location (typically the business address itself, or wherever the person doing the audit happens to be) is one of the most common gaps in a local SEO audit, because local pack results shift meaningfully depending on where the search is performed. A business can look strong in the local pack when checked from its own address and be nearly invisible from a neighborhood ten minutes away that's still well within its actual service area.
Geo-grid rank tracking — checking local pack position from a grid of points spread across the real service area, not just one — gives a far more accurate picture of actual visibility than a single spot-check. This is especially important for businesses serving a metro area rather than a single neighborhood, where visibility can vary sharply block by block, and a single-point check systematically overstates or understates true coverage either way.
Step 7 — Duplicate and spam listing check
A less obvious audit item: searching for duplicate or outdated Google Business Profile listings for the same business, and for competitor listings that have crept into an address they don't actually operate from. Duplicate listings (created during a rebrand, a move, or simply by accident years earlier) split review counts and search signals across two profiles instead of consolidating them into one, quietly weakening the primary listing's ranking strength.
This audit step pairs directly with the Google Business Profile optimization checklist — the checklist covers getting one profile right, while this step confirms there isn't a second, competing profile working against it. Both matter, and neither substitutes for the other; a perfectly optimized profile still underperforms if a duplicate or spam listing is quietly splitting its signals in the background.
Step 8 — Mobile local pack experience
The large majority of local searches happen on mobile devices, which makes the mobile experience of the local pack and the business's own site the practical reality most searchers actually encounter — not the desktop view most audits default to checking first. A local SEO audit that only reviews desktop search results is auditing an experience most of the target audience won't have.
- Click-to-call actually initiates a call from the local pack and from the site's own contact information, rather than just displaying a number as static text.
- Driving directions from the local pack route to the correct location, not an outdated address carried over from an old listing.
- The site itself loads acceptably on mobile and surfaces address, hours, and phone number without requiring a search through a desktop-oriented layout.
None of this is exotic, but it's frequently skipped precisely because it's not a ranking-factor checklist item in the traditional sense — it's a user-experience check that happens to matter disproportionately for local search, since a searcher who can't tap to call or gets bad directions converts at a much lower rate regardless of how well the business ranks in the first place.
Step 9 — Competitor gap check in the local pack
The steps above audit a business against its own baseline; it's just as useful to spend part of the audit looking at whoever currently outranks it in the local pack for the core service terms, and asking what's genuinely different about their profile. This isn't about copying a competitor, it's about identifying which specific factor is most likely explaining the ranking gap, so the fix can be targeted rather than guessed at.
- Compare review count and recency, not just star rating — a competitor with more recent reviews, even at a similar rating, often has a real edge.
- Compare category selection and completeness on the Google Business Profile — a competitor may simply have claimed a more specific, relevant primary category.
- Compare whether the competitor has genuinely unique location or service content versus a thinner page, since this is the on-site half of the gap.
This comparison won't explain every ranking difference — local search algorithms weigh many signals together — but it usually surfaces one or two concrete, addressable gaps rather than leaving the business guessing at what to improve first. Prioritizing whichever gap looks most fixable (often review recency or category accuracy, since both are within the business's direct control) tends to produce faster visible movement than trying to improve everything at once. Local pack composition also shifts over time as algorithm updates change how proximity, relevance, and prominence are weighted relative to each other, which is one more reason to treat this whole audit — steps 6 through 9 especially — as a periodic pass rather than a one-time exercise.
FAQ
What should a local SEO audit check?
A local SEO audit should check Google Business Profile completeness and accuracy, NAP (name, address, phone) consistency across all business directories, review volume and response behavior, on-site local signals (unique location page content, accurate LocalBusiness schema), and local link building from genuinely local sources like business associations or local news.
- NAP consistency across directories is a real ranking factor, not just a cosmetic concern.
- Local links and mentions carry more weight than generic, non-local backlinks for local ranking purposes.
Why do location pages need unique content instead of a shared template?
Location pages built from an identical template with only the city name swapped read as thin, duplicate content to search engines, weakening their ability to rank — genuinely differentiated content for each location (specific service area details, local context) is what allows each page to legitimately rank for its own local searches rather than competing against near-identical sibling pages.
- Templated pages with minimal differentiation are treated as low-value, near-duplicate content by search engines.
- Real local specificity in each page's content is what earns it independent ranking ability.