Local SEO Audit: A Source-by-Source Checklist

Key Takeaways
- A local audit can review Business Profile facts, important listings, reviews, and on-page information, but no checklist guarantees Map Pack placement
- Profile completeness and media are observable inputs; call and direction outcomes must be measured in the business's own data
- Prioritize materially wrong business information over harmless punctuation or abbreviation variants
- Applicable LocalBusiness markup describes visible facts and may support documented Search features; it is not proof of service area or ranking
A local SEO audit can document Business Profile fields, material contact-data conflicts in sources actually checked, review practices, and visible page information. It cannot diagnose lost traffic or ranking causality without Search, analytics, and local-result evidence.
Use the business's own performance data to evaluate calls, directions, and website actions. Competitor profiles can provide context, but a visible field or photo count does not establish why another business ranks.
This guide covers each of the three audit areas in order, with named evidence, a diagnostic table, and paste-ready fixes you can apply the same afternoon.
Review Google Business Profile Facts and Policy Compliance
Google describes local results in terms of relevance, distance, and prominence, without publishing exact weights. Review the profile for factual accuracy, eligibility, and policy compliance; do not convert completeness into a guaranteed relevance or prominence score.
Profile Completeness Checklist
- Business name -- must match your real-world signage exactly. Keyword-stuffed names ("Joe's Plumbing | Best Plumber in Chicago") violate Google's guidelines and risk suspension
- Primary category -- choose the current category that best represents the core business; availability varies by market
- Secondary categories -- cover each additional service you offer (e.g., "Cosmetic Dentist," "Emergency Dental Service")
- Address -- the correct public location or service-area configuration, following platform policy
- Phone number -- a working number that reaches the business; do not invent a ranking preference for area-code format
- Hours, services, and products -- fully populated. Empty fields tell Google you have not verified the listing recently
Photo and Post Activity
The audit should flag factual or policy gaps such as:
- Fewer than 20 photos total
- Photos no longer represent the current location, services, or accessibility
- Missing logo, cover photo, or interior shots
- No Google Posts published in the past two weeks
Review Signals
Practitioner surveys can inform hypotheses but do not expose Google's weights. Review:
- Total review count vs. the top 3 Map Pack competitors
- Average star rating (4.0+ is the threshold where Google filters stop hiding you)
- Owner response rate -- Google's own help docs confirm that responding to reviews improves visibility
- Monthly review velocity compared to competitors
Materially Wrong Listings Create User and Operational Risk
NAP stands for Name, Address, and Phone. A stale number or wrong location can misdirect customers. Google does not document a rule that every directory difference causes a ranking loss.
Consumer surveys may show that incorrect information frustrates users. Keep that evidence separate from Google's algorithm. Normalize common variants such as “St” and “Street” before treating them as conflicts.
Case Study: Rootworks Accounting (Portland, OR)
Vendor case studies can show one customer's before-and-after result but cannot isolate a universal causal effect. In your report, list the sources actually checked and distinguish an obsolete fact from a formatting variant.
Where to Check
- Major platforms -- Google, Yelp, Facebook, Apple Maps, Bing Places
- Industry directories -- TripAdvisor (hospitality), Healthgrades (medical), Avvo (legal), Houzz (home services)
- Data providers -- verify which providers currently supply the directories that matter; relationships and products change
Keep On-Page Local Facts Accurate and Useful
Your website can explain what the business does, where it operates, and how customers can contact it. Missing or generic information may make the page less useful, but the audit should not claim that a competitor ranks higher for that reason without evidence.
LocalBusiness Schema Markup
JSON-LD can describe visible location, hours, and other business facts in machine-readable form. Google's LocalBusiness documentation lists supported properties and eligibility rules. Valid markup does not prove the business serves a location or guarantee a rich result.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Dentist",
"name": "Bright Smile Dental",
"address": {
"@type": "PostalAddress",
"streetAddress": "456 Oak Avenue, Suite 200",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 30.2672,
"longitude": -97.7431
},
"telephone": "+1-512-555-0147",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "08:00",
"closes": "17:00"
}
],
"areaServed": {
"@type": "City",
"name": "Austin"
}
}
</script>
Validate that the type and properties apply to the visible business, coordinates identify the correct public location, and hours follow documented formats. Cross-checking a live Business Profile requires authorized platform data or manual evidence. The demo is a static illustration and does not read a Business Profile, directory network, or entered URL.
Location Pages and Title Tags
Multi-location businesses need a unique page per location. Each page should carry:
- A title tag containing the city or neighborhood name (e.g., "Emergency Dentist in Austin TX | Bright Smile Dental")
- A meta description that references the service area
- An embedded Google Map
- Location-specific content -- staff bios, parking directions, neighborhood references -- not boilerplate copied across locations
Mobile Usability
For mobile users, verify the directly observable experience:
- Click-to-call phone links on every page
- Click-for-directions buttons linked to Google Maps
- Current Core Web Vitals measured with a documented field or lab method
- No horizontal scrolling or broken responsive layouts
A Diagnostic Table Tells You Which Gap to Fix First
After the audit, prioritize material errors, policy risks, and user impact. A score does not identify the biggest ranking gain.
| Audit Area | What to Measure | Red Flag Threshold | Expected Impact of Fix |
|---|---|---|---|
| Profile accuracy | Required and useful fields checked directly | Wrong hours, category, address, or phone | Correct source data for users |
| Listing accuracy | Material conflicts in sources actually checked | Old phone number or location | Fewer misdirected calls or visits |
| On-page evidence | Visible facts, applicable markup, mobile usability | Content/markup conflict or unusable contact path | Accurate page and documented eligibility |
Prioritize the direct harm and strength of evidence. A disconnected phone number on a checked profile is a concrete problem. A title that says only “Home” may be unhelpful. Missing optional schema is not automatically a defect; assess it against applicable eligibility and visible content.
Dental Practice Audit Template
Dental practices compete in one of the most crowded local SEO verticals. The general audit framework above applies, but six checks are specific to dental:
| Check | What to Look For | Common Issue | Fix |
|---|---|---|---|
| GBP primary category | Should be "Dentist" — not generic "Health & Medical" | Using a broad category that loses relevance to competitors with specific match | Change primary to "Dentist"; add "Cosmetic Dentist," "Emergency Dental Service" as secondary |
| Dentist schema | @type: Dentist with specialties, acceptedInsurance, availableService | Using generic LocalBusiness instead of the specific Dentist type | Update JSON-LD to @type: Dentist with all required and recommended properties |
| Appointment intent pages | Landing pages targeting "emergency dentist near me," "dentist open Saturday" | No pages targeting high-intent appointment queries | Create location-specific pages for each high-intent query with click-to-call and schema |
| Review process | Policy-compliant requests and owner responses | No documented process or responses disclose sensitive details | Create a consent-aware request and response workflow that follows platform policy |
| Location pages | Unique content per office: staff bios, parking, neighborhood references | Boilerplate copy-pasted across locations with only the address swapped | Add staff photos, driving directions, neighborhood-specific content per location |
| Emergency pages | After-hours service pages with click-to-call and emergency hours in schema | No dedicated page for emergency dental services | Create emergency page with LocalBusiness schema including openingHoursSpecification for emergency hours |
Healthcare Practice Audit Template
Healthcare and medical practices share the same local SEO fundamentals but add a YMYL (Your Money or Your Life) layer. Google applies stricter quality standards to medical content, so E-E-A-T signals matter more here than in most verticals. This template does not cover medical claims or patient outcome promises -- it focuses strictly on SEO technical setup.
| Check | What to Look For | Common Issue | Fix |
|---|---|---|---|
| MedicalBusiness / Physician schema | @type matching the specialty: Physician, MedicalClinic, Hospital | Using generic LocalBusiness for a medical practice | Update to the most specific applicable @type with medicalSpecialty property |
| Location pages | Per-office pages with unique provider lists and service descriptions | Single page for a multi-location practice | Create one page per location with specific providers, services, and hours |
| Provider profiles | Individual pages per physician with credentials, education, affiliations | A single "Our Team" page with one-line bios | Create dedicated profile pages with Physician schema, credentials, and publication links |
| Review compliance | Owner responses that do not disclose patient details | Responses confirming treatment details (HIPAA risk) | Use generic thank-you responses; never confirm or deny patient visits or treatments |
| E-E-A-T evidence | Credentials, board certifications, affiliations, publications linked from about pages | No verifiable credentials on the website | Add credential details, link to medical board verification, and list hospital affiliations |
The illustrative MendMySEO demo shows bounded technical findings, guidance, and re-scan states. It does not establish production release of local-listing coverage or AI citation tracking. Review the current release status — commercial access remains evidence-gated.
Frequently Asked Questions
How do I run a local SEO audit without hiring an agency?
Start with the Business Profile and website facts, then check the platforms customers actually use. Normalize formatting before escalating a discrepancy and run Google's Rich Results Test when applicable. Time and coverage depend on platform access; an automated website audit does not automatically query external directory APIs.
How much does a local SEO audit cost?
Cost depends on location count, source coverage, API access, evidence review, and remediation scope. Ask whether the quote includes external listings, implementation, and re-verification; do not assume a subscription includes unlimited rescans or fix code.
Which local ranking factor matters most?
Google publicly describes relevance, distance, and prominence, but does not publish exact factor weights. Practitioner surveys are hypotheses, not the algorithm. Prioritize policy compliance and factual errors first.
How often should I re-audit?
Quarterly for stable businesses. Monthly if you are actively adding locations, changing phone numbers, or running local ad campaigns that depend on accurate listings. Run an immediate audit after any address change, phone number swap, or website migration -- these events create NAP mismatches across dozens of directories within days.
Does AI search change how local SEO works?
AI answer surfaces may mention local businesses or link to web sources, but their local selection methods are not a documented copy of Google Maps ranking factors. Keep Business Profile details, website facts, hours, reviews, and applicable LocalBusiness markup accurate for their ordinary local-search and user-trust purposes. If AI visibility matters to the client, measure a defined set of local queries separately; do not infer citations from clean schema, review scores, or directory consistency.
Ready to see what your audit looks like?
Explore an illustrative static report; the demo does not crawl the URL you enter or access live listing data.