A local SEO audit is a structured check of the six things that decide whether a business shows up in the Google local pack and Maps: its Google Business Profile, on-site local signals, citations and NAP consistency, reviews, links, and technical health. Below is the checklist I run for small-business and agency clients, with a tool and pass/fail criterion for each check, a scoring method and a 30-day fix plan. A single-location audit takes about three hours.
- Audit six areas in this order: Google Business Profile, on-site local signals, citations/NAP, reviews, links, technical. GBP and reviews carry roughly 45% of local pack weight in Whitespark’s 2026 Local Search Ranking Factors survey.
- Use a pass/fail table and a 0–100 score so the client can see progress between audits, not just a list of problems.
- Baseline with a geo-grid scan (Local Falcon from $24.99/month, Local Viking from $39/month as of September 2026); a single rank number is meaningless for local.
- Most local audits fail on three cheap fixes: wrong primary category, address showing/hidden incorrectly for the business model, and an unanswered review backlog.
- Spend the first 30 days on GBP and reviews; citations and links are month-two work.
What to audit first: the 2026 local pack weightings
Whitespark’s 2026 Local Search Ranking Factors survey (published November 2025) puts Google Business Profile signals at roughly 25% of local pack weight, reviews around 20%, behavioural signals around 18%, citations around 15%, links around 12% and on-page around 8%. The top individual factors are primary GBP category, proximity to the searcher, keywords in the business title, a physical address in the search city, and a new entry: whether the business is open at the time of search.
With half a budget, do GBP and reviews and leave citations for later.
How to do a local SEO audit: the six-area checklist
This local SEO audit checklist has 17 checks. Mark each pass, partial or fail; the scoring section turns the marks into a number.
| Area | What to check | Tool | Pass / fail criteria |
|---|---|---|---|
| Google Business Profile | Verification status and business model (storefront, service-area, hybrid) | business.google.com | Pass: verified, model matches reality. Fail: unverified, “pending”, or suspended |
| Google Business Profile | Primary category and additional categories | GBP dashboard, PlePer category tool | Pass: primary category matches the top-3 competitors in the local pack for the money keyword |
| Google Business Profile | Business name matches signage and website; no added keywords or city | Street View, GBP dashboard | Fail if the name field contains anything not on the storefront |
| Google Business Profile | Address shown or hidden correctly; service areas set | GBP dashboard | Pass: storefronts show address; service-area businesses hide it and list up to 20 areas within about 2 hours’ drive |
| Google Business Profile | Hours, holiday hours, “open now” accuracy | GBP dashboard, Maps | Fail if hours are missing, or Maps shows “closed” during trading hours |
| Google Business Profile | Attributes, services, products, description, photos, Q&A | GBP dashboard | Pass: all relevant attributes set, 10+ services with descriptions, 20+ owner photos, at least one seeded Q&A |
| On-site local signals | Location page per location with embedded map, NAP, hours, LocalBusiness schema | Screaming Frog, Google Rich Results Test | Fail if any location lacks a dedicated page or schema errors show |
| On-site local signals | Title tag and H1 include service + city on location and service pages | Screaming Frog crawl | Pass: every service page targets one service + one locality |
| On-site local signals | NAP in site footer matches GBP exactly (formatting included) | Manual, Screaming Frog custom extraction | Fail on any difference, including “Suite 4” vs “#4” |
| Citations / NAP | Presence and accuracy on the top data aggregators and the top 30 directories for the vertical | BrightLocal Citation Tracker, Whitespark Local Citation Finder | Pass: 90%+ of found citations match NAP; no duplicate listings |
| Citations / NAP | Duplicate or outdated GBP listings for the same business | Maps search for phone number and old address | Fail if any duplicate exists; mark for removal |
| Reviews | Google rating, count, velocity (last 90 days), and response rate | GBP dashboard, BrightLocal Reputation Manager | Pass: rating within 0.3 of top-3 competitors, at least 2 new reviews/month, 100% of reviews answered within 7 days |
| Reviews | Policy risk: incentivised reviews, gating, review-widget filtering | Interview the client; check review links and email flows | Fail if any gating or incentives exist |
| Links | Locally relevant referring domains (chambers, sponsorships, local press, suppliers) | Ahrefs, Semrush, Search Console links report | Pass: at least 10 referring domains from the same metro; no toxic link neighbourhoods |
| Technical | Mobile Core Web Vitals on location pages | PageSpeed Insights, Search Console CWV report | Pass: LCP under 2.5s, INP under 200ms, CLS under 0.1 on field data |
| Technical | Indexation, canonicals, HTTPS, no soft-404s on location pages | Search Console Pages report | Fail if any location page is “Crawled – not indexed” or has a canonical to another page |
| Technical | Click-to-call, tap-to-directions, and forms work on mobile | Manual test on a phone | Fail on any broken conversion path |
The free Google Sheet in our SEO audit report template already has pass/partial/fail columns; add a “Local” tab and paste these rows in.
Step 1: Google Business Profile audit
Start in business.google.com, not Maps. As of September 2026, Google’s verification flow asks you to declare a business model (physical location, mobile service, service-area, unstaffed facility, online-only), and video verification is the default method in most regions. A declared model that doesn’t match reality is a suspension risk, so check it first.
Then compare the primary category with the three businesses in the local pack for the money keyword. Primary category is the number-one factor in the 2026 Whitespark survey, and I still find it wrong on roughly a third of profiles I audit, usually because the owner picked what the business “has” rather than what it “is”. For the full optimisation pass, follow our Google Business Profile SEO guide.
Step 2: On-site local signals
Crawl the site with Screaming Frog (free up to 500 URLs) and export titles, H1s and schema. You want one page per physical location, one page per core service, and a title pattern like “Emergency Plumber in Leeds | Acme Plumbing”. Validate LocalBusiness schema (or a subtype such as Plumber or Dentist) with Google’s Rich Results Test and confirm the schema address matches GBP character-for-character.
Step 3: Citations and NAP consistency
Run the business through BrightLocal’s Citation Tracker or Whitespark’s Local Citation Finder. As of September 2026, BrightLocal is $41/month (Track), $54 (Manage) or $65 (Grow) for one location, about 25% less on annual billing; Whitespark’s Local Citation Finder runs $33 to $149/month, with one-off Listings Service packages from $20 to $999. Semrush Local is $30/month per location (Base) or $60 (Pro, with listing management).
The audit question is not “how many citations” but “how many are wrong”. Old phone numbers and pre-move addresses matter more than missing directories. Whitespark’s 2026 report also notes citations are regaining importance as a source for AI answers, so check the business appears correctly on the sites AI Overviews cite for its vertical.
Step 4: Reviews
Record average rating, total count, reviews in the last 90 days, percentage answered and median response time, then do the same for the top three local pack competitors. Google’s review policy prohibits incentives, gating (asking only happy customers) and fake or AI-generated reviews, so read the client’s actual review-request email or SMS template.
Step 5: Links
Export referring domains from Ahrefs or Semrush and filter for the same city or region: chambers of commerce, sponsorships, local news, suppliers, associations. Fewer than 10 local referring domains is a fail for any business trading more than two years. Our outreach templates cover how to close the gap.
Step 6: Technical
Local sites are small, so this is short: mobile Core Web Vitals on location pages, indexation in Search Console, HTTPS, and a working click-to-call. Use our technical SEO checklist for sites over 50 pages and the Core Web Vitals guide if field data is failing.
Baseline rankings with a geo-grid, not a single position
Local rankings differ at every street corner, so “position 4” hides the real picture. Before fixing anything, run a 7×7 geo-grid scan for the three most important keywords. As of September 2026, Local Falcon charges per credit (one per grid point, so a 5×5 scan is 25 credits) with plans from $24.99/month for 7,500 credits to $199.99/month for 63,150, plus 100 free credits on signup. Local Viking runs $39/month for one location, $59 for ten and $99 for twenty. Whitespark’s Local Ranking Grids start at $10/month.
Record Average Rank Position and Share of Local Voice, then re-run the same grid at day 30 and day 90. It shows movement at the edge of the service area, where new customers come from.
Local SEO audit scoring: a 0–100 method that survives client meetings
Weight each area according to the 2026 Whitespark factor groups, then score the rows within it. The weightings I use:
- Google Business Profile: 30 points
- Reviews: 20 points
- Citations / NAP: 15 points
- Links: 15 points
- On-site local signals: 10 points
- Technical: 10 points
A pass earns the row’s full share, a partial half, a fail zero. GBP has six rows worth 5 points each, so four passes, one partial and one fail gives 22.5/30. Below 50 overall means the fundamentals are broken; 50–75 is the typical established small business; above 85 you are competing on reviews and links only.
Present the score first, then the failed rows sorted by area weight. That is the priority list.
A 30-day local SEO fix plan for the failed rows
This assumes a single-location business scoring under 70. Everything except schema and CWV can be done without a developer.
- Days 1–3: Correct the GBP business model, primary and secondary categories, hours and holiday hours, and address visibility. Remove any keywords from the business name.
- Days 4–7: Fill services (10+ with descriptions), attributes, products, a 750-character description and 20 real photos. Seed 3–5 Q&A entries from real customer questions.
- Days 8–10: Answer every unanswered review, oldest first. Set up a compliant review request flow (one plain link, sent to every customer, no filtering) and a 48-hour response routine.
- Days 11–14: Fix the site footer NAP, add or repair LocalBusiness schema, and rewrite location and service page titles and H1s to the service + city pattern.
- Days 15–21: Correct wrong citations, data aggregators first, and request removal of duplicate listings.
- Days 22–26: Fix failing mobile Core Web Vitals on location pages (usually oversized images and a heavy map embed).
- Days 27–30: Pitch five local link targets (chamber, sponsorship, supplier, local press, association) and publish two GBP posts. Re-run the geo-grid and re-score.
Common local SEO audit mistakes I still see from agencies
In audits I’ve reviewed for small-business and multi-location clients, the same errors recur.
- Auditing from the office, not the service area. Rankings checked from another city are not the client’s rankings. Use a geo-grid.
- Counting citations instead of checking them. “You have 43 citations, competitor has 61” is not a finding. “Your old phone number appears on 12 listings” is.
- Treating service-area businesses like storefronts. A plumber working from home with the address shown breaks Google’s guidelines, which say to hide the address and keep service areas within roughly two hours’ drive.
- Skipping the “open now” check. “Business is open at time of search” entered Whitespark’s top five in 2026. Wrong or missing hours cost rankings during exactly the hours customers search.
- Recommending a page for every suburb. Ten near-duplicate “Plumber in [Suburb]” pages get ignored. One strong page per real location, plus service pages naming the suburbs served, works better.
- Delivering a 60-page PDF. Owners read the score, the top five fails and the 30-day plan. Put those on page one.
Local SEO audit template: the report structure
Five sections: score and geo-grid baseline; failed rows by weight; 30-day plan; month-two plan (citations, links, content); raw checklist as an appendix. Reuse it at day 30 and day 90 with the new score beside the old one.
FAQ
How long does a local SEO audit take?
About three hours for a single location using the checklist above and a citation tool. Multi-location audits scale linearly for GBP and citations; on-site and technical checks are done once per site.
What tools do I need for a local SEO audit?
At minimum: GBP access, Search Console, Screaming Frog (free tier) and one geo-grid tracker (Local Falcon’s 100 free credits cover a first scan). BrightLocal, Whitespark or Semrush Local speed up citations and reviews but aren’t required for a one-off audit. See our small-business SEO tools guide for a budget setup.
What is the most important local SEO ranking factor in 2026?
Primary GBP category, according to Whitespark’s 2026 survey, followed closely by proximity and keywords in the business title. You can only control the first, which is why it is the first row in the audit.
Can I do a local SEO audit for free?
Yes. The GBP, on-site, reviews and technical sections use free tools. Citations and geo-grid tracking are where a paid tool saves real hours, and both have free tiers or trials that cover one audit.



