Why most local audits stay on the surface
When a neighborhood business requests a local SEO audit, it almost always receives the same deliverable: a PDF with an 80-point checklist marked in green and red. The problem is that this document rarely distinguishes between what prevents a business from appearing in the map pack and what is simply cosmetic noise. I have seen Google Business Profile listings with the wrong primary category for three years while the previous consultant celebrated that the meta titles were the perfect length.
A useful local audit doesn’t start with the CMS or with page load speed. It starts with understanding where the business actually competes: the service radius, the intent of the neighbor who is searching, and the consistency between what Google knows about the business and what the business believes it says.
Mistake 1: confusing the service radius with the business area
This is the most costly and most frequent mistake. A dental clinic in a Valencia neighborhood sets its service area as “Valencian Community.” The result: Google doesn’t show it for proximity searches because its geographic signal is too broad to compete with clinics that are 400 meters from the user.
How to detect it in the audit
- Check in Google Business Profile whether the service area includes postal codes that the business doesn’t realistically serve.
- Compare the physical address with the areas from which calls come (if call tracking is in place) or with geolocated forms.
- Check whether the primary category describes the core service and not a generic category like “Service business.”
How to avoid it
Define a real operating radius: how far the business can travel or how far the customer is willing to come. That radius should be reflected in the GBP settings and in the local service pages. If the business serves several localities, create one page per locality with its own content; don’t duplicate the same template by only changing the city name.
Mistake 2: inconsistent NAP (and we’re not just talking about the address)
The classic: a phone number with a different format on the website, in GBP, and in an industry directory. Google cross-references signals and, when there are discrepancies, loses trust. But the modern mistake goes beyond format: it includes outdated hours, business names with added keywords that aren’t on the physical sign, and websites that show an old address in the footer.
A specific case that keeps repeating
An auto repair shop moved locations and updated GBP the same day. However, the website’s LocalBusiness schema still pointed to the old address, and two important directories weren’t updated. For weeks, Google showed the new address on the map but the old one in some rich results. The business didn’t lose visibility all at once, but the “where are you now?” calls increased. The audit detected the problem because we cross-referenced the homepage schema with the GBP panel and with three main citations.
How to avoid it
- Document the canonical NAP in a spreadsheet and use it as the single source for the website, GBP, and directories.
- Include the same phone number in international format in the schema and in the footer.
- Audit the main citations at least once a year; not all platforms allow quick edits.
Mistake 3: cloned local pages with the city changed
I constantly detect this pattern in businesses with multiple locations. They create a page for each city and only change the H1 and the city name in the first paragraph. Google recognizes it as duplicate content with minimal variations and, in the best case, indexes only one version; in the worst, none rank for local searches.
What to look at in the audit
- Compare the text of two local pages with a similarity tool or simply by reading them side by side.
- Verify whether each page has LocalBusiness structured data with its own address, phone, and hours.
- Check whether there are reviews or real cases from that locality or whether everything is generic.
How to avoid it
Each local page needs at least one verifiable differentiating element: a professional from that location, a customer case from the area, original photos of the premises, specific hours, or services offered only there. If there’s nothing different, you probably don’t need a page per city: you need a single well-optimized service page and one GBP listing per location.
Mistake 4: poorly implemented LocalBusiness structured data
Schema is one of the signals Google uses to understand the business, but it’s not a magic switch. The usual mistake is implementing a generic LocalBusiness when a more specific subtype exists (Dentist, AutoRepair, Restaurant) or, worse, marking data that doesn’t match reality.
Limitations worth acknowledging
Schema alone doesn’t guarantee appearance in the local pack or in rich results. According to Google’s official documentation on structured data, the markup must reflect the visible content of the page; if you mark an address that doesn’t appear in the text, the signal is diluted. Nor is there a specific schema that guarantees map positions: the local pack depends on relevance, distance, and prominence, and markup helps with comprehension, not directly with ranking.
How to avoid it
- Use the most specific subtype available and validate with the rich results test.
- Make sure the schema’s NAP matches the GBP one and the visible text.
- Don’t mark aggregate reviews if you don’t have a verifiable source; it’s a risk that can lead to manual actions.
Mistake 5: ignoring reviews as a signal and as conversion
In local SEO, reviews influence two fronts: the business’s prominence in the pack and the user’s decision. The common mistake is treating them only as reputation and not as part of the technical audit. A listing with 4.8 stars and 12 reviews can perform worse than one with 4.3 and 180 reviews in a competitive market, because volume and freshness matter.
What to review
- Frequency of new reviews in the last 90 days.
- Percentage of owner responses, especially to negative reviews.
- Presence of natural keywords in reviews (users tend to mention the service and the city).
How to avoid it
Establish an ethical review request process: after a visit or service, ask for the review without incentives. Don’t buy reviews or generate them with fake accounts; besides violating Google’s policies, the pattern is detectable. Respond to all of them, including negative ones, with a professional tone and without personal data.
Mistake 6: measuring only positions and not local conversions
An audit that ends with a keyword ranking is incomplete. In local businesses, most conversions happen by call, directions, or direct message, not by form. If you don’t measure those channels, you don’t know whether the audit was worth anything.
How to avoid it
- Set up call tracking from GBP and from the website (with specific numbers or click-to-call events).
- Use directions links with UTM parameters to know how many users request directions.
- Review in Search Console the queries with local intent (“near me,” “in [city]”) and compare them with pack impressions.
I acknowledge a limitation: local attribution is never perfect. Many users see the map, call from another device, or visit the store without a recorded digital interaction. Any report that promises exact attribution is selling smoke.
Mistake 7: neglecting consistency between the website and the Google listing
Google compares what the website says with what the listing says. If the website mentions a service that isn’t in GBP, or vice versa, relevance is diluted. It also happens with hours: the website says “open until 8:00 PM” and GBP says “6:00 PM.” That kind of discrepancy erodes trust and can affect the experience of the user who arrives expecting to find the place open.
How to avoid it
Maintain a single source of truth for hours, services, and NAP. If you use a CMS, update the structured fields and the visible text at the same time. Review seasonal changes (holidays, summer hours) on both sites the same day.
Mistake 8: not reviewing the mobile performance of the local site
Most local searches happen on mobile, often with an irregular connection. A site with 2 MB images on the contact page or with an embedded map that blocks rendering loses users before they call. In the audit, review Core Web Vitals on the service page and the contact page, not just on the homepage.
An important nuance
Core Web Vitals is an experience signal, not a determining local ranking factor on its own. A slow site can rank if its relevance and prominence are strong, but conversion suffers. The audit must separate what affects visibility from what affects conversion.
How to structure a local audit that actually works
Order matters. I propose a practical sequence that avoids wasting hours on the cosmetic:
- Business fundamentals: primary category, service area, canonical NAP, and hours.
- Website-listing consistency: services, address, phone, and schema.
- Local content: pages per location with differentiating elements and no duplication.
- Reviews: volume, freshness, responses, and anomalous patterns.
- Measurement: calls, directions, forms, and local queries in Search Console.
- Technical: mobile performance, indexing of local pages, and crawl errors.
In the end, the audit must answer a specific question: which three changes would have the most impact in the next four weeks? If the report doesn’t answer that, it’s a checklist, not an audit.
What a local audit cannot promise
No audit guarantees appearing in the map pack for a competitive keyword. The user’s distance from the business is a factor that can’t be controlled, and in large cities the pack changes depending on the searcher’s location. Nor is there a formula to “come out first”: prominence is built with reviews, citations, content, and time. Any provider that assures concrete results within a fixed timeframe is oversimplifying a reality that depends on third parties.
The audit serves to eliminate mistakes that hold you back, not to invent shortcuts. That is the mindset shift that separates a business that improves its local visibility from one that accumulates PDFs without executing anything.