SEO Freelancer Guru

Free local SEO and GBP audit

Check Google Business Profile signals, NAP consistency, and the local basics on your website. See what to fix first.
  • No signup
  • Free
  • 3 audits a day

Add a business name and city, a Place ID, or website details. With a Google Places key the tool compares profile signals to nearby results. Without it, you still get website and NAP checks.

Local search is still a proximity game with a profile and a website behind it. This audit scores the signals I can see for one location: public Google Business Profile fields when Places is configured, plus NAP and LocalBusiness checks on the site. It does not invent a Map Pack rank.

How to use the local SEO audit

Start with a business name and city, or paste a Place ID if you already have one. Add the website URL so the tool can compare name, phone, and address text against the profile. If you know the pack query you care about, add that too, for example plumber in Leeds.

With GOOGLE_PLACES_API_KEY set, the audit loads the matching place, pulls a few nearby competitors for the same style of query, and scores hours, website, phone, photos, rating, and review count against what those neighbours show. Without the key, you still get website and NAP work. That is not a second-class path. Many owners only need to see that the footer phone does not match the profile.

Read the verdict and the three fixes first. The full check list is there when you want proof for a client or a developer ticket. Three audits a day is enough to re-check after you edit the profile. Matching inputs are cached for a week so you are not burning Places quota on the same place.

What this audit checks

On the profile side it looks for an operational status, opening hours, a website link, a phone number, and whether photos are present. It compares review count and rating to a small competitor set when Places search works. It cannot see Insights, messaging quality, or whether your last post was last Tuesday.

On the website side it looks for LocalBusiness JSON-LD, a tel: link, and a map or address block. Then it normalises NAP strings so Street and St do not create a false fail, and flags real mismatches between profile, page content, and schema.

  • Business status and hours presence
  • Website and phone on the profile
  • Photo count signal from Places
  • Review count and rating versus nearby results
  • LocalBusiness schema on the site
  • Tap-to-call and address or map presence
  • NAP consistency across profile, site, and schema

How to read the score

The score is a weighted pass, warn, and fail mix on the checks that ran. An A means the visible basics look tidy. A C or worse usually means missing hours, a NAP fight, or a review gap versus the businesses showing next to you. The grade is a triage label, not a ranking forecast.

Competitor rows are a snapshot of who Places returned for that search, not a guarantee of who sits in the Map Pack for every user. Proximity still moves the pack. Use the table to see whether you are behind on reviews or photos in the same city fight.

NAP consistency without the drama

Pick one legal trading name, one phone format, and one address line order. Put that exact set in Google Business Profile, the contact page, the footer, and LocalBusiness schema. Abbreviate Street the same way everywhere or write it out the same way everywhere. Do not keep a tracking number on the site and a different number on the profile unless you accept the mismatch risk.

When the audit flags a phone mismatch, fix the source of truth first. If the profile is wrong, edit GBP. If the site is wrong, ship a content change. Re-run this tool after Google shows the update. Cached results may still show the old place for up to a week for the same input key.

Reviews, photos, and categories

Review count gaps are the most common honest finding. Closing them means asking after completed jobs with a direct review link, not inventing incentives. Pair this audit with the Google review link generator so the ask is one tap. Reply to new reviews in the profile. Photos should show the real premises and recent work, not only a logo.

Primary category mistakes still hurt relevance. Places will show types, but choosing the right primary category is still a human decision inside Business Profile. If competitors all use a tighter category than you do, note it and check the GBP category list before you change anything.

When to book deeper local work

Use this page for a first pass on one location. Multi-location rollouts, citation cleanups, service-area page architecture, and review velocity plans still need a proper local SEO engagement. If the score is fine and the pack is still weak, the gap is usually content relevance, link and brand prominence, or a competitor with stronger proximity to the searcher.

Citation cleanups still matter when directories show an old phone or a closed suite number. This audit will not crawl every directory. It tells you whether your own properties agree before you spend days on third-party listings.

Service pages should name the towns you actually cover and the jobs you actually take. Generic copy that could belong to any plumber in any city will not save a tidy GBP. Pair a clean profile with pages that answer the pack query in plain language.

If you run ads to the same location, keep the landing page NAP identical to the organic profile. Mixed numbers between paid and organic confuse call tracking and local relevance signals at the same time.

How I run a local pass on a real service business

I start with the pack query the business actually wants to win, not a vanity brand search. Plumber in Leeds beats Acme Plumbing when the goal is new jobs. I run this audit on the primary location first, then repeat for each shop with its own Place ID.

I fix NAP fights before I talk about posts or products. A wrong phone on the site teaches Google and customers two different stories. Schema that still shows the old suite number is the same class of bug. The normaliser in this tool catches Street versus St style noise so we do not waste a sprint on fake mismatches.

Review gaps get a process, not a campaign slogan. Staff send the review link after completed jobs. We print a QR for the van or the invoice. We do not filter for five-star customers. Velocity over twelve weeks matters more than a weekend spike.

Photo and hours gaps are quick wins inside Business Profile. I ask for real job photos with faces blurred when needed, not stock. Hours must match the door, including bank holidays when the phone goes to voicemail.

Website work sits next to the profile. A location page needs a clear service area, a tel link, an embed or address block, and LocalBusiness markup that matches the profile. Thin city pages with spun paragraphs fail both users and this audit.

Competitor tables are a conversation starter. If everyone nearby has four times the reviews, we plan ask volume. If everyone has better photos, we schedule a shoot. If the category set looks tighter on competitors, we review GBP categories with the owner before changing anything.

I re-run the audit after edits show on the live profile. Cached results may linger for a week on identical inputs, so a small query tweak or a later date helps when you need a fresh Places pull.

Multi-location brands should not share one Place ID across cities. Each audit is one pin. Franchisees who borrow a corporate listing confuse reviews and directions. Split before you scale citation work.

Service-area businesses without a storefront still need consistent NAP on the site and a profile that matches how Google shows them. Hide the address in GBP if that is the policy, but do not invent a storefront on the website.

When the score is already strong and the pack is weak, I look at proximity, on-page relevance, and brand prominence next. This tool will not invent a proximity score from your sofa. It tells you whether the basics are clean enough to justify deeper work.

Hand the three fixes to whoever can edit GBP and the CMS the same week. Split ownership is how local projects stall with a pretty PDF and no ship date.

I also check that the homepage does not fight the location page for the same city term. If both URLs target plumber in Leeds, the audit score can look fine while Search Console still shows a split. Fix the title and H1 jobs after the NAP pass.

When owners want a five-city rollout next month, I refuse to scale until one city is clean. Repeating a broken NAP pattern across five profiles only multiplies support work. This free audit is the gate before paid citation or page templates.

Questions about the local SEO audit

For full competitor comparison, yes, on the server. Without it, the tool still checks your website NAP, LocalBusiness schema, and tap-to-call signals when you provide website details.

Still unsure?

Book a consultation, $75, 30-60 minutes.

Need a full local SEO plan beyond one location check?